/* ============================================
   CSS Variables & Reset
   ============================================ */
:root {
    --primary-color: #1B2B5E;
    --primary-dark: #0D1B3E;
    --secondary-color: #C9A84C;
    --accent-color: #2563EB;
    --text-dark: #0D1B3E;
    --text-light: #64748B;
    --text-white: #ffffff;
    --bg-light: #F4F6FB;
    --bg-white: #ffffff;
    --bg-dark: #060C1A;
    --gold: #C9A84C;
    --gold-light: #E8C97A;
    --border-color: #E2E8F0;
    --glass-bg: rgba(255,255,255,0.08);
    --glass-border: rgba(255,255,255,0.18);
    --glass-bg-light: rgba(255,255,255,0.72);
    --glass-border-light: rgba(27,43,94,0.1);
    --shadow-sm: 0 2px 8px rgba(13,27,62,0.06);
    --shadow-md: 0 8px 32px rgba(13,27,62,0.1);
    --shadow-lg: 0 20px 60px rgba(13,27,62,0.15);
    --shadow-gold: 0 8px 32px rgba(201,168,76,0.25);
    --transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    --border-radius: 16px;
    --max-width: 1320px;
    --section-spacing: 120px;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.6;
    color: var(--text-dark);
    background: var(--bg-white);
    font-weight: 400;
    font-size: 16px;
    letter-spacing: -0.01em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
    max-width: 100vw;
}

h1, h2 {
    font-family: 'Playfair Display', serif;
}

.container {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 40px;
    position: relative;
    z-index: 1;
}

@media (max-width: 768px) {
    .container {
        padding: 0 20px;
    }
}
@media (max-width: 480px) {
    .container {
        padding: 0 16px;
    }
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    text-decoration: none;
    color: inherit;
    transition: var(--transition);
}

/* ============================================
   SPLASH SCREEN
   ============================================ */
.splash-screen {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #04080F;
    transition: opacity 0.9s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.9s;
    overflow: hidden;
}
.splash-screen.splash-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
/* Radial gold glow background */
.splash-bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 70% 50% at 50% 50%, rgba(201,168,76,0.1) 0%, transparent 70%),
        radial-gradient(ellipse 100% 60% at 50% 100%, rgba(13,27,62,0.8) 0%, transparent 60%);
    animation: splashBgPulse 4s ease-in-out infinite;
}
@keyframes splashBgPulse {
    0%, 100% { opacity: 0.8; }
    50% { opacity: 1; }
}
/* Light rays */
.splash-rays {
    position: absolute;
    inset: -50%;
    width: 200%;
    height: 200%;
    background: conic-gradient(
        from 0deg at 50% 50%,
        transparent 0deg, rgba(201,168,76,0.04) 15deg, transparent 30deg,
        transparent 60deg, rgba(201,168,76,0.03) 75deg, transparent 90deg,
        transparent 120deg, rgba(201,168,76,0.04) 135deg, transparent 150deg,
        transparent 180deg, rgba(201,168,76,0.03) 195deg, transparent 210deg,
        transparent 240deg, rgba(201,168,76,0.04) 255deg, transparent 270deg,
        transparent 300deg, rgba(201,168,76,0.03) 315deg, transparent 330deg,
        transparent 360deg
    );
    animation: raysRotate 25s linear infinite;
}
@keyframes raysRotate {
    to { transform: rotate(360deg); }
}
/* Floating particles */
.splash-particles {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.splash-particles span {
    position: absolute;
    border-radius: 50%;
    background: radial-gradient(circle, #E8C97A, #C9A84C);
    animation: splashFloat 4s ease-in-out infinite;
}
.splash-particles span:nth-child(1)  { width:3px;height:3px; top:8%;  left:15%; animation-delay:0s;    animation-duration:3.5s; }
.splash-particles span:nth-child(2)  { width:2px;height:2px; top:20%; left:85%; animation-delay:0.5s;  animation-duration:4s;   }
.splash-particles span:nth-child(3)  { width:4px;height:4px; top:75%; left:10%; animation-delay:1s;    animation-duration:5s;   }
.splash-particles span:nth-child(4)  { width:2px;height:2px; top:85%; left:75%; animation-delay:1.5s;  animation-duration:3.8s; }
.splash-particles span:nth-child(5)  { width:3px;height:3px; top:45%; left:92%; animation-delay:0.3s;  animation-duration:4.2s; }
.splash-particles span:nth-child(6)  { width:2px;height:2px; top:30%; left:5%;  animation-delay:2s;    animation-duration:3.6s; }
.splash-particles span:nth-child(7)  { width:3px;height:3px; top:60%; left:55%; animation-delay:0.8s;  animation-duration:4.5s; }
.splash-particles span:nth-child(8)  { width:2px;height:2px; top:12%; left:50%; animation-delay:1.2s;  animation-duration:3.9s; }
.splash-particles span:nth-child(9)  { width:4px;height:4px; top:90%; left:40%; animation-delay:0.6s;  animation-duration:4.8s; }
.splash-particles span:nth-child(10) { width:2px;height:2px; top:55%; left:25%; animation-delay:1.8s;  animation-duration:3.4s; }
.splash-particles span:nth-child(11) { width:3px;height:3px; top:35%; left:70%; animation-delay:2.2s;  animation-duration:4.1s; }
.splash-particles span:nth-child(12) { width:2px;height:2px; top:70%; left:88%; animation-delay:0.9s;  animation-duration:5.2s; }
.splash-particles span:nth-child(13) { width:3px;height:3px; top:5%;  left:35%; animation-delay:1.4s;  animation-duration:3.7s; }
.splash-particles span:nth-child(14) { width:2px;height:2px; top:48%; left:3%;  animation-delay:2.5s;  animation-duration:4.4s; }
.splash-particles span:nth-child(15) { width:4px;height:4px; top:22%; left:62%; animation-delay:0.1s;  animation-duration:5.5s; }
@keyframes splashFloat {
    0%,100% { opacity:0.2; transform:translateY(0) scale(1); }
    33%  { opacity:1;   transform:translateY(-18px) scale(1.4); }
    66%  { opacity:0.6; transform:translateY(-8px) scale(0.9); }
}
/* Main content */
.splash-content {
    position: relative;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 28px;
    animation: splashContentIn 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes splashContentIn {
    from { opacity:0; transform:scale(0.9) translateY(20px); }
    to   { opacity:1; transform:scale(1) translateY(0); }
}
/* Logo wrapper */
.splash-logo-wrap {
    position: relative;
    width: 240px;
    height: 240px;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* The main SVG */
.splash-svg {
    width: 190px;
    height: 190px;
    position: relative;
    z-index: 3;
    filter: drop-shadow(0 0 20px rgba(201,168,76,0.5)) drop-shadow(0 0 60px rgba(201,168,76,0.2));
    animation: splashSvgGlow 3s ease-in-out infinite;
}
@keyframes splashSvgGlow {
    0%,100% { filter: drop-shadow(0 0 20px rgba(201,168,76,0.5)) drop-shadow(0 0 60px rgba(201,168,76,0.2)); }
    50%      { filter: drop-shadow(0 0 35px rgba(201,168,76,0.8)) drop-shadow(0 0 100px rgba(201,168,76,0.35)); }
}
/* Circle drawing animation */
.s-draw-outer {
    stroke-dasharray: 578;
    stroke-dashoffset: 578;
    animation: drawStroke 1.6s cubic-bezier(0.4, 0, 0.2, 1) 0.2s forwards;
}
.s-draw-inner {
    stroke-dasharray: 503;
    stroke-dashoffset: 503;
    animation: drawStroke 1.6s cubic-bezier(0.4, 0, 0.2, 1) 0.4s forwards;
}
.s-draw-diamond {
    stroke-dasharray: 760;
    stroke-dashoffset: 760;
    animation: drawStroke 1.4s cubic-bezier(0.4, 0, 0.2, 1) 0.1s forwards;
}
.s-scales {
    opacity: 0;
    animation: scalesReveal 0.6s ease-out 1.2s forwards;
}
@keyframes drawStroke {
    to { stroke-dashoffset: 0; }
}
@keyframes scalesReveal {
    from { opacity:0; transform: scale(0.95); }
    to   { opacity:1; transform: scale(1); }
}
/* Rotating decorative rings */
.splash-ring-rotate {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 1px dashed rgba(201,168,76,0.2);
    animation: ringRotate 12s linear infinite;
}
.splash-ring-rotate-2 {
    position: absolute;
    inset: -16px;
    border-radius: 50%;
    border: 1px solid transparent;
    border-top-color: rgba(201,168,76,0.5);
    border-right-color: rgba(201,168,76,0.2);
    animation: ringRotate 8s linear infinite reverse;
}
.splash-ring-static {
    position: absolute;
    inset: -30px;
    border-radius: 50%;
    border: 0.5px solid rgba(201,168,76,0.1);
}
@keyframes ringRotate {
    to { transform: rotate(360deg); }
}
/* Text block */
.splash-text-block {
    text-align: center;
    animation: splashTextIn 0.8s ease-out 0.6s both;
}
@keyframes splashTextIn {
    from { opacity:0; transform:translateY(16px); }
    to   { opacity:1; transform:translateY(0); }
}
.splash-title {
    font-family: 'Playfair Display', serif;
    font-size: 2.6rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: 0.04em;
    margin: 0 0 14px;
    text-shadow: 0 0 40px rgba(201,168,76,0.4);
}
.splash-divider-line {
    width: 220px;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #C9A84C 30%, #E8C97A 50%, #C9A84C 70%, transparent 100%);
    margin: 0 auto 14px;
    animation: dividerExpand 0.8s ease-out 1s both;
}
@keyframes dividerExpand {
    from { width: 0; opacity:0; }
    to   { width: 220px; opacity:1; }
}
.splash-tagline {
    font-family: 'Inter', sans-serif;
    font-size: 0.78rem;
    font-weight: 600;
    color: #C9A84C;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    margin: 0;
}
/* Loader bar */
.splash-loader {
    width: 200px;
    height: 1.5px;
    background: rgba(255,255,255,0.08);
    border-radius: 2px;
    overflow: hidden;
    animation: splashTextIn 0.5s ease-out 0.8s both;
}
.splash-loader-bar {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, #9A7B2E, #C9A84C, #E8C97A, #C9A84C);
    background-size: 200%;
    border-radius: 2px;
    animation: splashLoad 2.2s cubic-bezier(0.4, 0, 0.2, 1) forwards, shimmerBar 1.5s linear 0.5s infinite;
}
@keyframes splashLoad {
    0%   { width: 0%; }
    20%  { width: 30%; }
    50%  { width: 65%; }
    80%  { width: 88%; }
    100% { width: 100%; }
}
@keyframes shimmerBar {
    0%   { background-position: 200% center; }
    100% { background-position: -200% center; }
}

/* ============================================
   Navigation
   ============================================ */
.navbar {
    background: rgba(5, 5, 5, 0.88);
    backdrop-filter: blur(28px) saturate(200%) brightness(1.1);
    -webkit-backdrop-filter: blur(28px) saturate(200%) brightness(1.1);
    border-bottom: 1px solid rgba(255,255,255,0.10);
    position: sticky;
    top: 0;
    z-index: 1000;
    padding: 20px 0;
    box-shadow: 0 4px 32px rgba(0,0,0,0.25), inset 0 1px 0 rgba(255,255,255,0.12);
    transition: all 0.3s ease;
}

.navbar::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.35), rgba(201,168,76,0.4), rgba(255,255,255,0.35), transparent);
    pointer-events: none;
}

.navbar.scrolled {
    background: rgba(0, 0, 0, 0.95);
    padding: 16px 0;
    box-shadow: 0 4px 40px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.10);
}

.navbar.scrolled::before {
    display: block;
}

.nav-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo a {
    display: flex;
    align-items: center;
    gap: 12px;
}

.logo-icon {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    filter: drop-shadow(0 2px 8px rgba(201,168,76,0.3));
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.logo a:hover .logo-icon {
    transform: scale(1.08) translateY(-1px);
    filter: drop-shadow(0 4px 16px rgba(201,168,76,0.5));
}

.logo-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.logo-title {
    font-size: 1.25rem;
    color: #ffffff;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.2;
    text-shadow: 0 1px 6px rgba(0,0,0,0.4);
}

.logo-tagline {
    font-size: 0.7rem;
    color: var(--gold);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.nav-links {
    display: flex;
    align-items: center;
    gap: 1.8rem;
}

.nav-links a {
    color: rgba(255,255,255,0.88);
    font-weight: 500;
    font-size: 0.95rem;
    position: relative;
    text-shadow: 0 1px 4px rgba(0,0,0,0.3);
}

.nav-links a:hover {
    color: var(--gold);
}

.nav-links a::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--gold);
    transition: width 0.3s ease;
}

