/* ============================================================
   KALIBOR ADVISORS — Corporate Stylesheet v3
   Navy #0D1F3C | Gold #B8962E | White #FFFFFF
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  --navy:       #0D1F3C;
  --navy-mid:   #152a4a;
  --navy-light: #1e3a5f;
  --gold:       #B8962E;
  --gold-light: #d4ae4e;
  --gold-pale:  #f7f0dd;
  --ivory:      #FAFAF8;
  --white:      #FFFFFF;
  --grey-light: #F3F5F8;
  --grey-mid:   #E5E9EF;
  --grey-text:  #5c6a7e;
  --text-dark:  #0D1F3C;
  --border:     #dde3ec;
  --shadow-sm:  0 2px 10px rgba(13,31,60,0.06);
  --shadow:     0 6px 28px rgba(13,31,60,0.10);
  --shadow-lg:  0 20px 56px rgba(13,31,60,0.14);
  --radius:     8px;
  --radius-lg:  14px;
  --radius-xl:  22px;
  --transition: all 0.25s cubic-bezier(0.4,0,0.2,1);
  --font-serif: 'Playfair Display', Georgia, serif;
  --font-sans:  'Inter', system-ui, sans-serif;
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:16px; }
body { font-family:var(--font-sans); color:var(--text-dark); background:var(--white); line-height:1.72; overflow-x:hidden; -webkit-font-smoothing:antialiased; }
img  { max-width:100%; height:auto; display:block; }
a    { color:inherit; text-decoration:none; transition:var(--transition); }
ul   { list-style:none; }

/* ── Typography ─────────────────────────────────────────── */
h1,h2,h3,h4,h5 { font-family:var(--font-serif); font-weight:700; line-height:1.18; color:var(--navy); letter-spacing:-0.02em; }
h1 { font-size:clamp(2.2rem,4.5vw,3.6rem); }
h2 { font-size:clamp(1.7rem,3vw,2.5rem); }
h3 { font-size:clamp(1.1rem,2vw,1.35rem); }
h4 { font-size:1rem; font-family:var(--font-sans); }
p  { color:var(--grey-text); font-size:0.955rem; line-height:1.75; }

.eyebrow {
  display:flex; align-items:center; gap:12px;
  font-size:0.72rem; font-weight:700; text-transform:uppercase;
  letter-spacing:3px; color:var(--gold); margin-bottom:18px;
}
.eyebrow::before { content:''; display:block; width:32px; height:1.5px; background:var(--gold); flex-shrink:0; }
.section-label { /* alias */ display:block; font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:3px; color:var(--gold); margin-bottom:12px; }

/* ── Layout ─────────────────────────────────────────────── */
.container   { max-width:1200px; margin:0 auto; padding:0 28px; }
.section     { padding:90px 0; }
.section-sm  { padding:56px 0; }
.section-lg  { padding:112px 0; }