.nav-links a:hover::after {
    width: 100%;
}

.nav-links a.active {
    color: var(--gold);
    font-weight: 600;
}

.nav-links a.active::after {
    width: 100%;
    background: var(--gold);
}

.language-switcher {
    display: flex;
    gap: 0.5rem;
    margin-left: 1rem;
    border-left: 1px solid var(--border-color);
    padding-left: 1rem;
}

.lang-btn {
    padding: 0.4rem 0.8rem;
    border: 1px solid rgba(255,255,255,0.2);
    background-color: rgba(255,255,255,0.08);
    color: rgba(255,255,255,0.85);
    cursor: pointer;
    border-radius: 6px;
    font-weight: 600;
    font-size: 0.85rem;
    transition: var(--transition);
}

.lang-btn:hover {
    background-color: rgba(255,255,255,0.15);
    border-color: var(--gold);
    color: #fff;
}

.lang-btn.active {
    background: linear-gradient(135deg, var(--gold), var(--gold-light));
    color: #0a0a0a;
    border-color: var(--gold);
    font-weight: 600;
}

.mobile-menu-toggle {
    display: none;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
}

.mobile-menu-toggle span {
    width: 25px;
    height: 3px;
    background-color: rgba(255,255,255,0.9);
    transition: var(--transition);
    border-radius: 2px;
}

/* ============================================
   Hero Section
   ============================================ */
.hero {
    position: relative;
    background: linear-gradient(135deg, var(--bg-dark) 0%, var(--primary-dark) 100%);
    color: var(--text-white);
    padding: 8rem 0 7rem;
    overflow: hidden;
    min-height: 680px;
    display: flex;
    align-items: center;
}

.hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background:
        radial-gradient(ellipse 60% 70% at 20% 50%, rgba(201,168,76,0.10) 0%, transparent 60%),
        radial-gradient(ellipse 50% 60% at 80% 30%, rgba(37,99,235,0.08) 0%, transparent 50%);
    pointer-events: none;
    z-index: 1;
}

.hero::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 200px;
    background: linear-gradient(to top, rgba(255,255,255,0.04), transparent);
    pointer-events: none;
    z-index: 1;
}

/* Video Background */
.hero-video-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 0;
}

.hero-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    opacity: 1;
    filter: brightness(0.75) contrast(1.1) saturate(0.85);
    transform: scale(1.05);
    animation: videoZoom 22s ease-in-out infinite alternate;
}

@keyframes videoZoom {
    0% { transform: scale(1.05); }
    100% { transform: scale(1.13); }
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(6,12,26,0.88) 0%, rgba(13,27,62,0.78) 100%);
    z-index: 1;
}

.hero-overlay::before {
    display: none;
}

.hero-overlay::after {
    display: none;
}

.hero-content {
    position: relative;
    z-index: 2;
    max-width: 760px;
    text-align: center;
    margin: 0 auto;
}

.hero-title {
    font-family: 'Playfair Display', serif;
    font-size: 5rem;
    font-weight: 800;
    margin-bottom: 28px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: var(--text-white);
    text-shadow: 0 4px 32px rgba(0,0,0,0.45), 0 0 80px rgba(201,168,76,0.15);
    animation: heroTitleEntry 0.9s ease-out;
}

.hero-title::after {
    content: '';
    display: block;
    width: 80px;
    height: 3px;
    background: linear-gradient(90deg, var(--gold), var(--gold-light));
    margin: 20px auto 0;
    border-radius: 2px;
    box-shadow: 0 0 16px rgba(201,168,76,0.5);
}

@keyframes heroTitleEntry {
    0% { opacity: 0; transform: translateY(40px); }
    100% { opacity: 1; transform: translateY(0); }
}

.hero-subtitle {
    font-size: 1.2rem;
    margin-bottom: 44px;
    opacity: 0.92;
    font-weight: 400;
    line-height: 1.7;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    text-shadow: 0 2px 8px rgba(0,0,0,0.3);
    color: rgba(255,255,255,0.92);
    animation: heroSubtitleEntry 0.9s ease-out 0.18s backwards;
}

@keyframes heroSubtitleEntry {
    0% { opacity: 0; transform: translateY(24px); }
    100% { opacity: 0.92; transform: translateY(0); }
}

.hero-cta {
    display: flex;
    gap: 1.2rem;
    justify-content: center;
    flex-wrap: wrap;
    animation: heroCTAEntry 0.9s ease-out 0.36s backwards;
}

@keyframes heroCTAEntry {
    0% { opacity: 0; transform: translateY(18px); }
    100% { opacity: 1; transform: translateY(0); }
}

/* ============================================
   Buttons
   ============================================ */
.btn {
    display: inline-block;
    padding: 16px 36px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 0.85rem;
    cursor: pointer;
    transition: var(--transition);
    border: 2px solid transparent;
    text-align: center;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    position: relative;
    overflow: hidden;
}

.btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
    transition: left 0.45s ease;
}

.btn:hover::before {
    left: 100%;
}

.btn-primary {
    background: linear-gradient(135deg, #C9A84C 0%, #E8C97A 50%, #C9A84C 100%);
    background-size: 200%;
    color: #0D1B3E;
    border: none;
    box-shadow: 0 8px 32px rgba(201,168,76,0.35);
}

.btn-primary:hover {
    background-position: right center;
    box-shadow: 0 16px 48px rgba(201,168,76,0.5);
    transform: translateY(-2px);
    color: #0D1B3E;
}

.btn-secondary {
    background-color: transparent;
    color: var(--text-white);
    border: 2px solid rgba(255,255,255,0.5);
}

.btn-secondary:hover {
    background-color: rgba(255,255,255,0.12);
    border-color: rgba(255,255,255,0.85);
    transform: translateY(-2px);
}

/* ============================================
   Section Header (Reusable)
   ============================================ */
.section-header {
    text-align: center;
    margin-bottom: 4rem;
    position: relative;
    z-index: 10;
}

.section-header h2 {
    font-family: 'Playfair Display', serif;
    font-size: 3rem;
    color: var(--primary-color);
    margin-bottom: 20px;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.1;
    position: relative;
    display: inline-block;
}

.section-header h2::before {
    display: none;
}

.section-header h2::after {
    content: '';
    position: absolute;
    bottom: -14px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: linear-gradient(90deg, var(--gold), var(--gold-light), var(--gold));
    border-radius: 2px;
}

.section-header h2:hover {
    color: var(--primary-dark);
}

.section-header p {
    font-size: 1.1rem;
    color: var(--text-light);
    max-width: 620px;
    margin: 0 auto;
    line-height: 1.7;
    padding-top: 12px;
}

/* ============================================
   Introduction Section
   ============================================ */
.intro-section {
    padding: 100px 0;
    background: var(--bg-light);
    position: relative;
    overflow: hidden;
}

.intro-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(201,168,76,0.3), transparent);
}

.intro-content {
    max-width: 900px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.intro-content h2 {
    font-family: 'Playfair Display', serif;
    font-size: 2.2rem;
    color: var(--primary-color);
    margin-bottom: 1.8rem;
    font-weight: 700;
    text-align: center;
}

.intro-content p {
    font-size: 1.05rem;
    color: var(--text-dark);
    line-height: 1.9;
    margin-bottom: 1.4rem;
}

.intro-content p:last-child {
    margin-bottom: 0;
}

/* ============================================
   Services Overview (Home Page)
   ============================================ */
.services-overview {
    padding: var(--section-spacing) 0;
    background: var(--bg-light);
    position: relative;
    overflow: visible;
}

.services-overview::before {
    display: none;
}

.services-overview::after {
    display: none;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2rem;
    position: relative;
    z-index: 2;
}

.services-grid::before {
    display: none;
}

.services-grid::after {
    display: none;
}

/* Glass Shine Effect */
.service-card,
.step-card,
.benefit-card,
.team-member {
    position: relative;
    overflow: hidden;
}

.service-card::before,
.step-card::before,
.benefit-card::before,
.team-member::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        105deg,
        transparent 20%,
        rgba(255,255,255,0.08) 40%,
        rgba(255,255,255,0.25) 50%,
        rgba(255,255,255,0.08) 60%,
        transparent 80%
    );
    transform: skewX(-15deg);
    transition: left 0.7s ease;
    z-index: 2;
    pointer-events: none;
}

.service-card:hover::before,
.step-card:hover::before,
.benefit-card:hover::before,
.team-member:hover::before {
    left: 150%;
}

.service-card {
    background: linear-gradient(145deg, rgba(255,255,255,0.85) 0%, rgba(244,246,251,0.9) 100%);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255,255,255,0.9);
    border-top: 1px solid rgba(255,255,255,1);
    border-left: 1px solid rgba(255,255,255,1);
    box-shadow: 0 8px 32px rgba(13,27,62,0.08), inset 0 1px 0 rgba(255,255,255,1);
    border-radius: 20px;
    padding: 44px 36px;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.service-card::after {
    display: none;
}

.service-card:hover {
    transform: translateY(-10px) scale(1.01);
    box-shadow: 0 32px 80px rgba(13,27,62,0.18), 0 0 0 1px rgba(201,168,76,0.4), inset 0 1px 0 rgba(255,255,255,1);
    border-color: rgba(201,168,76,0.4);
    background: linear-gradient(145deg, rgba(255,255,255,0.95) 0%, rgba(255,248,230,0.9) 100%);
}

.service-icon {
    margin-bottom: 1.8rem;
}

.service-icon svg {
    width: 64px;
    height: 64px;
    padding: 15px;
    background: linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 100%);
    border-radius: 16px;
    stroke: var(--primary-dark);
    box-shadow: 0 8px 24px rgba(201,168,76,0.35);
    transition: var(--transition);
}

.service-card:hover .service-icon svg {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 14px 36px rgba(201,168,76,0.45);
}

.service-card h3 {
    font-size: 1.35rem;
    color: var(--primary-color);
    margin-bottom: 1rem;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.service-card:hover h3 {
    color: var(--primary-dark);
}

.service-card p {
    color: var(--text-light);
    line-height: 1.7;
    margin-bottom: 1.4rem;
    font-size: 0.97rem;
}

.service-link {
    display: inline-block;
    margin-top: 0.5rem;
    color: var(--gold);
    font-weight: 700;
    font-size: 0.9rem;
    letter-spacing: 0.02em;
    transition: var(--transition);
}

.service-link:hover {
    color: var(--primary-color);
    transform: translateX(5px);
}

/* Override cyber-themed nth-child styles */
.service-card:nth-child(5),
.service-card:nth-child(6) {
    border: 1px solid rgba(255,255,255,0.9);
}

.service-card:nth-child(5):hover,
.service-card:nth-child(6):hover {
    border-color: rgba(201,168,76,0.4);
    box-shadow: 0 32px 80px rgba(13,27,62,0.18), 0 0 0 1px rgba(201,168,76,0.4);
}

.service-card:nth-child(5) .service-icon svg,
.service-card:nth-child(6) .service-icon svg {
    background: linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 100%);
}

/* ============================================
   Steps Section
   ============================================ */
.steps-section {
    padding: var(--section-spacing) 0;
    background: var(--bg-white);
    position: relative;
    overflow: hidden;
}

.steps-section::after {
    display: none;
}

.steps-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
}

.step-card {
    background: linear-gradient(145deg, rgba(255,255,255,0.9) 0%, rgba(244,246,251,0.95) 100%);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    padding: 48px 32px;
    border-radius: 20px;
    box-shadow: 0 8px 32px rgba(13,27,62,0.08), inset 0 1px 0 rgba(255,255,255,0.9);
    text-align: center;
    transition: var(--transition);
    border: 1px solid rgba(255,255,255,0.9);
}

.step-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 24px 60px rgba(13,27,62,0.15), 0 0 0 1px rgba(201,168,76,0.35);
    border-color: rgba(201,168,76,0.35);
}

.step-number {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 100%);
    color: var(--primary-dark);
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.2rem;
    font-weight: 800;
    margin: 0 auto 28px;
    box-shadow: 0 8px 28px rgba(201,168,76,0.35);
    transition: var(--transition);
    font-family: 'Playfair Display', serif;
}

.step-card:hover .step-number {
    transform: scale(1.1) translateY(-2px);
    box-shadow: 0 14px 40px rgba(201,168,76,0.45);
}

.step-card h3 {
    font-size: 1.3rem;
    color: var(--primary-color);
    margin-bottom: 1rem;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.step-card p {
    color: var(--text-light);
    line-height: 1.7;
    font-size: 0.95rem;
}

/* ============================================
   Stats Banner
   ============================================ */
.stats-banner {
    background: linear-gradient(135deg, #0D1B3E 0%, #1B2B5E 50%, #0D1B3E 100%);
    padding: 80px 0;
    position: relative;
    overflow: hidden;
}

.stats-banner::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 40% 80% at 0% 50%, rgba(201,168,76,0.12) 0%, transparent 60%),
        radial-gradient(ellipse 40% 80% at 100% 50%, rgba(201,168,76,0.08) 0%, transparent 60%);
    pointer-events: none;
}

.stats-banner::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(201,168,76,0.6), transparent);
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    position: relative;
    z-index: 1;
}

@media (max-width: 768px) {
    .stats-grid { grid-template-columns: repeat(2, 1fr); }
}

.stat-item {
    text-align: center;
    padding: 32px 16px;
    background: rgba(255,255,255,0.04);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(201,168,76,0.2);
    border-radius: 16px;
    transition: all 0.4s ease;
    position: relative;
    overflow: hidden;
}

.stat-item::before {
    content: '';
    position: absolute;
    top: 0; left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(105deg, transparent 20%, rgba(255,255,255,0.06) 50%, transparent 80%);
    transform: skewX(-15deg);
    transition: left 0.7s ease;
}

.stat-item:hover::before { left: 150%; }

.stat-item:hover {
    background: rgba(201,168,76,0.08);
    border-color: rgba(201,168,76,0.5);
    transform: translateY(-4px);
    box-shadow: 0 16px 48px rgba(201,168,76,0.15);
}

.stat-number {
    font-family: 'Playfair Display', serif;
    font-size: 3.5rem;
    font-weight: 800;
    background: linear-gradient(135deg, #E8C97A 0%, #C9A84C 50%, #E8C97A 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1;
    margin-bottom: 12px;
    text-shadow: none;
}

.stat-label {
    font-size: 0.9rem;
    color: rgba(255,255,255,0.7);
    font-weight: 500;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

/* ============================================
   Benefits Section
   ============================================ */
.benefits-section {
    padding: var(--section-spacing) 0;
    background-color: var(--bg-light);
    position: relative;
    overflow: hidden;
}

.benefits-section::before {
    display: none;
}

.benefits-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2.5rem;
    position: relative;
    z-index: 2;
}

.benefit-card {
    text-align: center;
    padding: 44px 28px;
    background: linear-gradient(145deg, rgba(255,255,255,0.88) 0%, rgba(244,246,251,0.92) 100%);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255,255,255,0.9);
    border-radius: 20px;
    box-shadow: 0 8px 32px rgba(13,27,62,0.08), inset 0 1px 0 rgba(255,255,255,0.9);
    transition: var(--transition);
}

.benefit-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 28px 70px rgba(13,27,62,0.15), 0 0 0 1px rgba(201,168,76,0.35);
    border-color: rgba(201,168,76,0.35);
    background: linear-gradient(145deg, rgba(255,255,255,0.95) 0%, rgba(255,248,230,0.88) 100%);
}

.benefit-icon {
    margin-bottom: 1.8rem;
    display: flex;
    justify-content: center;
}

.benefit-icon svg {
    width: 64px;
    height: 64px;
    padding: 15px;
    background: linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 100%);
    border-radius: 16px;
    stroke: var(--primary-dark);
    box-shadow: 0 8px 24px rgba(201,168,76,0.35);
    transition: var(--transition);
}

.benefit-card:hover .benefit-icon svg {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 14px 36px rgba(201,168,76,0.45);
}

.benefit-card h3 {
    font-size: 1.25rem;
    color: var(--primary-color);
    margin-bottom: 0.9rem;
    font-weight: 700;
}

.benefit-card:hover h3 {
    color: var(--primary-dark);
}

.benefit-card p {
    color: var(--text-light);
    line-height: 1.7;
    font-size: 0.97rem;
}

/* ============================================
   Domestic & International Sections
   ============================================ */
.domestic-section,
.international-section {
    padding: var(--section-spacing) 0;
}

.domestic-section {
    background-color: var(--bg-white);
}

.international-section {
    background-color: var(--bg-light);
}

.content-layout {
    max-width: 900px;
    margin: 0 auto;
}

.main-content h2 {
    font-family: 'Playfair Display', serif;
    font-size: 2.2rem;
    color: var(--primary-color);
    margin-bottom: 1.5rem;
    font-weight: 700;
}

.main-content h3 {
    font-size: 1.7rem;
    color: var(--text-dark);
    margin: 2.5rem 0 1.2rem;
    font-weight: 600;
}

.main-content p {
    font-size: 1.05rem;
    color: var(--text-dark);
    line-height: 1.9;
    margin-bottom: 1.5rem;
}

/* ============================================
   Accordion
   ============================================ */
.accordion {
    margin: 2rem 0;
}

.accordion-item {
    background: rgba(255,255,255,0.85);
    backdrop-filter: blur(12px);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    margin-bottom: 1rem;
    overflow: hidden;
    transition: var(--transition);
    box-shadow: var(--shadow-sm);
}

.accordion-item:hover {
    box-shadow: var(--shadow-md);
    border-color: rgba(201,168,76,0.35);
}

.accordion-header {
    padding: 1.5rem 2rem;
    background-color: var(--bg-light);
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: var(--transition);
    user-select: none;
}

.accordion-header:hover {
    background-color: #edf0f7;
}

.accordion-header h4 {
    font-size: 1.1rem;
    color: var(--primary-color);
    font-weight: 600;
    margin: 0;
}

.accordion-icon {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--gold);
    transition: transform 0.3s ease;
}

.accordion-item.active .accordion-icon {
    transform: rotate(45deg);
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.4s ease;
    padding: 0 2rem;
}

.accordion-item.active .accordion-content {
    max-height: 1000px;
    padding: 1.5rem 2rem;
}

.accordion-content p {
    margin-bottom: 1.2rem;
    color: var(--text-dark);
    line-height: 1.8;
}

.accordion-content ul {
    list-style: none;
    padding-left: 0;
}

.accordion-content ul li {
    padding-left: 1.5rem;
    position: relative;
    margin-bottom: 0.8rem;
    color: var(--text-dark);
    line-height: 1.6;
}

.accordion-content ul li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: var(--gold);
    font-weight: 700;
    font-size: 1.2rem;
}

/* ============================================
   Tools List (International Section)
   ============================================ */
.tools-list {
    display: grid;
    gap: 1.5rem;
    margin: 2rem 0;
}

.tool-item {
    background: rgba(255,255,255,0.88);
    backdrop-filter: blur(10px);
    padding: 1.8rem;
    border-radius: var(--border-radius);
    border-left: 4px solid var(--gold);
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
}

.tool-item:hover {
    transform: translateX(6px);
    box-shadow: var(--shadow-md);
}

.tool-item h4 {
    font-size: 1.15rem;
    color: var(--primary-color);
    margin-bottom: 0.8rem;
    font-weight: 600;
}

.tool-item p {
    color: var(--text-dark);
    line-height: 1.75;
    margin: 0;
}

/* ============================================
   Team Section
   ============================================ */
.team-section {
    padding: var(--section-spacing) 0;
    background: var(--bg-light);
}

.team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: 2.5rem;
}

.team-member {
    background: linear-gradient(145deg, rgba(255,255,255,0.9) 0%, rgba(244,246,251,0.92) 100%);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 8px 32px rgba(13,27,62,0.08), inset 0 1px 0 rgba(255,255,255,0.9);
    transition: var(--transition);
    border: 1px solid rgba(255,255,255,0.9);
}

.team-member:hover {
    transform: translateY(-8px);
    box-shadow: 0 28px 70px rgba(13,27,62,0.16), 0 0 0 1px rgba(201,168,76,0.4);
    border-color: rgba(201,168,76,0.4);
}

.member-photo {
    width: 100%;
    height: 520px;
    overflow: hidden;
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);
    position: relative;
}

.member-photo::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent 60%, rgba(13,27,62,0.3) 100%);
    opacity: 0;
    transition: var(--transition);
    pointer-events: none;
}

.team-member:hover .member-photo::after {
    opacity: 1;
}

.member-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: var(--transition);
}

.team-member:hover .member-photo img {
    transform: scale(1.04);
}

.member-photo img.photo-top {
    object-position: top;
}

.member-info {
    padding: 2.2rem 2rem;
}

.member-info h3 {
    font-size: 1.5rem;
    color: var(--primary-color);
    margin-bottom: 0.4rem;
    font-weight: 700;
    font-family: 'Playfair Display', serif;
}

.member-role {
    font-size: 0.85rem;
    color: var(--gold);
    font-weight: 700;
    margin-bottom: 0.4rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.member-location {
    font-size: 0.93rem;
    color: var(--text-light);
    margin-bottom: 1.5rem;
}

.member-specializations,
.member-languages {
    margin-bottom: 1.4rem;
}

.member-specializations h4,
.member-languages h4 {
    font-size: 0.9rem;
    color: var(--text-dark);
    font-weight: 700;
    margin-bottom: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.member-specializations ul {
    list-style: none;
    padding: 0;
}

.member-specializations ul li {
    padding-left: 1.2rem;
    position: relative;
    margin-bottom: 0.5rem;
    color: var(--text-dark);
    font-size: 0.93rem;
}

.member-specializations ul li::before {
    content: '→';
    position: absolute;
    left: 0;
    color: var(--gold);
    font-weight: 700;
}

.member-languages p {
    color: var(--text-dark);
    line-height: 1.6;
    font-size: 0.93rem;
}

.member-experience {
    margin-top: 1.5rem;
}

.member-experience h4 {
    font-size: 0.9rem;
    color: var(--text-dark);
    font-weight: 700;
    margin-bottom: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.member-experience p {
    color: var(--text-dark);
    line-height: 1.75;
    font-size: 0.93rem;
}

/* ============================================
   Contact Section
   ============================================ */
.contact-section {
    padding: var(--section-spacing) 0;
    background-color: var(--bg-light);
}

.contact-wrapper {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 4rem;
    align-items: start;
}

.contact-info h2 {
    font-family: 'Playfair Display', serif;
    font-size: 2.1rem;
    color: var(--text-dark);
    margin-bottom: 1rem;
    font-weight: 700;
}

.contact-info > p {
    color: var(--text-light);
    margin-bottom: 2.5rem;
    line-height: 1.8;
    font-size: 1.04rem;
}

.contact-details {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.contact-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    color: var(--text-dark);
}

.contact-item svg {
    color: var(--gold);
    flex-shrink: 0;
    stroke: var(--gold);
}

.contact-item div {
    display: flex;
    flex-direction: column;
}

.contact-item strong {
    font-weight: 600;
    margin-bottom: 0.3rem;
}

.contact-form-wrapper {
    background: linear-gradient(145deg, rgba(255,255,255,0.92) 0%, rgba(244,246,251,0.95) 100%);
    backdrop-filter: blur(16px);
    padding: 2.8rem;
    border-radius: 20px;
    box-shadow: 0 8px 40px rgba(13,27,62,0.10), inset 0 1px 0 rgba(255,255,255,0.9);
    border: 1px solid rgba(255,255,255,0.9);
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.form-group {
    display: flex;
    flex-direction: column;
}

.form-group label {
    margin-bottom: 0.5rem;
    color: var(--text-dark);
    font-weight: 600;
    font-size: 0.93rem;
}

.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    padding: 0.9rem 1rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    font-size: 1rem;
    font-family: inherit;
    transition: var(--transition);
    background: var(--bg-white);
    color: var(--text-dark);
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: var(--gold);
    box-shadow: 0 0 0 3px rgba(201,168,76,0.14);
}

.form-group textarea {
    resize: vertical;
    min-height: 120px;
}

.checkbox-group label {
    flex-direction: row;
    align-items: flex-start;
    gap: 0.6rem;
    cursor: pointer;
    font-weight: 400;
}

.checkbox-group input[type="checkbox"] {
    width: auto;
    cursor: pointer;
    margin-top: 0.3rem;
}

.contact-form .btn {
    width: 100%;
    margin-top: 1rem;
}

/* ============================================
   CTA Section
   ============================================ */
.cta-section {
    background: #060C1A;
    color: var(--text-white);
    padding: var(--section-spacing) 0;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.cta-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 60% 80% at 50% 0%, rgba(201,168,76,0.12) 0%, transparent 55%),
        radial-gradient(ellipse 40% 60% at 0% 100%, rgba(27,43,94,0.4) 0%, transparent 50%),
        radial-gradient(ellipse 40% 60% at 100% 100%, rgba(27,43,94,0.4) 0%, transparent 50%);
    pointer-events: none;
}

.cta-section::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(201,168,76,0.5), transparent);
}