.grid-2    { display:grid; grid-template-columns:repeat(2,1fr); gap:36px; }
.grid-3    { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.grid-4    { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.grid-5    { display:grid; grid-template-columns:repeat(5,1fr); gap:24px; }
.grid-auto { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:26px; }

.section-header          { margin-bottom:52px; }
.section-header.centered { text-align:center; }
.section-header.centered .section-subtitle { margin:0 auto; }
.section-title    { margin-bottom:14px; }
.section-subtitle { color:var(--grey-text); max-width:600px; font-size:1rem; }

.divider        { width:40px; height:2px; background:var(--gold); margin:14px 0 22px; border-radius:2px; }
.divider.centered { margin:14px auto 22px; }

/* ── Buttons ─────────────────────────────────────────────── */
.btn {
  display:inline-flex; align-items:center; gap:9px;
  padding:13px 28px; border-radius:var(--radius);
  font-family:var(--font-sans); font-weight:600; font-size:0.875rem;
  letter-spacing:0.2px; cursor:pointer; border:1.5px solid transparent;
  transition:var(--transition); white-space:nowrap;
}
.btn-primary { background:var(--gold); color:var(--white); border-color:var(--gold); }
.btn-primary:hover { background:var(--gold-light); border-color:var(--gold-light); transform:translateY(-1px); box-shadow:0 6px 20px rgba(184,150,46,0.28); }
.btn-outline { background:transparent; color:var(--white); border-color:rgba(255,255,255,0.50); }
.btn-outline:hover { background:rgba(255,255,255,0.10); border-color:rgba(255,255,255,0.80); }
.btn-outline-dark { background:transparent; color:var(--navy); border-color:var(--border); }
.btn-outline-dark:hover { background:var(--navy); color:var(--white); border-color:var(--navy); }
.btn-navy { background:var(--navy); color:var(--white); border-color:var(--navy); }
.btn-navy:hover { background:var(--navy-mid); transform:translateY(-1px); box-shadow:var(--shadow); }
.btn-sm  { padding:9px 20px; font-size:0.82rem; }
.btn-lg  { padding:15px 36px; font-size:0.92rem; }
.btn svg { width:16px; height:16px; flex-shrink:0; }

/* ── Top Bar ─────────────────────────────────────────────── */
#topbar {
  background:var(--navy);
  border-bottom:1px solid rgba(255,255,255,0.06);
  padding:9px 0;
  font-size:0.8rem;
}
.topbar-inner {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.topbar-contact { display:flex; align-items:center; gap:24px; }
.topbar-contact a {
  display:flex; align-items:center; gap:7px;
  color:rgba(255,255,255,0.60); font-weight:500;
  transition:color 0.2s;
}
.topbar-contact a:hover { color:var(--gold-light); }
.topbar-contact svg { width:14px; height:14px; stroke:var(--gold); fill:none; stroke-width:1.8; flex-shrink:0; }
.topbar-social { display:flex; align-items:center; gap:6px; }
.topbar-social span { color:rgba(255,255,255,0.35); font-size:0.75rem; margin-right:4px; }
.topbar-social a {
  width:28px; height:28px; display:flex; align-items:center; justify-content:center;
  border-radius:6px; background:rgba(255,255,255,0.06);
  color:rgba(255,255,255,0.55); font-size:0.78rem; font-weight:600;
  transition:var(--transition);
}
.topbar-social a:hover { background:var(--gold); color:var(--white); }

/* ── Navigation ─────────────────────────────────────────── */
#navbar {
  position:sticky; top:0; left:0; right:0; z-index:1000;
  background:var(--navy-mid);
  border-bottom:1px solid rgba(255,255,255,0.07);
  padding:0;
  transition:box-shadow 0.3s ease;
}
#navbar.scrolled { box-shadow:0 4px 24px rgba(0,0,0,0.2); }

.nav-inner {
  display:flex; align-items:stretch; justify-content:space-between;
  height:64px;
}

/* Logo */
.nav-logo {
  display:flex; flex-direction:column; justify-content:center;
  padding-right:32px; border-right:1px solid rgba(255,255,255,0.07);
  text-decoration:none;
}
.nav-logo-name {
  font-family:var(--font-serif); font-size:1.5rem; font-weight:700;
  color:var(--white); letter-spacing:-0.5px; line-height:1;
}
.nav-logo-name span { color:var(--gold); }
.nav-logo-sub {
  font-size:0.6rem; font-weight:700; letter-spacing:4px;
  text-transform:uppercase; color:rgba(255,255,255,0.38);
  margin-top:3px;
}

/* Nav links */
.nav-menu {
  display:flex; align-items:stretch; flex:1;
  padding:0 16px; gap:0;
}
.nav-item { display:flex; align-items:stretch; }
.nav-link {
  display:inline-flex; align-items:center; gap:5px;
  color:rgba(255,255,255,0.72); font-size:0.875rem; font-weight:500;
  padding:0 16px; position:relative; transition:color 0.2s;
  white-space:nowrap;
}
.nav-link::after {
  content:''; position:absolute; bottom:0; left:16px; right:16px;
  height:2px; background:var(--gold);
  transform:scaleX(0); transform-origin:center;
  transition:transform 0.25s ease;
}
.nav-link:hover, .nav-link.active { color:var(--white); }
.nav-link:hover::after, .nav-link.active::after { transform:scaleX(1); }

.nav-chevron { stroke:rgba(255,255,255,0.45); transition:transform 0.25s ease, stroke 0.2s; flex-shrink:0; }
.nav-mega-parent:hover .nav-chevron { transform:rotate(180deg); stroke:var(--gold); }

.nav-right { display:flex; align-items:center; padding-left:20px; border-left:1px solid rgba(255,255,255,0.07); }

.nav-toggle { display:none; background:none; border:none; color:var(--white); cursor:pointer; padding:8px; }
.nav-toggle svg { width:22px; height:22px; }

/* ── Mega Menu ───────────────────────────────────────────── */
.nav-mega-parent { position:static; }

.mega-menu {
  position:absolute; top:100%; left:0; right:0; z-index:999;
  opacity:0; visibility:hidden; transform:translateY(-4px);
  transition:opacity 0.22s ease, transform 0.22s ease, visibility 0.22s;
  pointer-events:none;
}
.nav-mega-parent:hover .mega-menu,
.nav-mega-parent.open  .mega-menu {
  opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto;
}

/* Arrow pointer */
.mega-menu::before {
  content:''; position:absolute; top:-7px;
  left:var(--arrow-left, 50%); transform:translateX(-50%);
  width:14px; height:14px;
  background:var(--white); border-left:1px solid var(--border); border-top:1px solid var(--border);
  transform:translateX(-50%) rotate(45deg);
  z-index:1;
}

.mega-panel {
  background:var(--white);
  border:1px solid var(--border);
  border-radius:0 0 var(--radius-lg) var(--radius-lg);
  box-shadow:0 24px 60px rgba(13,31,60,0.13);
  overflow:hidden;
}

/* 5-column service grid */
.mega-cols {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0;
  padding:28px 20px 20px;
}

.mega-col { padding:0 16px; border-right:1px solid var(--grey-mid); }
.mega-col:last-child { border-right:none; }

/* Column header link */
.mega-col-head {
  display:flex; align-items:flex-start; gap:12px;
  padding-bottom:14px; margin-bottom:12px;
  border-bottom:1px solid var(--grey-mid);
  text-decoration:none;
}
.mega-col-head:hover .mega-col-title { color:var(--gold); }

.mega-col-icon {
  width:38px; height:38px; flex-shrink:0; border-radius:9px;
  background:var(--grey-light);
  display:flex; align-items:center; justify-content:center;
}
.mega-col-icon svg { width:18px; height:18px; stroke:var(--navy); fill:none; stroke-width:1.7; }

.mega-col-info {}
.mega-col-title { font-size:0.86rem; font-weight:700; color:var(--navy); display:block; margin-bottom:3px; transition:color 0.2s; }
.mega-col-desc  { font-size:0.72rem; color:var(--grey-text); line-height:1.4; display:block; }

/* Sub links */
.mega-links { display:flex; flex-direction:column; gap:1px; }
.mega-link {
  font-size:0.80rem; color:var(--grey-text); font-weight:500;
  padding:5px 6px; border-radius:5px;
  display:block; transition:all 0.16s ease;
}
.mega-link:hover { color:var(--navy); background:var(--grey-light); padding-left:10px; }

/* SaaS "View All" */
.mega-col-cta {
  display:inline-flex; align-items:center; gap:5px;
  margin-top:12px; font-size:0.78rem; font-weight:700;
  color:var(--gold); border:1px solid var(--gold-pale);
  background:var(--gold-pale); padding:6px 12px;
  border-radius:5px; transition:var(--transition);
}
.mega-col-cta:hover { background:var(--gold); color:var(--white); }

/* Bottom feature bar */
.mega-features {
  display:grid; grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--grey-mid);
  background:var(--grey-light);
}
.mega-feature {
  display:flex; align-items:center; gap:12px;
  padding:14px 20px; border-right:1px solid var(--grey-mid);
}
.mega-feature:last-child { border-right:none; }
.mega-feature-icon {
  width:34px; height:34px; flex-shrink:0; border-radius:8px;
  background:var(--white); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
}
.mega-feature-icon svg { width:16px; height:16px; stroke:var(--gold); fill:none; stroke-width:1.8; }
.mega-feature-title { font-size:0.78rem; font-weight:700; color:var(--navy); display:block; }
.mega-feature-desc  { font-size:0.7rem; color:var(--grey-text); line-height:1.3; }