.cta-content {
    position: relative;
    z-index: 1;
    background: rgba(255,255,255,0.04);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(201,168,76,0.15);
    border-radius: 24px;
    padding: 60px 48px;
    max-width: 800px;
    margin: 0 auto;
    box-shadow: 0 32px 80px rgba(0,0,0,0.3);
}

.cta-content h2 {
    font-family: 'Playfair Display', serif;
    font-size: 2.6rem;
    font-weight: 800;
    margin-bottom: 1rem;
    letter-spacing: -0.02em;
    color: #fff;
}

.cta-content p {
    font-size: 1.1rem;
    margin-bottom: 2.4rem;
    opacity: 0.85;
    color: rgba(255,255,255,0.85);
}

.cta-buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

.cta-section .btn-secondary {
    background-color: transparent;
    color: var(--text-white);
    border-color: rgba(255,255,255,0.35);
}

.cta-section .btn-secondary:hover {
    background-color: rgba(255,255,255,0.10);
    border-color: rgba(255,255,255,0.65);
    transform: translateY(-2px);
}

/* ============================================
   Info Boxes
   ============================================ */
.info-box {
    background-color: var(--bg-white);
    padding: 2rem;
    border-radius: var(--border-radius);
    border-left: 4px solid var(--gold);
    margin: 2rem 0;
    box-shadow: var(--shadow-sm);
}

.info-box h4 {
    font-size: 1.15rem;
    color: var(--primary-color);
    margin-bottom: 1rem;
    font-weight: 600;
}

.info-box p {
    margin: 0;
    line-height: 1.75;
}

.attorney-role-box {
    background-color: var(--bg-light);
    padding: 2rem;
    border-radius: var(--border-radius);
    margin: 2rem 0;
}

.attorney-role-box h4 {
    font-size: 1.25rem;
    color: var(--primary-color);
    margin-bottom: 1.5rem;
    font-weight: 600;
}

.attorney-role-box ul {
    list-style: none;
    padding: 0;
}

.attorney-role-box ul li {
    padding-left: 1.5rem;
    position: relative;
    margin-bottom: 1rem;
    line-height: 1.65;
}

.attorney-role-box ul li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--gold);
    font-weight: 700;
}

/* ============================================
   Footer
   ============================================ */
.footer {
    background-color: #040810;
    color: var(--text-white);
    padding: 4rem 0 2rem;
    position: relative;
    overflow: hidden;
    border-top: 3px solid var(--gold);
}

.footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 200px;
    background: radial-gradient(ellipse 80% 100% at 50% 0%, rgba(201,168,76,0.06) 0%, transparent 70%);
    pointer-events: none;
}

.footer-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 3rem;
    margin-bottom: 2.5rem;
    position: relative;
    z-index: 1;
}

.footer-section h3,
.footer-section h4 {
    margin-bottom: 1.2rem;
    color: var(--gold);
    font-weight: 700;
    letter-spacing: 0.03em;
    font-size: 1rem;
    text-transform: uppercase;
}

.footer-section p {
    color: rgba(255,255,255,0.6);
    line-height: 1.8;
    font-size: 0.93rem;
}

.footer-section ul {
    list-style: none;
}

.footer-section ul li {
    margin-bottom: 0.7rem;
    font-size: 0.93rem;
    color: rgba(255,255,255,0.6);
}

.footer-section ul li a {
    color: rgba(255,255,255,0.6);
    transition: var(--transition);
}

.footer-section ul li a:hover {
    color: var(--gold);
    padding-left: 4px;
}

.footer-bottom {
    text-align: center;
    padding-top: 2rem;
    border-top: 1px solid rgba(255,255,255,0.07);
    color: rgba(255,255,255,0.38);
    font-size: 0.88rem;
    position: relative;
    z-index: 1;
}

/* ============================================
   Page Header
   ============================================ */
.page-header {
    background: linear-gradient(135deg, #0D1B3E 0%, #1B2B5E 60%, #0D1B3E 100%);
    color: var(--text-white);
    padding: 6rem 0 4rem;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.page-header::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 50% 80% at 50% 0%, rgba(201,168,76,0.12) 0%, transparent 60%);
    pointer-events: none;
}

/* diagonal gold line accent */
.page-header::after {
    content: '';
    position: absolute;
    top: 0;
    right: -80px;
    width: 3px;
    height: 200%;
    background: linear-gradient(to bottom, transparent, rgba(201,168,76,0.3), transparent);
    transform: rotate(20deg);
    pointer-events: none;
}

.page-header h1 {
    font-family: 'Playfair Display', serif;
    font-size: 3rem;
    font-weight: 800;
    margin-bottom: 1rem;
    letter-spacing: -0.02em;
    position: relative;
    display: inline-block;
    padding-bottom: 18px;
    z-index: 1;
}

.page-header h1::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 64px;
    height: 3px;
    background: linear-gradient(90deg, var(--gold), var(--gold-light));
    border-radius: 2px;
    box-shadow: 0 0 12px rgba(201,168,76,0.4);
}

.page-header p {
    font-size: 1.1rem;
    opacity: 0.85;
    margin-top: 12px;
    position: relative;
    z-index: 1;
}

/* ============================================
   Animations
   ============================================ */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: translateY(0); }
}

.step-card,
.benefit-card,
.team-member,
.tool-item {
    animation: fadeInUp 0.55s ease-out;
}

@keyframes pageLoad {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

body {
    animation: pageLoad 0.4s ease-out;
}

/* ============================================
   Responsive Design
   ============================================ */
@media (max-width: 968px) {
    .nav-links {
        position: fixed;
        top: 72px;
        left: -100%;
        width: 100%;
        height: calc(100vh - 72px);
        background: rgba(8, 8, 8, 0.92);
        backdrop-filter: blur(24px);
        -webkit-backdrop-filter: blur(24px);
        flex-direction: column;
        padding: 2rem;
        box-shadow: 0 8px 40px rgba(0,0,0,0.5);
        transition: left 0.3s ease;
        align-items: flex-start;
        gap: 1.5rem;
    }

    .nav-links.active {
        left: 0;
    }

    .language-switcher {
        border-left: none;
        padding-left: 0;
        margin-left: 0;
    }

    .mobile-menu-toggle {
        display: flex;
    }

    .mobile-menu-toggle.active span:nth-child(1) {
        transform: rotate(45deg) translate(8px, 8px);
    }

    .mobile-menu-toggle.active span:nth-child(2) {
        opacity: 0;
    }

    .mobile-menu-toggle.active span:nth-child(3) {
        transform: rotate(-45deg) translate(7px, -7px);
    }

    .logo-tagline {
        display: none;
    }

    .logo-title {
        font-size: 1.1rem;
    }

    .logo-icon {
        width: 44px;
        height: 44px;
    }

    .hero-title {
        font-size: 3rem;
    }

    .hero-subtitle {
        font-size: 1.05rem;
    }

    .section-header h2 {
        font-size: 2rem;
    }

    .contact-wrapper {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .team-grid {
        grid-template-columns: 1fr;
    }

    .steps-grid {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    }

    .cta-content {
        padding: 40px 28px;
    }
}

@media (max-width: 640px) {
    .hero {
        padding: 5rem 0 4rem;
        min-height: 560px;
    }

    .hero-overlay {
        background: rgba(6,12,26,0.84);
    }

    .hero-title {
        font-size: 2.2rem;
    }

    .hero-subtitle {
        font-size: 1rem;
    }

    .hero-cta {
        flex-direction: column;
    }

    .hero-cta .btn {
        width: 100%;
    }

    .section-header h2 {
        font-size: 1.75rem;
    }

    .intro-section,
    .steps-section,
    .domestic-section,
    .international-section,
    .benefits-section,
    .team-section,
    .contact-section {
        padding: 4rem 0;
    }

    .steps-grid {
        grid-template-columns: 1fr;
    }

    .benefits-grid {
        grid-template-columns: 1fr;
    }

    .contact-form-wrapper {
        padding: 1.8rem;
    }

    .member-photo {
        height: 350px;
    }

    .accordion-header {
        padding: 1.2rem 1.5rem;
    }

    .accordion-content {
        padding: 0 1.5rem;
    }

    .accordion-item.active .accordion-content {
        padding: 1.2rem 1.5rem;
    }

    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .stat-number {
        font-size: 2.6rem;
    }

    .cta-content {
        padding: 32px 20px;
    }

    .cta-content h2 {
        font-size: 1.8rem;
    }

    .splash-title {
        font-size: 1.7rem;
    }
}

/* ============================================
   AMBIENT SITE EFFECTS (matches splash screen)
   ============================================ */

/* --- Hero Particles --- */
.hero-particles {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 2;
    overflow: hidden;
}
.hero-particles span {
    position: absolute;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(232,201,122,0.95), rgba(201,168,76,0.3));
    animation: siteParticleFloat 6s ease-in-out infinite;
}
.hero-particles span:nth-child(1)  { width:3px; height:3px; top:18%; left:12%; animation-delay:0s;    animation-duration:5s;   }
.hero-particles span:nth-child(2)  { width:2px; height:2px; top:38%; left:78%; animation-delay:1s;    animation-duration:6.5s; }
.hero-particles span:nth-child(3)  { width:4px; height:4px; top:68%; left:22%; animation-delay:2s;    animation-duration:7s;   }
.hero-particles span:nth-child(4)  { width:2px; height:2px; top:58%; left:88%; animation-delay:0.5s;  animation-duration:5.5s; }
.hero-particles span:nth-child(5)  { width:3px; height:3px; top:28%; left:48%; animation-delay:1.5s;  animation-duration:4.5s; }
.hero-particles span:nth-child(6)  { width:2px; height:2px; top:82%; left:38%; animation-delay:2.5s;  animation-duration:6s;   }
.hero-particles span:nth-child(7)  { width:3px; height:3px; top:12%; left:68%; animation-delay:3s;    animation-duration:5.2s; }
.hero-particles span:nth-child(8)  { width:2px; height:2px; top:52%; left:8%;  animation-delay:0.8s;  animation-duration:5.8s; }
.hero-particles span:nth-child(9)  { width:4px; height:4px; top:22%; left:92%; animation-delay:1.8s;  animation-duration:7.5s; }
.hero-particles span:nth-child(10) { width:2px; height:2px; top:88%; left:72%; animation-delay:3.5s;  animation-duration:4.8s; }

/* --- Hero Rotating Rays --- */
.hero-rays {
    position: absolute;
    top: 50%; left: 50%;
    width: 280%; height: 280%;
    transform: translate(-50%, -50%);
    background: conic-gradient(
        from 0deg at 50% 50%,
        transparent 0deg,   rgba(201,168,76,0.05) 12deg,  transparent 24deg,
        transparent 48deg,  rgba(201,168,76,0.04) 60deg,  transparent 72deg,
        transparent 96deg,  rgba(201,168,76,0.05) 108deg, transparent 120deg,
        transparent 144deg, rgba(201,168,76,0.04) 156deg, transparent 168deg,
        transparent 192deg, rgba(201,168,76,0.05) 204deg, transparent 216deg,
        transparent 240deg, rgba(201,168,76,0.04) 252deg, transparent 264deg,
        transparent 288deg, rgba(201,168,76,0.05) 300deg, transparent 312deg,
        transparent 336deg, rgba(201,168,76,0.04) 348deg, transparent 360deg
    );
    animation: siteRaysRotate 40s linear infinite;
    pointer-events: none;
    z-index: 1;
}

/* --- Dark Section Particles (stats, CTA) --- */
.site-particles {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    z-index: 1;
}
.site-particles span {
    position: absolute;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(232,201,122,0.8), rgba(201,168,76,0.3));
    animation: siteParticleFloat 5s ease-in-out infinite;
}
.site-particles span:nth-child(1) { width:3px; height:3px; top:15%; left:8%;  animation-delay:0s;   animation-duration:4.2s; }
.site-particles span:nth-child(2) { width:2px; height:2px; top:25%; left:82%; animation-delay:0.7s; animation-duration:5.5s; }
.site-particles span:nth-child(3) { width:4px; height:4px; top:70%; left:18%; animation-delay:1.4s; animation-duration:6s;   }
.site-particles span:nth-child(4) { width:2px; height:2px; top:80%; left:65%; animation-delay:2.1s; animation-duration:4.8s; }
.site-particles span:nth-child(5) { width:3px; height:3px; top:42%; left:92%; animation-delay:0.3s; animation-duration:5.2s; }
.site-particles span:nth-child(6) { width:2px; height:2px; top:55%; left:4%;  animation-delay:1.8s; animation-duration:4.5s; }
.site-particles span:nth-child(7) { width:3px; height:3px; top:8%;  left:52%; animation-delay:2.5s; animation-duration:6.5s; }
.site-particles span:nth-child(8) { width:2px; height:2px; top:88%; left:38%; animation-delay:0.9s; animation-duration:5s;   }

@keyframes siteParticleFloat {
    0%,100% { opacity:0.12; transform:translateY(0) scale(1); }
    33%      { opacity:0.9;  transform:translateY(-22px) scale(1.6); }
    66%      { opacity:0.35; transform:translateY(-10px) scale(0.85); }
}

/* --- Dark Section Rays --- */
.site-rays {
    position: absolute;
    top: 50%; left: 50%;
    width: 220%; height: 220%;
    transform: translate(-50%, -50%);
    background: conic-gradient(
        from 0deg at 50% 50%,
        transparent 0deg,   rgba(201,168,76,0.05) 15deg,  transparent 30deg,
        transparent 60deg,  rgba(201,168,76,0.04) 75deg,  transparent 90deg,
        transparent 120deg, rgba(201,168,76,0.05) 135deg, transparent 150deg,
        transparent 180deg, rgba(201,168,76,0.04) 195deg, transparent 210deg,
        transparent 240deg, rgba(201,168,76,0.05) 255deg, transparent 270deg,
        transparent 300deg, rgba(201,168,76,0.04) 315deg, transparent 330deg,
        transparent 360deg
    );
    animation: siteRaysRotate 30s linear infinite;
    pointer-events: none;
    z-index: 0;
}

@keyframes siteRaysRotate {
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

/* --- Icon Gold Glow Pulse (mirrors splash SVG glow) --- */
@keyframes iconGlowPulse {
    0%,100% { box-shadow: 0 8px 24px rgba(201,168,76,0.35); }
    50%      { box-shadow: 0 12px 40px rgba(201,168,76,0.65), 0 0 0 6px rgba(201,168,76,0.1); }
}
.service-icon svg,
.benefit-icon svg {
    animation: iconGlowPulse 3s ease-in-out infinite;
}
.service-card:hover .service-icon svg,
.benefit-card:hover .benefit-icon svg {
    animation: none;
    box-shadow: 0 14px 44px rgba(201,168,76,0.6), 0 0 0 8px rgba(201,168,76,0.12);
}

/* --- Step Number Ring Pulse (mirrors splash rings) --- */
.step-number {
    position: relative;
}
.step-number::after {
    content: '';
    position: absolute;
    inset: -7px;
    border-radius: 24px;
    border: 1px solid rgba(201,168,76,0.35);
    animation: stepRingPulse 2.5s ease-in-out infinite;
    pointer-events: none;
}
@keyframes stepRingPulse {
    0%,100% { opacity:0.25; transform:scale(1); }
    50%      { opacity:0.85; transform:scale(1.06); }
}

/* --- Stat Number Shimmer (mirrors splash loader shimmer) --- */
@keyframes statGoldShimmer {
    0%,100% { filter: brightness(1); }
    50%      { filter: brightness(1.35) drop-shadow(0 0 10px rgba(232,201,122,0.7)); }
}
.stat-number {
    animation: statGoldShimmer 3s ease-in-out infinite;
}
.stat-item:nth-child(1) .stat-number { animation-delay: 0s; }
.stat-item:nth-child(2) .stat-number { animation-delay: 0.4s; }
.stat-item:nth-child(3) .stat-number { animation-delay: 0.8s; }
.stat-item:nth-child(4) .stat-number { animation-delay: 1.2s; }

/* --- Section Header Underline Expand (mirrors splash divider line) --- */
.section-header h2::after {
    animation: headerUnderlineExpand 1s cubic-bezier(0.4, 0, 0.2, 1) 0.4s both;
}
@keyframes headerUnderlineExpand {
    from { width: 0; opacity: 0; }
    to   { width: 60px; opacity: 1; }
}

/* --- Card Fade-In on load --- */
@keyframes cardFadeUp {
    from { opacity: 0; transform: translateY(28px); }
    to   { opacity: 1; transform: translateY(0); }
}
.service-card { animation: cardFadeUp 0.6s cubic-bezier(0.4,0,0.2,1) both; }
.step-card    { animation: cardFadeUp 0.6s cubic-bezier(0.4,0,0.2,1) both; }
.benefit-card { animation: cardFadeUp 0.6s cubic-bezier(0.4,0,0.2,1) both; }
.stat-item    { animation: cardFadeUp 0.5s cubic-bezier(0.4,0,0.2,1) both; }
.service-card:nth-child(1),.step-card:nth-child(1),.benefit-card:nth-child(1),.stat-item:nth-child(1) { animation-delay:0.1s; }
.service-card:nth-child(2),.step-card:nth-child(2),.benefit-card:nth-child(2),.stat-item:nth-child(2) { animation-delay:0.2s; }
.service-card:nth-child(3),.step-card:nth-child(3),.benefit-card:nth-child(3),.stat-item:nth-child(3) { animation-delay:0.3s; }
.service-card:nth-child(4),.step-card:nth-child(4),.benefit-card:nth-child(4),.stat-item:nth-child(4) { animation-delay:0.4s; }
.service-card:nth-child(5) { animation-delay:0.5s; }
.service-card:nth-child(6) { animation-delay:0.6s; }

/* --- Page header gets rays too --- */
.page-header {
    position: relative;
    overflow: hidden;
}
.page-header-rays {
    position: absolute;
    top: 50%; left: 50%;
    width: 300%; height: 300%;
    transform: translate(-50%, -50%);
    background: conic-gradient(
        from 0deg at 50% 50%,
        transparent 0deg, rgba(201,168,76,0.06) 18deg, transparent 36deg,
        transparent 72deg, rgba(201,168,76,0.05) 90deg, transparent 108deg,
        transparent 144deg, rgba(201,168,76,0.06) 162deg, transparent 180deg,
        transparent 216deg, rgba(201,168,76,0.05) 234deg, transparent 252deg,
        transparent 288deg, rgba(201,168,76,0.06) 306deg, transparent 324deg,
        transparent 360deg
    );
    animation: siteRaysRotate 35s linear infinite;
    pointer-events: none;
    z-index: 0;
}
.page-header .container {
    position: relative;
    z-index: 1;
}

/* ============================================
   ENHANCED AMBIENT EFFECTS - OVERRIDE
   ============================================ */

/* Make particles GLOW like the splash */
.hero-particles span,
.site-particles span {
    box-shadow: 0 0 6px 2px rgba(201,168,76,0.6), 0 0 12px 4px rgba(201,168,76,0.3);
}
@keyframes siteParticleFloat {
    0%,100% { opacity:0.2;  transform:translateY(0) scale(1);    }
    33%      { opacity:1;    transform:translateY(-24px) scale(1.8); }
    66%      { opacity:0.5;  transform:translateY(-12px) scale(0.9); }
}

/* Stronger rays on dark sections */
.hero-rays {
    background: conic-gradient(
        from 0deg at 50% 50%,
        transparent 0deg,   rgba(201,168,76,0.14) 10deg,  transparent 20deg,
        transparent 40deg,  rgba(201,168,76,0.10) 50deg,  transparent 60deg,
        transparent 80deg,  rgba(201,168,76,0.14) 90deg,  transparent 100deg,
        transparent 120deg, rgba(201,168,76,0.10) 130deg, transparent 140deg,
        transparent 160deg, rgba(201,168,76,0.14) 170deg, transparent 180deg,
        transparent 200deg, rgba(201,168,76,0.10) 210deg, transparent 220deg,
        transparent 240deg, rgba(201,168,76,0.14) 250deg, transparent 260deg,
        transparent 280deg, rgba(201,168,76,0.10) 290deg, transparent 300deg,
        transparent 320deg, rgba(201,168,76,0.14) 330deg, transparent 340deg,
        transparent 360deg
    );
}
.site-rays {
    background: conic-gradient(
        from 0deg at 50% 50%,
        transparent 0deg,   rgba(201,168,76,0.12) 12deg,  transparent 24deg,
        transparent 50deg,  rgba(201,168,76,0.09) 62deg,  transparent 74deg,
        transparent 100deg, rgba(201,168,76,0.12) 112deg, transparent 124deg,
        transparent 150deg, rgba(201,168,76,0.09) 162deg, transparent 174deg,
        transparent 200deg, rgba(201,168,76,0.12) 212deg, transparent 224deg,
        transparent 250deg, rgba(201,168,76,0.09) 262deg, transparent 274deg,
        transparent 300deg, rgba(201,168,76,0.12) 312deg, transparent 324deg,
        transparent 360deg
    );
}

/* Glowing orb background — like splash-bg radial glow */
.site-orb {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    animation: orbPulse 5s ease-in-out infinite;
}
.site-orb-center {
    width: 600px; height: 600px;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle, rgba(201,168,76,0.12) 0%, rgba(201,168,76,0.04) 40%, transparent 70%);
}
.site-orb-left {
    width: 400px; height: 400px;
    top: 50%; left: -5%;
    transform: translateY(-50%);
    background: radial-gradient(circle, rgba(201,168,76,0.10) 0%, transparent 65%);
    animation-delay: 1.5s;
}
.site-orb-right {
    width: 400px; height: 400px;
    top: 50%; right: -5%;
    transform: translateY(-50%);
    background: radial-gradient(circle, rgba(201,168,76,0.08) 0%, transparent 65%);
    animation-delay: 3s;
}
@keyframes orbPulse {
    0%,100% { opacity: 0.6; transform: translate(-50%, -50%) scale(1);   }
    50%      { opacity: 1;   transform: translate(-50%, -50%) scale(1.15); }
}
.site-orb-left  { animation: orbPulseSide 5s ease-in-out infinite 1.5s; }
.site-orb-right { animation: orbPulseSide 5s ease-in-out infinite 3s; }
@keyframes orbPulseSide {
    0%,100% { opacity:0.5; }
    50%      { opacity:1; }
}

/* Spinning decorative ring for dark sections */
.site-spinner-ring {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 1;
    top: 50%; left: 50%;
}
.site-spinner-ring-1 {
    width: 500px; height: 500px;
    margin-left: -250px; margin-top: -250px;
    border: 1px dashed rgba(201,168,76,0.18);
    animation: siteRingRotate 20s linear infinite;
}
.site-spinner-ring-2 {
    width: 700px; height: 700px;
    margin-left: -350px; margin-top: -350px;
    border: 1px solid transparent;
    border-top-color: rgba(201,168,76,0.25);
    border-right-color: rgba(201,168,76,0.12);
    animation: siteRingRotate 30s linear infinite reverse;
}
@keyframes siteRingRotate {
    to { transform: rotate(360deg); }
}