/* ── Hero ────────────────────────────────────────────────── */
.hero {
  position:relative; min-height:92vh;
  display:flex; align-items:center;
  background:var(--navy);
  overflow:hidden;
}
.hero-bg {
  position:absolute; inset:0;
  background:
    linear-gradient(100deg, rgba(13,31,60,0.97) 0%, rgba(13,31,60,0.80) 55%, rgba(13,31,60,0.45) 100%),
    url('https://images.unsplash.com/photo-1512453979798-5ea266f8880c?w=1600&q=80&auto=format') center/cover no-repeat;
}
.hero-bg::after {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse at 20% 60%, rgba(184,150,46,0.08) 0%, transparent 55%);
}
.hero-content {
  position:relative; z-index:2;
  max-width:620px; padding:80px 0;
}
.hero h1 { color:var(--white); font-size:clamp(2.4rem,4.5vw,3.8rem); margin-bottom:20px; line-height:1.1; }
.hero h1 em { font-style:normal; color:var(--gold); display:block; }
.hero-desc { color:rgba(255,255,255,0.62); font-size:1.02rem; line-height:1.78; margin-bottom:36px; max-width:520px; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; }

/* ── Stats Row (white bar) ───────────────────────────────── */
.stats-row {
  background:var(--white);
  border-bottom:1px solid var(--border);
}
.stats-row-inner {
  display:grid;
  grid-template-columns:1fr 1fr 1fr 1fr auto;
  align-items:center;
}
.stats-row-stat {
  display:flex; align-items:center; gap:14px;
  padding:22px 28px;
  border-right:1px solid var(--border);
}
.stats-row-stat-icon {
  width:46px; height:46px; flex-shrink:0; border-radius:12px;
  background:var(--grey-light); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
}
.stats-row-stat-icon svg { width:20px; height:20px; stroke:var(--gold); fill:none; stroke-width:1.7; }
.stats-row-stat-num  { font-family:var(--font-serif); font-size:1.7rem; font-weight:700; color:var(--navy); display:block; line-height:1; }
.stats-row-stat-label { font-size:0.78rem; color:var(--grey-text); margin-top:2px; }
.stats-row-cta {
  background:var(--navy); padding:22px 32px;
  display:flex; align-items:center; gap:24px;
  min-width:340px;
}
.stats-row-cta-text strong { display:block; color:var(--white); font-size:0.92rem; font-weight:600; }
.stats-row-cta-text span  { color:rgba(255,255,255,0.50); font-size:0.78rem; }