/* Gold glint lines across cards on hover — stronger */
.service-card::before,
.step-card::before,
.benefit-card::before,
.team-member::before {
    background: linear-gradient(
        105deg,
        transparent 15%,
        rgba(255,255,255,0.05) 35%,
        rgba(255,255,255,0.35) 50%,
        rgba(255,255,255,0.05) 65%,
        transparent 85%
    );
    transition: left 0.65s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Section backgrounds with subtle dark tint so effects show */
.services-overview,
.steps-section,
.benefits-section {
    background: linear-gradient(180deg, #F4F6FB 0%, #EEF1F8 100%);
}

/* Gold dot decorations on light sections */
.services-overview::after,
.steps-section::after,
.benefits-section::after {
    content: '';
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 800px; height: 800px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(201,168,76,0.06) 0%, transparent 60%);
    pointer-events: none;
    z-index: 0;
    animation: lightSectionOrb 8s ease-in-out infinite;
}
@keyframes lightSectionOrb {
    0%,100% { opacity:0.5; transform:translate(-50%,-50%) scale(1); }
    50%      { opacity:1;   transform:translate(-50%,-50%) scale(1.2); }
}
.services-overview,
.steps-section,
.benefits-section {
    position: relative;
    overflow: hidden;
}

/* ============================================
   MOBILE IMPROVEMENTS
   ============================================ */

/* Hide heavy decorative elements on mobile — they overflow and hurt perf */
@media (max-width: 768px) {
    .site-spinner-ring-1,
    .site-spinner-ring-2,
    .page-header-rays,
    .hero-rays,
    .site-rays {
        display: none;
    }

    /* Splash screen mobile */
    .splash-logo-wrap {
        width: 180px;
        height: 180px;
    }
    .splash-svg {
        width: 140px;
        height: 140px;
    }
    .splash-title {
        font-size: 1.6rem;
    }
    .splash-tagline {
        font-size: 0.7rem;
        letter-spacing: 0.2em;
    }
    .splash-ring-rotate  { display: none; }
    .splash-ring-rotate-2 { display: none; }
    .splash-ring-static { display: none; }

    /* Hero */
    .hero {
        min-height: 520px;
        padding: 5rem 0 3rem;
    }
    .hero-title {
        font-size: 2.4rem;
        letter-spacing: -0.02em;
    }
    .hero-subtitle {
        font-size: 1rem;
        padding: 0 8px;
    }
    .hero-cta {
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }
    .hero-cta .btn {
        width: 100%;
        max-width: 320px;
        text-align: center;
        justify-content: center;
    }

    /* Services grid single column on mobile */
    .services-grid {
        grid-template-columns: 1fr;
        gap: 1.2rem;
    }
    .service-card {
        padding: 32px 24px;
    }

    /* Steps */
    .steps-grid {
        grid-template-columns: 1fr 1fr;
        gap: 1.2rem;
    }
    .step-card {
        padding: 32px 20px;
    }

    /* Stats */
    .stats-grid {
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
    }
    .stat-item {
        padding: 24px 12px;
    }
    .stat-number {
        font-size: 2.4rem;
    }
    .stat-label {
        font-size: 0.78rem;
    }

    /* Benefits */
    .benefits-grid {
        grid-template-columns: 1fr;
        gap: 1.2rem;
    }
    .benefit-card {
        padding: 32px 24px;
    }

    /* CTA */
    .cta-content {
        padding: 36px 20px;
        border-radius: 16px;
    }
    .cta-content h2 {
        font-size: 1.7rem;
    }
    .cta-buttons {
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }
    .cta-buttons .btn {
        width: 100%;
        max-width: 320px;
        text-align: center;
    }

    /* Team */
    .team-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    .member-photo {
        height: 320px;
    }

    /* Page header */
    .page-header {
        padding: 4rem 0 2.5rem;
    }
    .page-header h1 {
        font-size: 2rem;
    }

    /* Footer */
    .footer-content {
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
    }

    /* Section spacing */
    .intro-section,
    .services-overview,
    .steps-section,
    .benefits-section,
    .team-section,
    .contact-section {
        padding: 60px 0;
    }
    .stats-banner {
        padding: 60px 0;
    }

    /* Orbs less intense on mobile */
    .site-orb-center {
        width: 300px;
        height: 300px;
    }
    .site-orb-left,
    .site-orb-right {
        display: none;
    }
    .site-particles span {
        opacity: 0.6;
    }

    /* Service page content typography */
    .main-content h2 {
        font-size: 1.85rem;
    }
    .main-content h3 {
        font-size: 1.4rem;
    }

    /* Contact info heading */
    .contact-info h2 {
        font-size: 1.75rem;
    }

    /* Homepage new sections spacing */
    .insights-section,
    .news-section,
    .credentials-section,
    .partners-section {
        padding: 50px 0;
    }
}

@media (max-width: 480px) {
    .hero-title {
        font-size: 2rem;
    }
    .steps-grid {
        grid-template-columns: 1fr;
    }
    .stats-grid {
        grid-template-columns: 1fr 1fr;
    }
    .footer-content {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    .section-header h2 {
        font-size: 1.6rem;
    }
    .intro-content h2 {
        font-size: 1.6rem;
    }
    .service-card,
    .step-card,
    .benefit-card {
        padding: 28px 20px;
    }
    .service-icon svg,
    .benefit-icon svg {
        width: 52px;
        height: 52px;
    }
    /* Improve touch targets */
    .btn {
        padding: 14px 28px;
        min-height: 48px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    .nav-links a {
        min-height: 44px;
        display: flex;
        align-items: center;
    }
    .lang-btn {
        min-width: 44px;
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .splash-svg {
        width: 120px;
        height: 120px;
    }
    .splash-title {
        font-size: 1.4rem;
    }

    /* Page header */
    .page-header h1 {
        font-size: 1.65rem;
    }
    .page-header p {
        font-size: 0.95rem;
    }

    /* CTA heading */
    .cta-content h2 {
        font-size: 1.4rem;
    }
    .cta-content p {
        font-size: 1rem;
    }

    /* Contact form */
    .contact-form-wrapper {
        padding: 1.5rem;
    }
    .contact-info h2 {
        font-size: 1.5rem;
    }

    /* Service page content */
    .main-content h2 {
        font-size: 1.6rem;
    }
    .main-content h3 {
        font-size: 1.2rem;
    }

    /* Intro quote */
    .intro-quote {
        font-size: 1.05rem;
    }

    /* Hero bullets */
    .hero-bullets li {
        font-size: 0.93rem;
    }

    /* Credentials single column */
    .credentials-grid {
        grid-template-columns: 1fr;
    }
    .credentials-grid .credential-item {
        border-right: none;
        border-bottom: 1px solid rgba(27,43,94,0.08);
    }

    /* New sections spacing */
    .insights-section,
    .news-section,
    .credentials-section,
    .partners-section {
        padding: 40px 0;
    }

    /* Partners logo padding */
    .partner-logo {
        padding: 14px 28px;
        min-width: 130px;
    }

    /* Accordion header padding */
    .accordion-header {
        padding: 1rem 1.2rem;
    }
    .accordion-header h4 {
        font-size: 1rem;
    }
}

/* ============================================
   HERO RINGS — REFINED & SOPHISTICATED
   ============================================ */

/* Override the bold rings specifically in the hero */
.hero .site-spinner-ring-1 {
    width: 380px;
    height: 380px;
    margin-left: -190px;
    margin-top: -190px;
    border: none;
    background: conic-gradient(
        from 0deg,
        transparent 0deg,
        rgba(201,168,76,0.18) 60deg,
        rgba(201,168,76,0.06) 120deg,
        transparent 180deg,
        transparent 360deg
    );
    border-radius: 50%;
    animation: siteRingRotate 25s linear infinite;
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 1px), white calc(100% - 1px));
    mask: radial-gradient(farthest-side, transparent calc(100% - 1px), white calc(100% - 1px));
    opacity: 0.5;
}

.hero .site-spinner-ring-2 {
    width: 560px;
    height: 560px;
    margin-left: -280px;
    margin-top: -280px;
    border: none;
    background: conic-gradient(
        from 180deg,
        transparent 0deg,
        rgba(201,168,76,0.12) 80deg,
        rgba(201,168,76,0.04) 160deg,
        transparent 220deg,
        transparent 360deg
    );
    border-radius: 50%;
    animation: siteRingRotate 40s linear infinite reverse;
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 1px), white calc(100% - 1px));
    mask: radial-gradient(farthest-side, transparent calc(100% - 1px), white calc(100% - 1px));
    opacity: 0.4;
}

/* ============================================
   HERO AURORA — replaces spinning rings
   ============================================ */

/* Kill the old rings in hero */
.hero .site-spinner-ring-1,
.hero .site-spinner-ring-2 {
    display: none;
}

/* Aurora blobs — slow drifting soft light */
.hero-aurora {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    overflow: hidden;
}

.hero-aurora-1 {
    position: absolute;
    width: 700px;
    height: 500px;
    top: -100px;
    left: -150px;
    background: radial-gradient(ellipse, rgba(201,168,76,0.12) 0%, rgba(201,168,76,0.04) 45%, transparent 70%);
    border-radius: 50%;
    filter: blur(60px);
    animation: auroraFloat1 18s ease-in-out infinite;
}

.hero-aurora-2 {
    position: absolute;
    width: 600px;
    height: 600px;
    top: 50%;
    right: -200px;
    background: radial-gradient(ellipse, rgba(27,43,94,0.6) 0%, rgba(37,99,235,0.08) 50%, transparent 70%);
    border-radius: 50%;
    filter: blur(80px);
    animation: auroraFloat2 22s ease-in-out infinite;
}

.hero-aurora-3 {
    position: absolute;
    width: 500px;
    height: 400px;
    bottom: -50px;
    left: 40%;
    background: radial-gradient(ellipse, rgba(201,168,76,0.08) 0%, transparent 65%);
    border-radius: 50%;
    filter: blur(50px);
    animation: auroraFloat3 26s ease-in-out infinite;
}

@keyframes auroraFloat1 {
    0%,100% { transform: translate(0, 0) scale(1);     opacity: 0.8; }
    33%      { transform: translate(80px, 40px) scale(1.15); opacity: 1;   }
    66%      { transform: translate(30px, -30px) scale(0.95); opacity: 0.7; }
}

@keyframes auroraFloat2 {
    0%,100% { transform: translate(0, -50%) scale(1);     opacity: 0.6; }
    40%      { transform: translate(-60px, -55%) scale(1.1); opacity: 0.9; }
    70%      { transform: translate(20px, -45%) scale(0.9);  opacity: 0.5; }
}

@keyframes auroraFloat3 {
    0%,100% { transform: translate(-50%, 0) scale(1);    opacity: 0.6; }
    50%      { transform: translate(-45%, -40px) scale(1.2); opacity: 1;   }
}

@media (max-width: 768px) {
    .hero-aurora-1 { width: 350px; height: 250px; filter: blur(40px); }
    .hero-aurora-2 { width: 300px; height: 300px; filter: blur(50px); }
    .hero-aurora-3 { display: none; }
}

/* Hide aurora */
.hero-aurora { display: none; }

/* Hide all hero animation effects */
.hero-rays,
.hero-particles,
.hero .site-rays,
.hero .site-orb,
.hero .site-spinner-ring { display: none !important; }

/* ============================================
   HERO — Corporate Light Beam Effect
   ============================================ */

/* Radial gold glow centered behind hero text */
.hero-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 700px;
    height: 500px;
    background: radial-gradient(ellipse at center,
        rgba(201,168,76,0.13) 0%,
        rgba(201,168,76,0.05) 40%,
        transparent 70%);
    pointer-events: none;
    z-index: 1;
    animation: heroGlowPulse 6s ease-in-out infinite;
}

@keyframes heroGlowPulse {
    0%, 100% { opacity: 0.7; transform: translate(-50%, -50%) scale(1); }
    50%       { opacity: 1;   transform: translate(-50%, -50%) scale(1.12); }
}

/* Diagonal light beams */
.hero-lines {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 1;
}

.hero-lines span {
    position: absolute;
    top: -20%;
    width: 1px;
    height: 140%;
    background: linear-gradient(
        180deg,
        transparent 0%,
        rgba(255,255,255,0.0) 20%,
        rgba(201,168,76,0.18) 50%,
        rgba(255,255,255,0.0) 80%,
        transparent 100%
    );
    transform: rotate(25deg);
    transform-origin: top center;
    animation: heroBeamDrift linear infinite;
}

.hero-lines span:nth-child(1) {
    left: 15%;
    animation-duration: 14s;
    animation-delay: 0s;
    opacity: 0.8;
}
.hero-lines span:nth-child(2) {
    left: 48%;
    width: 2px;
    background: linear-gradient(
        180deg,
        transparent 0%,
        rgba(201,168,76,0.0) 15%,
        rgba(232,201,122,0.22) 50%,
        rgba(201,168,76,0.0) 85%,
        transparent 100%
    );
    animation-duration: 18s;
    animation-delay: -5s;
    opacity: 0.6;
}
.hero-lines span:nth-child(3) {
    left: 78%;
    animation-duration: 22s;
    animation-delay: -10s;
    opacity: 0.5;
}

@keyframes heroBeamDrift {
    0%   { transform: rotate(25deg) translateX(-120px); opacity: 0; }
    8%   { opacity: 1; }
    92%  { opacity: 1; }
    100% { transform: rotate(25deg) translateX(120px); opacity: 0; }
}


/* ============================================
   HERO — Forensic Scanner Effect
   ============================================ */

/* Faint dot grid — the "document" being scanned */
.hero-scan-grid {
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle, rgba(201,168,76,0.18) 1px, transparent 1px);
    background-size: 38px 38px;
    pointer-events: none;
    z-index: 1;
    opacity: 0;
    animation: gridFadeIn 1.2s ease-out 0.4s forwards;
}