/* ── Service Cards ───────────────────────────────────────── */
.svc-card {
  padding:28px 24px; border-radius:var(--radius-lg);
  border:1px solid var(--border); background:var(--white);
  transition:var(--transition);
}
.svc-card:hover { border-color:var(--gold); box-shadow:var(--shadow-lg); transform:translateY(-4px); }
.svc-card-icon {
  width:52px; height:52px; border-radius:12px;
  background:var(--grey-light);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:18px; transition:var(--transition);
}
.svc-card-icon svg { width:24px; height:24px; fill:none; stroke-width:1.7; }
.svc-card:hover .svc-card-icon { background:var(--navy); }
.svc-card:hover .svc-card-icon svg { stroke:var(--gold); }
.svc-card h3 { font-family:var(--font-sans); font-size:0.95rem; font-weight:700; margin-bottom:8px; color:var(--navy); }
.svc-card p  { font-size:0.85rem; line-height:1.65; }
.svc-card-link {
  display:inline-flex; align-items:center; gap:5px;
  color:var(--gold); font-size:0.82rem; font-weight:600;
  margin-top:14px; transition:gap 0.2s ease;
}
.svc-card:hover .svc-card-link { gap:9px; }

/* ── About Split ─────────────────────────────────────────── */
.about-img-wrap {
  position:relative; border-radius:var(--radius-xl); overflow:hidden;
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%);
  min-height:420px;
  display:flex; align-items:center; justify-content:center;
}
.about-img-wrap img { width:100%; height:100%; object-fit:cover; }
.about-badge {
  position:absolute; bottom:24px; left:24px;
  background:var(--white); border-radius:var(--radius-lg);
  padding:16px 20px; box-shadow:var(--shadow-lg);
  display:flex; align-items:center; gap:12px;
}
.about-badge-num { font-family:var(--font-serif); font-size:1.6rem; font-weight:700; color:var(--navy); }
.about-badge-label { font-size:0.78rem; color:var(--grey-text); line-height:1.3; }

/* ── Feature Items ───────────────────────────────────────── */
.feature-item { display:flex; gap:14px; align-items:flex-start; }
.feature-icon {
  width:42px; height:42px; flex-shrink:0; border-radius:10px;
  background:var(--gold-pale); display:flex; align-items:center; justify-content:center;
}
.feature-icon svg { width:18px; height:18px; stroke:var(--gold); fill:none; stroke-width:2; }
.feature-body h4 { font-family:var(--font-sans); font-size:0.9rem; font-weight:700; margin-bottom:3px; color:var(--navy); }
.feature-body p  { font-size:0.84rem; }