@keyframes gridFadeIn {
    to { opacity: 1; }
}

/* Scan line */
.hero-scan {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 3px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(201,168,76,0.0) 5%,
        rgba(201,168,76,0.5) 35%,
        rgba(232,201,122,0.95) 50%,
        rgba(201,168,76,0.5) 65%,
        rgba(201,168,76,0.0) 95%,
        transparent 100%
    );
    box-shadow:
        0 0 8px 1px rgba(201,168,76,0.4),
        0 0 40px 6px rgba(201,168,76,0.12),
        0 0 80px 12px rgba(201,168,76,0.05);
    pointer-events: none;
    z-index: 2;
    animation: scanSweep 7s cubic-bezier(0.4, 0, 0.6, 1) 1s infinite;
}

/* Trailing glow below the scan line */
.hero-scan::after {
    content: '';
    position: absolute;
    left: 0; right: 0;
    top: 0;
    height: 120px;
    background: linear-gradient(180deg,
        rgba(201,168,76,0.08) 0%,
        transparent 100%
    );
    pointer-events: none;
}

@keyframes scanSweep {
    0%        { top: -2%;  opacity: 0; }
    4%        { opacity: 1; }
    88%       { opacity: 0.8; }
    100%      { top: 102%; opacity: 0; }
}

/* Hide on mobile */
@media (max-width: 768px) {
    .hero-scan-grid { background-size: 26px 26px; }
}

/* ============================================
   Hero Bullets (STA-style)
   ============================================ */
.hero-bullets {
    list-style: none;
    margin: 0 0 40px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    text-align: left;
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
}
.hero-bullets li {
    font-size: 1.05rem;
    color: rgba(255,255,255,0.9);
    padding-left: 28px;
    position: relative;
    font-weight: 400;
}
.hero-bullets li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 2px;
    background: var(--gold);
    box-shadow: 0 0 6px rgba(201,168,76,0.6);
}

/* ============================================
   Intro Quote
   ============================================ */
.intro-quote {
    font-family: 'Playfair Display', serif;
    font-size: 1.6rem;
    font-style: italic;
    color: var(--primary-color);
    margin-bottom: 28px;
    line-height: 1.4;
    position: relative;
    padding-left: 20px;
    border-left: 3px solid var(--gold);
}

/* ============================================
   Industry Insights Section
   ============================================ */
.insights-section {
    padding: 80px 0;
    background: var(--bg-light);
}
.insights-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 24px;
    margin-top: 48px;
}
.insight-card {
    background: #fff;
    border-radius: 12px;
    padding: 32px 28px;
    border: 1px solid rgba(27,43,94,0.08);
    box-shadow: 0 4px 20px rgba(13,27,62,0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.insight-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 36px rgba(13,27,62,0.12);
}
.insight-card--featured {
    background: linear-gradient(145deg, var(--primary-color), var(--primary-dark));
    color: #fff;
    border-color: transparent;
}
.insight-card--featured h3,
.insight-card--featured p {
    color: rgba(255,255,255,0.9);
}
.insight-stat {
    font-family: 'Playfair Display', serif;
    font-size: 3rem;
    font-weight: 800;
    color: var(--gold);
    line-height: 1;
    margin-bottom: 12px;
}
.insight-card--featured .insight-stat {
    color: var(--gold-light);
    text-shadow: 0 0 20px rgba(201,168,76,0.4);
}
.insight-card h3 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 10px;
    line-height: 1.4;
}
.insight-card p {
    font-size: 0.88rem;
    color: var(--text-light);
    line-height: 1.6;
}

/* ============================================
   Credentials Bar
   ============================================ */
.credentials-section {
    padding: 48px 0;
    background: var(--primary-color);
    border-top: 1px solid rgba(255,255,255,0.06);
    border-bottom: 1px solid rgba(255,255,255,0.06);
}
.credentials-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 24px;
    align-items: center;
}
.credential-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
    color: rgba(255,255,255,0.75);
    padding: 12px 8px;
    border-right: 1px solid rgba(255,255,255,0.1);
    transition: color 0.2s;
}
.credential-item:last-child { border-right: none; }
.credential-item:hover { color: var(--gold-light); }
.credential-item svg { color: var(--gold); flex-shrink: 0; }
.credential-item span {
    font-size: 0.82rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    line-height: 1.3;
}

/* ============================================
   News & Resources Section
   ============================================ */
.news-section {
    padding: 80px 0;
    background: #fff;
}
.news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin-top: 48px;
}
.news-card {
    background: var(--bg-light);
    border-radius: 14px;
    padding: 36px 32px;
    border: 1px solid rgba(27,43,94,0.08);
    display: flex;
    flex-direction: column;
    gap: 14px;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.news-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(13,27,62,0.1);
}
.news-tag {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--gold);
    background: rgba(201,168,76,0.1);
    border: 1px solid rgba(201,168,76,0.25);
    padding: 4px 10px;
    border-radius: 4px;
    width: fit-content;
}
.news-card h3 {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--primary-color);
    line-height: 1.4;
}
.news-card p {
    font-size: 0.9rem;
    color: var(--text-light);
    line-height: 1.65;
    flex: 1;
}
.news-link {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--primary-color);
    text-decoration: none;
    transition: color 0.2s;
    margin-top: auto;
}
.news-link:hover { color: var(--gold); }

/* Responsive */
@media (max-width: 968px) {
    .insights-grid { grid-template-columns: 1fr 1fr; }
    .credentials-grid { grid-template-columns: repeat(3, 1fr); }
    .credentials-grid .credential-item:nth-child(3) { border-right: none; }
    .news-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
    .insights-grid { grid-template-columns: 1fr; }
    .credentials-grid { grid-template-columns: repeat(2, 1fr); }
    .credentials-grid .credential-item:nth-child(even) { border-right: none; }
    .news-grid { grid-template-columns: 1fr; }
    .intro-quote { font-size: 1.25rem; }
}

/* ============================================
   Partners Section
   ============================================ */
.partners-section {
    padding: 60px 0;
    background: #fafafa;
    border-top: 1px solid rgba(27,43,94,0.07);
    border-bottom: 1px solid rgba(27,43,94,0.07);
    overflow: hidden;
}

.partners-label {
    text-align: center;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--text-light);
    margin-bottom: 36px;
    opacity: 0.7;
}

.partners-track-wrap {
    overflow: hidden;
    -webkit-mask: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
    mask: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
}

.partners-track {
    display: flex;
    gap: 0;
    width: max-content;
    animation: partnersScroll 28s linear infinite;
}

.partners-track:hover {
    animation-play-state: paused;
}

@keyframes partnersScroll {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.partner-logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 18px 44px;
    border-right: 1px solid rgba(27,43,94,0.08);
    transition: all 0.3s ease;
    cursor: default;
    min-width: 160px;
}

.partner-logo:hover .plogo-text {
    color: var(--primary-color);
    opacity: 1;
}

.partner-logo:hover .plogo-sub {
    opacity: 0.7;
}

.plogo-text {
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    color: #9aa3b5;
    opacity: 0.65;
    transition: all 0.3s ease;
    line-height: 1;
}

.plogo-sub {
    font-size: 0.62rem;
    letter-spacing: 0.06em;
    color: #b0b8c8;
    opacity: 0.5;
    text-transform: uppercase;
    transition: all 0.3s ease;
    white-space: nowrap;
}

/* ============================================
   Navigation Dropdown
   ============================================ */
.nav-item.has-dropdown {
    position: relative;
}

.nav-dropdown-toggle {
    display: flex;
    align-items: center;
    gap: 2px;
    cursor: pointer;
}

.nav-item.has-dropdown::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 16px;
}

.nav-dropdown-menu {
    position: absolute;
    top: calc(100% + 16px);
    left: 50%;
    transform: translateX(-50%) translateY(-4px);
    background: rgba(6, 6, 6, 0.96);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid rgba(255,255,255,0.10);
    border-top: 2px solid var(--gold);
    border-radius: 0 0 10px 10px;
    min-width: 240px;
    padding: 8px 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s;
    z-index: 2000;
    box-shadow: 0 20px 50px rgba(0,0,0,0.4);
}

.nav-item.has-dropdown:hover .nav-dropdown-menu,
.nav-item.has-dropdown:focus-within .nav-dropdown-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}

.nav-dropdown-menu a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 20px;
    color: rgba(255,255,255,0.75) !important;
    font-size: 0.9rem;
    font-weight: 400;
    transition: background 0.15s, color 0.15s, padding-left 0.15s;
    white-space: nowrap;
    text-shadow: none !important;
}

.nav-dropdown-menu a:hover {
    background: rgba(201,168,76,0.1);
    color: var(--gold-light) !important;
    padding-left: 26px;
}

.nav-dropdown-menu a::after { display: none !important; }

.dropdown-icon {
    font-style: normal;
    font-size: 0.85rem;
    opacity: 0.7;
    flex-shrink: 0;
}

/* Get a Quote CTA button in nav */
.btn-nav-quote {
    background: linear-gradient(135deg, var(--gold), var(--gold-light));
    color: #0a0a0a !important;
    font-weight: 700 !important;
    font-size: 0.85rem !important;
    padding: 8px 18px;
    border-radius: 6px;
    letter-spacing: 0.02em;
    transition: filter 0.2s, transform 0.2s !important;
    text-shadow: none !important;
    white-space: nowrap;
}
.btn-nav-quote:hover {
    filter: brightness(1.1);
    transform: translateY(-1px);
    color: #0a0a0a !important;
}
.btn-nav-quote::after { display: none !important; }

/* Mobile dropdown */
@media (max-width: 968px) {
    .nav-dropdown-menu {
        position: static;
        transform: none;
        background: rgba(255,255,255,0.04);
        border: none;
        border-left: 2px solid var(--gold);
        border-top: none;
        border-radius: 0;
        padding: 4px 0 4px 12px;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        box-shadow: none;
        min-width: unset;
        display: none;
    }
    .nav-item.has-dropdown.open .nav-dropdown-menu {
        display: block;
    }
    .nav-dropdown-menu a {
        font-size: 0.85rem;
        padding: 8px 12px;
    }
    .btn-nav-quote {
        width: 100%;
        text-align: center;
        padding: 12px 18px;
        border-radius: 8px;
    }
}

/* Apply hero effects inside page-header on inner pages */
.page-header .hero-glow {
    width: 500px;
    height: 360px;
}
.page-header .hero-scan-grid {
    opacity: 0;
    animation: gridFadeIn 1s ease-out 0.3s forwards;
}
.page-header .hero-scan {
    animation: scanSweep 7s cubic-bezier(0.4, 0, 0.6, 1) 0.5s infinite;
}

/* ============================================
   THEME TOGGLE BUTTON
   ============================================ */
.theme-toggle {
    position: fixed;
    bottom: 28px;
    right: 28px;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--primary-color), #243870);
    color: #fff;
    border: 2px solid var(--gold);
    cursor: pointer;
    z-index: 8999;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 24px rgba(0,0,0,0.35), 0 0 0 0 rgba(201,168,76,0);
    transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.4s ease;
    outline: none;
}
.theme-toggle:hover {
    transform: scale(1.12);
    box-shadow: 0 6px 32px rgba(201,168,76,0.45), 0 0 0 4px rgba(201,168,76,0.12);
}
.theme-toggle svg {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    transition: opacity 0.2s ease, transform 0.4s ease;
}
@media (max-width: 480px) {
    .theme-toggle {
        bottom: 18px;
        right: 18px;
        width: 46px;
        height: 46px;
    }
}

/* ============================================
   LIGHT / SKY-BLUE THEME
   ============================================ */

/* Sky palette reference:
   --sky-0  : #F0F9FF  (almost white sky)
   --sky-1  : #DDF0FA  (pale sky)
   --sky-2  : #B8DCF0  (soft sky)
   --sky-3  : #7EC8E3  (clear sky)
   --sky-4  : #3EADD4  (vivid sky)
   --sky-5  : #1E88BE  (deep sky)
   Accent   : #C9A84C  (gold — kept for branding) */

[data-theme="light"] {
    --bg-light: #DDF0FA;
    --bg-white: #F0F9FF;
    --border-color: rgba(62,173,212,0.2);
    --shadow-sm: 0 2px 8px rgba(0,90,140,0.08);
    --shadow-md: 0 8px 32px rgba(0,90,140,0.13);
    --shadow-lg: 0 20px 60px rgba(0,90,140,0.18);
    --glass-bg-light: rgba(240,249,255,0.8);
}