/* ── Process ─────────────────────────────────────────────── */
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative; }
.process-grid::before {
  content:''; position:absolute; top:28px; left:14%; right:14%;
  height:1px; background:var(--border); z-index:0;
}
.process-step { text-align:center; padding:0 20px; position:relative; z-index:1; }
.step-circle {
  width:56px; height:56px; border-radius:50%;
  background:var(--navy); color:var(--gold);
  font-family:var(--font-serif); font-size:1.1rem; font-weight:700;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 20px; border:3px solid var(--white); box-shadow:0 0 0 1px var(--border);
}
.process-step h4 { font-family:var(--font-sans); font-size:0.9rem; font-weight:700; margin-bottom:6px; }
.process-step p  { font-size:0.82rem; }

/* ── FAQ ─────────────────────────────────────────────────── */
.faq-item { border-bottom:1px solid var(--border); }
.faq-q {
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 0; cursor:pointer; gap:16px;
  font-size:0.93rem; font-weight:600; color:var(--navy);
  transition:color 0.2s;
}
.faq-q:hover { color:var(--gold); }
.faq-q.active { color:var(--gold); }
.faq-q-icon {
  width:26px; height:26px; border-radius:50%; border:1.5px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  color:var(--grey-text); font-size:1rem; flex-shrink:0;
  transition:transform 0.25s ease, border-color 0.2s, color 0.2s;
}
.faq-q.active .faq-q-icon { transform:rotate(45deg); border-color:var(--gold); color:var(--gold); }
.faq-a { max-height:0; overflow:hidden; transition:max-height 0.35s ease, padding 0.3s; }
.faq-a.open { max-height:260px; padding-bottom:18px; }
.faq-a p { font-size:0.9rem; line-height:1.78; }

/* ── Blog ─────────────────────────────────────────────────── */
.blog-card { background:var(--white); border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; transition:var(--transition); }
.blog-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.blog-img { height:190px; background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%); display:flex; align-items:center; justify-content:center; font-size:2.5rem; overflow:hidden; }
.blog-img img { width:100%; height:100%; object-fit:cover; }
.blog-body { padding:24px; }
.blog-cat  { font-size:0.7rem; font-weight:700; text-transform:uppercase; letter-spacing:2px; color:var(--gold); margin-bottom:8px; display:block; }
.blog-body h3 { font-family:var(--font-sans); font-size:0.95rem; font-weight:700; margin-bottom:8px; line-height:1.45; color:var(--navy); }
.blog-body h3 a:hover { color:var(--gold); }
.blog-body p { font-size:0.84rem; margin-bottom:12px; }
.blog-meta { font-size:0.76rem; color:var(--grey-text); }

/* ── Generic Card ─────────────────────────────────────────── */
.card { background:var(--white); border:1px solid var(--border); border-radius:var(--radius-lg); padding:32px 28px; transition:var(--transition); }
.card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:var(--gold-pale); }
.card-arrow { display:inline-flex; align-items:center; gap:5px; color:var(--gold); font-size:0.82rem; font-weight:600; margin-top:14px; }
.card-arrow svg { width:14px; height:14px; transition:transform 0.2s; }
.card:hover .card-arrow svg { transform:translateX(4px); }

/* ── Service Card (detail pages) ─────────────────────────── */
.service-card { background:var(--white); border:1px solid var(--border); border-radius:var(--radius-lg); padding:32px 26px; transition:var(--transition); }
.service-card:hover { border-color:rgba(184,150,46,0.4); box-shadow:var(--shadow-lg); transform:translateY(-4px); }
.service-card .icon-wrap { width:50px; height:50px; border-radius:11px; background:var(--grey-light); display:flex; align-items:center; justify-content:center; margin-bottom:18px; font-size:1.5rem; transition:var(--transition); }
.service-card:hover .icon-wrap { background:var(--navy); }
.service-card h3 { font-family:var(--font-sans); font-size:1rem; font-weight:700; margin-bottom:8px; }
.service-card ul { margin-top:14px; }
.service-card ul li { font-size:0.84rem; color:var(--grey-text); padding:5px 0 5px 14px; position:relative; border-bottom:1px solid var(--grey-mid); }
.service-card ul li:last-child { border-bottom:none; }
.service-card ul li::before { content:''; position:absolute; left:0; top:50%; transform:translateY(-50%); width:5px; height:5px; background:var(--gold); border-radius:50%; }

/* ── Product Cards ────────────────────────────────────────── */
.product-card { background:var(--white); border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; transition:var(--transition); }
.product-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:var(--gold-pale); }
.product-card-header { background:var(--navy); padding:28px; }
.product-card-header .icon { font-size:1.8rem; margin-bottom:12px; }
.product-card-header h3 { color:var(--white); font-size:1rem; margin-bottom:4px; }
.product-card-header p  { color:rgba(255,255,255,0.50); font-size:0.82rem; }
.product-card-body { padding:22px 26px; }
.product-features li { padding:6px 0; font-size:0.84rem; color:var(--grey-text); display:flex; align-items:center; gap:8px; border-bottom:1px solid var(--grey-mid); }
.product-features li:last-child { border-bottom:none; }
.product-features li::before { content:'✓'; color:var(--gold); font-weight:700; flex-shrink:0; }
.product-cta { padding:0 26px 26px; }

/* ── CTA Banner ───────────────────────────────────────────── */
.cta-banner { background:var(--navy); border-radius:var(--radius-xl); padding:68px 60px; text-align:center; position:relative; overflow:hidden; }
.cta-banner::before { content:''; position:absolute; width:500px; height:500px; border-radius:50%; background:radial-gradient(circle,rgba(184,150,46,0.07) 0%,transparent 70%); top:-200px; left:50%; transform:translateX(-50%); }
.cta-banner > * { position:relative; z-index:2; }
.cta-banner h2 { color:var(--white); margin-bottom:12px; }
.cta-banner p  { color:rgba(255,255,255,0.55); margin-bottom:32px; max-width:500px; margin-left:auto; margin-right:auto; }
.cta-banner .actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* ── Page Hero ────────────────────────────────────────────── */
.page-hero { background:var(--navy); padding:110px 0 68px; text-align:center; position:relative; overflow:hidden; }
.page-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 0%,rgba(184,150,46,0.06) 0%,transparent 60%); }
.page-hero .container { position:relative; z-index:2; }
.page-hero h1 { color:var(--white); margin-bottom:14px; }
.page-hero > .container > p { color:rgba(255,255,255,0.56); max-width:560px; margin:0 auto; font-size:1rem; }

/* ── Breadcrumb ───────────────────────────────────────────── */
.breadcrumb { display:flex; align-items:center; gap:7px; font-size:0.78rem; color:rgba(255,255,255,0.38); justify-content:center; margin-bottom:16px; flex-wrap:wrap; }
.breadcrumb a { color:rgba(255,255,255,0.38); }
.breadcrumb a:hover { color:var(--gold); }
.breadcrumb .sep { color:rgba(255,255,255,0.18); }
.breadcrumb .current { color:var(--gold); }

/* ── Highlight Box ────────────────────────────────────────── */
.highlight-box { background:var(--ivory); border:1px solid var(--border); border-radius:var(--radius-lg); padding:32px; }