/* Body */
[data-theme="light"] body {
    background: #F0F9FF;
}

/* ── Navbar ───────────────────────────────── */
[data-theme="light"] .navbar {
    background: rgba(220,243,255,0.92);
    backdrop-filter: blur(24px) saturate(200%);
    -webkit-backdrop-filter: blur(24px) saturate(200%);
    border-bottom: 1px solid rgba(62,173,212,0.22);
    box-shadow: 0 2px 28px rgba(0,100,160,0.1), inset 0 -1px 0 rgba(62,173,212,0.12);
}
[data-theme="light"] .navbar::before {
    background: linear-gradient(90deg, transparent, rgba(62,173,212,0.4), rgba(201,168,76,0.6), rgba(62,173,212,0.4), transparent);
}
[data-theme="light"] .navbar.scrolled {
    background: rgba(225,245,255,0.97);
    box-shadow: 0 4px 32px rgba(0,100,160,0.12);
}
[data-theme="light"] .logo-title {
    color: var(--primary-color);
    text-shadow: none;
}
[data-theme="light"] .nav-links a {
    color: rgba(13,27,62,0.85);
    text-shadow: none;
}
[data-theme="light"] .nav-links a:hover,
[data-theme="light"] .nav-links a.active {
    color: #1E88BE;
}
[data-theme="light"] .nav-links a::after {
    background: #3EADD4;
}
[data-theme="light"] .lang-btn {
    border-color: rgba(62,173,212,0.3);
    background: rgba(62,173,212,0.08);
    color: var(--primary-color);
}
[data-theme="light"] .lang-btn:hover {
    background: rgba(62,173,212,0.16);
    border-color: #3EADD4;
    color: var(--primary-color);
}
[data-theme="light"] .mobile-menu-toggle span {
    background-color: var(--primary-color);
}
/* Mobile nav panel */
[data-theme="light"] .nav-links {
    background: rgba(220,243,255,0.98);
    backdrop-filter: blur(24px);
    box-shadow: 4px 0 40px rgba(0,100,160,0.14);
}

/* ── Dropdown ─────────────────────────────── */
[data-theme="light"] .nav-dropdown-menu {
    background: rgba(225,245,255,0.98);
    backdrop-filter: blur(20px);
    border-color: rgba(62,173,212,0.18);
    border-top-color: #3EADD4;
    box-shadow: 0 16px 48px rgba(0,100,160,0.14);
}
[data-theme="light"] .nav-dropdown-menu a {
    color: rgba(13,27,62,0.8) !important;
}
[data-theme="light"] .nav-dropdown-menu a:hover {
    background: rgba(62,173,212,0.1);
    color: #1E88BE !important;
}

/* ── Hero ─────────────────────────────────── */
[data-theme="light"] .hero {
    background: linear-gradient(160deg, #7EC8E3 0%, #A8DCED 30%, #C8EDFB 65%, #B3E0F2 100%);
    color: var(--primary-color);
}
/* Video tinted sky-blue in light mode */
[data-theme="light"] .hero-video {
    filter: brightness(0.82) contrast(1.05) saturate(0.65);
}
[data-theme="light"] .hero-overlay {
    background: linear-gradient(160deg, rgba(30,136,190,0.62) 0%, rgba(62,173,212,0.50) 50%, rgba(126,200,227,0.42) 100%);
}
[data-theme="light"] .hero-title {
    color: #0D1B3E;
    text-shadow: 0 1px 12px rgba(255,255,255,0.5);
}
[data-theme="light"] .hero-tagline {
    color: #0D4A6E;
}
[data-theme="light"] .hero-subtitle {
    color: rgba(8,32,68,0.78);
}
[data-theme="light"] .hero-bullets li {
    color: rgba(8,32,68,0.82);
}
/* Glow & effects on sky bg */
[data-theme="light"] .hero-glow {
    background: radial-gradient(ellipse at center,
        rgba(255,255,255,0.45) 0%,
        rgba(62,173,212,0.15) 40%,
        transparent 70%);
}
[data-theme="light"] .hero-lines span {
    background: linear-gradient(180deg,
        transparent 0%,
        transparent 15%,
        rgba(255,255,255,0.35) 50%,
        transparent 85%,
        transparent 100%);
}
[data-theme="light"] .hero-scan {
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(255,255,255,0.0) 5%,
        rgba(255,255,255,0.7) 35%,
        rgba(201,168,76,1) 50%,
        rgba(255,255,255,0.7) 65%,
        rgba(255,255,255,0.0) 95%,
        transparent 100%);
    box-shadow:
        0 0 10px 2px rgba(255,255,255,0.6),
        0 0 40px 8px rgba(62,173,212,0.2);
}
[data-theme="light"] .hero-scan::after {
    background: linear-gradient(180deg, rgba(255,255,255,0.14) 0%, transparent 100%);
}
[data-theme="light"] .hero-scan-grid {
    background-image: radial-gradient(circle, rgba(255,255,255,0.5) 1px, transparent 1px);
}

/* ── Page header (inner pages) ────────────── */
[data-theme="light"] .page-header {
    background: linear-gradient(160deg, #7EC8E3 0%, #A8DCED 30%, #C8EDFB 65%, #B3E0F2 100%);
}
[data-theme="light"] .page-header h1 {
    color: #0D1B3E;
    text-shadow: 0 1px 12px rgba(255,255,255,0.5);
}
[data-theme="light"] .page-header h1::after {
    background: linear-gradient(90deg, rgba(201,168,76,0.9), transparent);
}
[data-theme="light"] .page-header p {
    color: rgba(8,32,68,0.75);
    text-shadow: none;
}
[data-theme="light"] .page-header::before {
    background: radial-gradient(ellipse 50% 80% at 50% 0%, rgba(255,255,255,0.25) 0%, transparent 60%);
}
[data-theme="light"] .page-header .hero-scan-grid {
    background-image: radial-gradient(circle, rgba(255,255,255,0.45) 1px, transparent 1px);
}

/* ── Stats banner ─────────────────────────── */
/* Keep dark — high-contrast strip anchors both themes */
[data-theme="light"] .stats-banner {
    background: linear-gradient(135deg, #0D3A5C 0%, #1A5E8A 50%, #0D3A5C 100%);
}

/* ── Credentials bar ──────────────────────── */
/* Keep dark — intentional contrast strip */

/* ── Intro / content sections ─────────────── */
[data-theme="light"] .intro-section {
    background: #F0F9FF;
}
[data-theme="light"] .intro-quote {
    border-left-color: #3EADD4;
    color: #1A5E8A;
}

/* ── Insights section ─────────────────────── */
[data-theme="light"] .insights-section {
    background: #DDF0FA;
}
[data-theme="light"] .insight-card {
    background: #ffffff;
    border-color: rgba(62,173,212,0.15);
    box-shadow: 0 2px 16px rgba(0,100,160,0.08);
}
[data-theme="light"] .insight-card:hover {
    border-color: rgba(62,173,212,0.35);
    box-shadow: 0 8px 32px rgba(0,100,160,0.12);
}

/* ── News section ─────────────────────────── */
[data-theme="light"] .news-section {
    background: #F0F9FF;
}
[data-theme="light"] .news-card {
    background: #ffffff;
    border-color: rgba(62,173,212,0.15);
    box-shadow: 0 2px 12px rgba(0,100,160,0.07);
}
[data-theme="light"] .news-card:hover {
    box-shadow: 0 8px 28px rgba(0,100,160,0.12);
}

/* ── Partners strip ───────────────────────── */
[data-theme="light"] .partners-section {
    background: #DDF0FA;
    border-top-color: rgba(62,173,212,0.18);
    border-bottom-color: rgba(62,173,212,0.18);
}

/* ── Benefits / services sections ─────────── */
[data-theme="light"] .benefits-section {
    background: #F0F9FF;
}
[data-theme="light"] .service-card,
[data-theme="light"] .benefit-card {
    background: #ffffff;
    border-color: rgba(62,173,212,0.15);
    box-shadow: 0 2px 12px rgba(0,100,160,0.07);
}
[data-theme="light"] .service-card:hover,
[data-theme="light"] .benefit-card:hover {
    border-color: #3EADD4;
    box-shadow: 0 8px 32px rgba(0,100,160,0.12);
}

/* ── Domestic / international sections ────── */
[data-theme="light"] .domestic-section {
    background: #ffffff;
}
[data-theme="light"] .international-section {
    background: #DDF0FA;
}

/* ── Steps section ────────────────────────── */
[data-theme="light"] .steps-section {
    background: #F0F9FF;
}
[data-theme="light"] .step-card {
    background: #ffffff;
    border-color: rgba(62,173,212,0.15);
    box-shadow: 0 2px 12px rgba(0,100,160,0.07);
}

/* ── CTA section ──────────────────────────── */
[data-theme="light"] .cta-section {
    background: linear-gradient(160deg, #7EC8E3 0%, #A8DCED 40%, #B8DCF0 100%);
}
[data-theme="light"] .cta-section::before {
    background:
        radial-gradient(ellipse 60% 80% at 50% 0%, rgba(255,255,255,0.25) 0%, transparent 55%),
        radial-gradient(ellipse 40% 60% at 0% 100%, rgba(0,80,130,0.15) 0%, transparent 50%),
        radial-gradient(ellipse 40% 60% at 100% 100%, rgba(0,80,130,0.15) 0%, transparent 50%);
}
[data-theme="light"] .cta-content {
    background: rgba(255,255,255,0.88);
    border-color: rgba(62,173,212,0.3);
    box-shadow: 0 24px 64px rgba(0,80,140,0.18);
}
[data-theme="light"] .cta-content h2 {
    color: #0D1B3E;
}
[data-theme="light"] .cta-content p {
    color: rgba(8,32,68,0.72);
    opacity: 1;
}
[data-theme="light"] .cta-section .btn-secondary {
    color: #0D1B3E;
    border-color: rgba(13,27,62,0.35);
    background: transparent;
}
[data-theme="light"] .cta-section .btn-secondary:hover {
    background: rgba(13,27,62,0.07);
    border-color: #0D1B3E;
}
[data-theme="light"] .cta-section .hero-scan {
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(255,255,255,0.6) 35%,
        rgba(201,168,76,0.95) 50%,
        rgba(255,255,255,0.6) 65%,
        transparent 100%);
    box-shadow: 0 0 10px 2px rgba(255,255,255,0.5), 0 0 40px 8px rgba(62,173,212,0.18);
}
[data-theme="light"] .cta-section .hero-scan-grid {
    background-image: radial-gradient(circle, rgba(255,255,255,0.4) 1px, transparent 1px);
}

/* ── Accordion ────────────────────────────── */
[data-theme="light"] .accordion-item {
    background: rgba(255,255,255,0.95);
    border-color: rgba(62,173,212,0.15);
}
[data-theme="light"] .accordion-item:hover {
    border-color: rgba(62,173,212,0.35);
}
[data-theme="light"] .accordion-header {
    background-color: #EBF7FD;
}
[data-theme="light"] .accordion-header:hover {
    background-color: #D6EFF9;
}

/* ── Contact section ──────────────────────── */
[data-theme="light"] .contact-section {
    background: #F0F9FF;
}
[data-theme="light"] .contact-form-wrapper {
    background: linear-gradient(145deg, #ffffff 0%, #EBF7FD 100%);
    border-color: rgba(62,173,212,0.2);
    box-shadow: 0 8px 40px rgba(0,100,160,0.1), inset 0 1px 0 rgba(255,255,255,1);
}
[data-theme="light"] .form-group input:focus,
[data-theme="light"] .form-group select:focus,
[data-theme="light"] .form-group textarea:focus {
    border-color: #3EADD4;
    box-shadow: 0 0 0 3px rgba(62,173,212,0.16);
}

/* ── Info & attorney boxes ────────────────── */
[data-theme="light"] .info-box {
    background: #EBF7FD;
    border-left-color: #3EADD4;
}
[data-theme="light"] .attorney-role-box {
    background: #DDF0FA;
}

/* ── Toggle button sky-mode style ────────── */
[data-theme="light"] .theme-toggle {
    background: linear-gradient(135deg, #3EADD4, #1E88BE);
    color: #ffffff;
    border-color: rgba(255,255,255,0.5);
    box-shadow: 0 4px 24px rgba(0,100,160,0.3);
}
[data-theme="light"] .theme-toggle:hover {
    box-shadow: 0 6px 32px rgba(0,120,180,0.45), 0 0 0 4px rgba(62,173,212,0.2);
}