/* ── Contact Info ─────────────────────────────────────────── */
.contact-info-item { display:flex; gap:14px; align-items:flex-start; padding:18px 0; border-bottom:1px solid var(--border); }
.contact-info-item:last-child { border-bottom:none; }
.contact-icon { width:44px; height:44px; background:var(--navy); border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.contact-icon svg { width:19px; height:19px; stroke:var(--gold); fill:none; stroke-width:1.8; }
.contact-detail strong { display:block; font-size:0.74rem; text-transform:uppercase; letter-spacing:1px; color:var(--grey-text); margin-bottom:3px; }
.contact-detail a, .contact-detail span { color:var(--navy); font-weight:600; font-size:0.92rem; }
.contact-detail a:hover { color:var(--gold); }

/* ── Forms ────────────────────────────────────────────────── */
.form-group { margin-bottom:18px; }
.form-group label { display:block; font-size:0.8rem; font-weight:600; color:var(--navy); margin-bottom:6px; letter-spacing:0.2px; }
.form-control { width:100%; padding:11px 14px; border-radius:var(--radius); border:1.5px solid var(--border); background:var(--white); color:var(--text-dark); font-size:0.9rem; transition:var(--transition); font-family:var(--font-sans); }
.form-control:focus { outline:none; border-color:var(--navy); box-shadow:0 0 0 3px rgba(13,31,60,0.07); }
.form-control::placeholder { color:#b0b8c4; }
select.form-control { cursor:pointer; }
textarea.form-control { resize:vertical; min-height:128px; }
.form-alert { padding:12px 16px; border-radius:var(--radius); font-size:0.87rem; font-weight:500; margin-bottom:18px; }
.form-alert.success { background:#f0fdf4; color:#15803d; border:1px solid #bbf7d0; }
.form-alert.error   { background:#fef2f2; color:#b91c1c; border:1px solid #fecaca; }

/* ── Footer ───────────────────────────────────────────────── */
.footer { background:var(--navy); }
.footer-top { padding:72px 0 52px; border-bottom:1px solid rgba(255,255,255,0.07); }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:52px; }
.footer-brand .logo { font-family:var(--font-serif); font-size:1.5rem; font-weight:700; color:var(--white); display:block; margin-bottom:6px; }
.footer-brand .logo span { color:var(--gold); }
.footer-brand .logo-sub { font-size:0.58rem; font-weight:700; letter-spacing:4px; text-transform:uppercase; color:rgba(255,255,255,0.28); margin-bottom:16px; display:block; }
.footer-brand p { font-size:0.85rem; color:rgba(255,255,255,0.42); line-height:1.75; max-width:260px; }
.footer-social { display:flex; gap:8px; margin-top:22px; }
.footer-social a { width:32px; height:32px; border-radius:7px; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.08); display:flex; align-items:center; justify-content:center; transition:var(--transition); font-size:0.75rem; font-weight:700; color:rgba(255,255,255,0.50); }
.footer-social a:hover { background:var(--gold); border-color:var(--gold); color:var(--white); }
.footer-col h5 { color:var(--white); font-size:0.74rem; font-weight:700; font-family:var(--font-sans); margin-bottom:18px; text-transform:uppercase; letter-spacing:2.5px; }
.footer-links li { margin-bottom:9px; }
.footer-links a { color:rgba(255,255,255,0.42); font-size:0.84rem; transition:var(--transition); }
.footer-links a:hover { color:var(--gold-light); padding-left:4px; }
.footer-bottom { padding:20px 0; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.footer-bottom p { font-size:0.78rem; color:rgba(255,255,255,0.26); }
.footer-bottom-links { display:flex; gap:20px; }
.footer-bottom-links a { font-size:0.78rem; color:rgba(255,255,255,0.26); }
.footer-bottom-links a:hover { color:var(--gold); }

/* ── Back to top ──────────────────────────────────────────── */
#backToTop { position:fixed; bottom:24px; right:24px; z-index:999; width:42px; height:42px; background:var(--gold); border:none; border-radius:50%; cursor:pointer; box-shadow:0 4px 14px rgba(184,150,46,0.35); opacity:0; visibility:hidden; transition:var(--transition); display:flex; align-items:center; justify-content:center; }
#backToTop.visible { opacity:1; visibility:visible; }
#backToTop:hover { transform:translateY(-2px); }
#backToTop svg { width:17px; height:17px; stroke:var(--white); fill:none; stroke-width:2.5; }

/* ── Tags ─────────────────────────────────────────────────── */
.tag { display:inline-block; padding:4px 11px; border-radius:4px; font-size:0.73rem; font-weight:600; background:var(--grey-light); color:var(--navy); }
.tag-gold { background:var(--gold-pale); color:#7a5e18; }

/* ── AOS ──────────────────────────────────────────────────── */
[data-aos] { opacity:0; transform:translateY(18px); transition:opacity 0.6s ease, transform 0.6s ease; }
[data-aos="fade-right"] { transform:translateX(-18px); }
[data-aos="fade-left"]  { transform:translateX(18px); }
[data-aos="zoom-in"]    { transform:scale(0.95); }
[data-aos].aos-animate  { opacity:1; transform:none; }

/* ── Admin ────────────────────────────────────────────────── */
.admin-wrap { display:flex; min-height:100vh; }
.admin-sidebar { width:250px; background:var(--navy); flex-shrink:0; position:fixed; top:0; left:0; height:100vh; overflow-y:auto; z-index:100; }
.admin-sidebar-logo { padding:20px 18px; border-bottom:1px solid rgba(255,255,255,0.07); font-family:var(--font-serif); font-size:1.15rem; color:var(--white); }
.admin-sidebar-logo span { color:var(--gold); }
.admin-nav { padding:10px 0; }
.admin-nav-item { display:flex; align-items:center; gap:10px; padding:10px 18px; color:rgba(255,255,255,0.52); font-size:0.86rem; font-weight:500; cursor:pointer; transition:var(--transition); }
.admin-nav-item:hover, .admin-nav-item.active { background:rgba(255,255,255,0.06); color:var(--white); }
.admin-nav-item svg { width:16px; height:16px; flex-shrink:0; }
.admin-nav-sep { padding:8px 18px 3px; font-size:0.66rem; letter-spacing:2.5px; text-transform:uppercase; color:rgba(255,255,255,0.20); }
.admin-main { margin-left:250px; flex:1; background:#f0f2f5; min-height:100vh; }
.admin-topbar { background:var(--white); padding:14px 26px; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; }
.admin-content { padding:26px; }
.admin-card { background:var(--white); border-radius:var(--radius); padding:24px; box-shadow:var(--shadow-sm); margin-bottom:20px; }
.stat-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:22px; }
.stat-card { background:var(--white); border-radius:var(--radius); padding:20px; box-shadow:var(--shadow-sm); border-left:3px solid var(--gold); }
.stat-card-num { font-family:var(--font-serif); font-size:1.8rem; font-weight:700; color:var(--navy); }
.stat-card-label { font-size:0.78rem; color:var(--grey-text); margin-top:2px; }
.data-table { width:100%; border-collapse:collapse; }
.data-table th { text-align:left; padding:10px 14px; background:var(--grey-light); font-size:0.74rem; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:var(--navy); border-bottom:2px solid var(--border); }
.data-table td { padding:11px 14px; font-size:0.85rem; border-bottom:1px solid var(--border); }
.data-table tr:hover td { background:var(--ivory); }
.badge { padding:3px 9px; border-radius:4px; font-size:0.71rem; font-weight:600; }
.badge-success { background:#f0fdf4; color:#15803d; }
.badge-warning { background:#fffbeb; color:#92400e; }
.badge-info    { background:#eff6ff; color:#1d4ed8; }

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width:1024px) {
  .mega-cols { grid-template-columns:repeat(3,1fr); }
  .mega-col:nth-child(4), .mega-col:nth-child(5) { border-top:1px solid var(--grey-mid); }
  .stats-row-inner { grid-template-columns:1fr 1fr 1fr 1fr; }
  .stats-row-cta { display:none; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:36px; }
}

@media (max-width:991px) {
  #topbar { display:none; }
  .nav-toggle { display:block; }
  .nav-menu {
    position:fixed; top:0; right:-100%; width:300px; height:100vh;
    background:var(--navy); flex-direction:column; align-items:flex-start;
    padding:72px 20px 40px; gap:0; transition:right 0.35s cubic-bezier(0.4,0,0.2,1);
    box-shadow:-4px 0 32px rgba(0,0,0,0.3); overflow-y:auto; z-index:998;
  }
  .nav-menu.open { right:0; }
  .nav-item { width:100%; }
  .nav-link { width:100%; padding:13px 12px; border-radius:7px; color:rgba(255,255,255,0.75); }
  .nav-link::after { display:none; }
  .nav-link:hover { background:rgba(255,255,255,0.06); color:var(--white); }
  .nav-mega-parent { width:100%; }
  .mega-menu { position:static; opacity:1; visibility:visible; transform:none; pointer-events:auto; display:none; }
  .mega-menu::before { display:none; }
  .nav-mega-parent.open .mega-menu { display:block; }
  .mega-panel { border-radius:10px; margin:4px 0 8px; }
  .mega-cols { grid-template-columns:1fr; padding:12px; gap:0; }
  .mega-col { border-right:none; border-bottom:1px solid var(--grey-mid); padding:12px 8px; }
  .mega-col:last-child { border-bottom:none; }
  .mega-col-head { padding-bottom:8px; margin-bottom:6px; }
  .mega-links { display:none; }
  .mega-features { display:none; }
  .nav-right { display:none; }
  .stat-cards { grid-template-columns:repeat(2,1fr); }
  .admin-sidebar { width:220px; }
  .admin-main { margin-left:220px; }
  .process-grid { grid-template-columns:repeat(2,1fr); gap:32px; }
  .process-grid::before { display:none; }
}

@media (max-width:767px) {
  .section { padding:60px 0; }
  .grid-2,.grid-3,.grid-4,.grid-5 { grid-template-columns:1fr; }
  .cta-banner { padding:48px 24px; }
  .footer-grid { grid-template-columns:1fr; gap:28px; }
  .footer-bottom { flex-direction:column; text-align:center; }
  .admin-sidebar { display:none; }
  .admin-main { margin-left:0; }
  .stat-cards { grid-template-columns:1fr; }
  .stats-row-inner { grid-template-columns:1fr 1fr; }
  .hero-content { padding:60px 0; }
}
