/* ============================================================
 ADVIX GLOBAL SOLUTIONS — main.css v4.0 BLUE-PURPLE THEME
 Fonts: Playfair Display (headings) + Montserrat (body/ui)
 Palette: #f7f8fc bg · #2847c8 dark-blue · #4b61ec blue · #6941eb purple · #1a1d2e text
 Style: Professional editorial — cool white, blue-purple accents, serif elegance
 ============================================================ */

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

:root {
  /* ── Core Palette ── */
  --bg:       #f7f8fc;
  --bg2:      #ffffff;
  --bg3:      #eef1f9;
  --bg4:      #e4e8f5;
  --blue:     #4b61ec;
  --blue2:    #6057f0;
  --blue-dk:  #2847c8;
  --blue-lt:  #eef1fd;
  --blue-lt2: #dce2fb;
  --text:     #1a1d2e;
  --text2:    #252848;
  --muted:    #6b7280;
  --muted2:   #9ca3af;
  --border:   #e5e7eb;
  --border2:  #d1d5db;
  --white:    #ffffff;
  --w50:      rgba(251,249,249,.92);

  /* ── Gradients ── */
  --gg: linear-gradient(135deg, #4b61ec 0%, #6941eb 100%);
  --gg2: linear-gradient(135deg, #6057f0 0%, #4b61ec 100%);
  --gg-text: linear-gradient(135deg, #2847c8 0%, #4b61ec 60%, #6941eb 100%);
  --gw: linear-gradient(135deg, #4b61ec 0%, #2847c8 100%);

  /* ── Typography ── */
  --fh: 'Playfair Display', Georgia, serif;
  --fh2: 'DM Serif Display', Georgia, serif;
  --fb: 'Montserrat', system-ui, sans-serif;

  /* ── Geometry ── */
  --rad:   4px;
  --radlg: 8px;
  --maxw:  1240px;

  /* ── Motion ── */
  --ease: cubic-bezier(.4,0,.2,1);
  --tr:   all .28s cubic-bezier(.4,0,.2,1);

  /* ── Shadows ── */
  --shadow:    0 4px 24px rgba(26,29,46,.08);
  --shadow-md: 0 12px 40px rgba(26,29,46,.12);
  --shadow-lg: 0 24px 64px rgba(26,29,46,.14);
  --glow:      0 0 0 3px rgba(75,97,236,.2);

  /* ── Gold accent (highlights only) ── */
  --gold:      #d4af37;
  --gold2:     #e9c349;
  --gold-dk:   #8a6d00;
  --gold-lt:   #fdf8e8;
  --gold-lt2:  #f7efc5;
  --gg-gold:   linear-gradient(135deg, #d4af37 0%, #8a6d00 100%);
}

/* ── SCROLLBAR ── */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--bg3); }
::-webkit-scrollbar-thumb { background: var(--blue); border-radius: 6px; }
::-webkit-scrollbar-thumb:hover { background: var(--blue-dk); }

/* ── RESET ── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:16px; overflow-x:hidden; overflow-x:clip; }
body {
  font-family: var(--fb);
  background: var(--bg);
  color: var(--text);
  line-height: 1.7;
  overflow-x: hidden;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
  width: 100%;
  max-width: 100vw;
}
/* Scroll-lock when mobile nav is open — no position:fixed jump */
body.nav-open {
  overflow: hidden !important;
  touch-action: none;
}
img { max-width:100%; height:auto; display:block; }
a { text-decoration:none; color:inherit; }
ul { list-style:none; }
button { cursor:pointer; border:none; background:none; font-family:inherit; }
input,select,textarea { font-family:inherit; }

/* ── LAYOUT ── */
.wrap { max-width:var(--maxw); margin:0 auto; padding:0 28px; }
.sec { padding:70px 0; }
.sec-sm { padding:40px 0; }
.tc { text-align:center; }

/* ── GOLD ORNAMENT DIVIDER ── */
.gold-divider {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 auto 28px;
  width: fit-content;
}
.gold-divider::before,
.gold-divider::after {
  content: '';
  display: block;
  width: 60px;
  height: 1px;
  background: var(--gg);
}
.gold-divider span { color: var(--blue); font-size: 11px; }

/* ── EYE-LABEL / BADGE ── */
.eye {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 5px 16px;
  border-radius: 2px;
  background: var(--gold-lt);
  border: 1px solid var(--gold-lt2);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold-dk);
  margin-bottom: 18px;
  align-self: flex-start;
  width: fit-content;
  font-family: var(--fb);
}
.eye::before {
  content: '✦';
  color: var(--gold);
  font-size: 9px;
  flex-shrink: 0;
}
.eye::after {
  content: '✦';
  color: var(--gold);
  font-size: 9px;
  flex-shrink: 0;
}

/* ── HEADINGS ── */
h1,h2,h3,h4,h5 {
  font-family: var(--fh);
  font-weight: 700;
  line-height: 1.1;
  color: var(--text);
}
h1 { font-size: clamp(38px,5.5vw,66px); }
h2 { font-size: clamp(28px,4vw,50px); font-family: var(--fh2); font-weight:400; }
h3 { font-size: clamp(18px,2.5vw,26px); }
h4 { font-size: 16px; font-weight: 700; font-family: var(--fb); }
p  { color: var(--muted); line-height:1.85; font-size:15px; font-family: var(--fb); font-weight:400; }

/* Gold gradient text */
.grad {
  background: linear-gradient(135deg, #d4af37 0%, #8a6d00 60%, #d4af37 100%);
  background-size: 200%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.grad-t { background: var(--gg); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }

/* Section titles */
.sec-title {
  font-family: var(--fh2);
  font-size: clamp(28px,4vw,50px);
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 16px;
  background: var(--gg-text);
  background-size: 200%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.sec-sub {
  font-size: 16px;
  color: var(--muted);
  max-width: 560px;
  line-height: 1.9;
  font-family: var(--fb);
  font-weight: 400;
  letter-spacing: .02em;
}
.tc .sec-sub { margin: 0 auto; }

/* ── BUTTONS ── */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 13px 28px;
  border-radius: 2px;
  font-size: 12px;
  font-weight: 700;
  font-family: var(--fb);
  letter-spacing: .12em;
  text-transform: uppercase;
  transition: var(--tr);
  white-space: nowrap;
  cursor: pointer;
  border: none;
}
.btn-primary {
  background: var(--blue);
  color: var(--text);
  box-shadow: 0 4px 18px rgba(75,97,236,.3);
}
.btn-primary:hover {
  background: var(--blue2);
  transform: translateY(-2px);
  box-shadow: 0 10px 32px rgba(75,97,236,.45);
}
.btn-outline {
  border: 1.5px solid var(--blue);
  color: var(--blue-dk);
  background: transparent;
}
.btn-outline:hover {
  background: var(--blue-lt);
  border-color: var(--blue-dk);
}
.btn-wa {
  background: #25D366;
  color: #fff;
}
.btn-wa:hover {
  background: #20c25a;
  transform: translateY(-2px);
  box-shadow: 0 10px 32px rgba(37,211,102,.35);
}
.btn-wa svg { width:18px; height:18px; min-width:18px; min-height:18px; max-width:18px; max-height:18px; fill:#fff; flex-shrink:0; display:block; }
.btn svg { width:18px; height:18px; min-width:18px; min-height:18px; max-width:18px; max-height:18px; flex-shrink:0; display:block; }
.btn-full { width:100%; justify-content:center; }
.btn-navy {
  background: var(--blue-dk);
  color: var(--white);
}
.btn-navy:hover {
  background: #5a4800;
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(26,29,46,.3);
}
.btn-white {
  background: var(--white);
  color: var(--blue-dk);
  border: 1.5px solid var(--border);
}
.btn-white:hover {
  background: var(--blue-lt);
  border-color: var(--blue);
}

/* ── REVEAL ANIMATION ── */
.rev {
  opacity: 0;
  transform: translateY(24px);
  will-change: opacity,transform;
  transition: opacity .65s var(--ease), transform .65s var(--ease);
}
.rev.in { opacity:1; transform:translateY(0); }
.rev.d1 { transition-delay:.1s; }
.rev.d2 { transition-delay:.2s; }
.rev.d3 { transition-delay:.3s; }
.rev.d4 { transition-delay:.4s; }

/* ══════════════════════════════════════════
   HEADER — always white
══════════════════════════════════════════ */
#site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 9000;
  background: #ffffff;
  border-bottom: 1px solid rgba(26,29,46,.08);
  box-shadow: 0 1px 24px rgba(26,29,46,.06);
}
#site-header.scrolled {
  background: #ffffff;
  border-bottom: 1px solid rgba(26,29,46,.08);
  box-shadow: 0 1px 24px rgba(26,29,46,.06);
}
.hdr {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 32px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

/* WP admin bar */
.admin-bar #site-header { top: 32px; }
/* mob-nav is full-screen (inset:0), no top offset needed */
@media screen and (max-width:782px) {
  .admin-bar #site-header { top: 46px; }
  /* mob-nav full-screen on mobile too */
}

/* Logo */
.site-logo { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.site-logo a { display:flex; align-items:center; gap:12px; }
.logo-mark {
  width: 42px;
  height: 42px;
  border-radius: 4px;
  background: var(--gg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fh);
  font-weight: 700;
  font-size: 18px;
  color: var(--white);
  flex-shrink: 0;
  transition: transform .3s;
  box-shadow: 0 4px 14px rgba(75,97,236,.35);
}
.site-logo a:hover .logo-mark { transform: rotate(-5deg) scale(1.06); }
.logo-words { display:flex; flex-direction:column; line-height:1.2; }
.logo-name {
  font-family: var(--fh);
  font-size: 17px;
  font-weight: 700;
  color: var(--text);
  letter-spacing: .03em;
  text-transform: uppercase;
}
/* Footer context: logo name appears white on dark footer */
#site-footer .logo-name { color: #fff; }
#site-footer .logo-sub { color: var(--gold); }
#site-footer .logo-mark { box-shadow: 0 4px 14px rgba(75,97,236,.4); }
.logo-sub {
  font-family: var(--fb);
  font-size: 9px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--blue);
  font-weight: 700;
}
.custom-logo-link { display:flex; align-items:center; }
.custom-logo { max-height: 42px; width:auto; }

/* ── Desktop Nav ── */
.nav-d { display:flex; align-items:center; flex:1; justify-content:center; }
.nav-d ul { display:flex; align-items:center; gap:2px; list-style:none; margin:0; padding:0; }
.nav-d>ul>li,.nav-d>li { position:relative; }
.nav-d>ul>li>a,.nav-d>li>a {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 8px 14px;
  border-radius: 8px;
  font-family: var(--fb);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .01em;
  color: rgba(26,29,46,.7);
  transition: background .18s ease, color .18s ease;
  position: relative;
  white-space: nowrap;
}
/* Nav links — always dark (header is always white) */

/* Scrolled — dark text */
.nav-d>ul>li>a:hover,.nav-d>li>a:hover { color:var(--blue-dk); background:var(--blue-lt); }
.nav-d>ul>li>a.cur,.nav-d>li>a.cur { color:var(--blue-dk); background:var(--blue-lt); }

/* Dropdown chevron */
.has-drop>a::after {
  content: '';
  display: inline-block;
  width: 14px; height: 14px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: .5;
  transition: transform .22s ease, opacity .18s;
  flex-shrink: 0;
  margin-left: 0;
  transform: translateY(1px);
}
.has-drop:hover>a::after { transform: translateY(1px) rotate(180deg); opacity:.8; }

/* Override the underline pseudo-element for dropdown items */
.nav-d>ul>li>a::before {
  display: none;
}

/* Dropdown panel */
.drop-menu {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%) translateY(-6px);
  background: #fff;
  border: 1px solid rgba(26,29,46,.08);
  border-radius: 16px;
  padding: 8px;
  min-width: 220px;
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
  box-shadow: 0 8px 40px rgba(26,29,46,.12), 0 1px 0 rgba(26,29,46,.04);
  z-index: 100;
}
.has-drop:hover .drop-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
  transition: opacity .2s ease, transform .2s ease, visibility 0s linear 0s;
}
.drop-menu a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  border-radius: 10px;
  font-family: var(--fb);
  font-size: 13px;
  font-weight: 500;
  color: rgba(26,29,46,.65);
  transition: background .15s ease, color .15s ease;
  letter-spacing: 0;
  text-transform: none;
}
.drop-menu a:hover { color: var(--blue-dk); background: var(--blue-lt); }
.d-icon {
  width: 30px; height: 30px;
  border-radius: 8px;
  background: var(--gg);
  display: flex; align-items:center; justify-content:center;
  font-size: 14px; flex-shrink:0;
}
.d-icon.warm { background: var(--gg2); }
.d-icon.fi-flag { background:transparent; padding:0; overflow:hidden; border-radius:6px; border:1px solid var(--border); }
.d-icon.fi-flag .fi { width:30px; height:30px; background-size:cover; background-position:center; display:block; }

/* ── Nav Right CTA ── */
.nav-r { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.nav-cta {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 18px;
  border-radius: 10px;
  background: #25D366;
  color: #fff;
  font-family: var(--fb);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .01em;
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
  white-space: nowrap;
}
.nav-cta svg { width:15px; height:15px; fill:#fff; flex-shrink:0; }
.nav-cta:hover { background: #1db954; transform:translateY(-1px); box-shadow:0 6px 20px rgba(37,211,102,.35); }
/* (no transparent-header override needed — header is always white) */

/* ── Burger ── */
.burger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 40px; height: 40px;
  border-radius: 10px;
  background: transparent;
  border: 1px solid rgba(26,29,46,.1);
  cursor: pointer;
  transition: background .18s, border-color .18s;
  flex-shrink: 0;
}
/* (burger always uses dark color since header is always white) */
.burger:hover { background: var(--blue-lt); border-color: var(--blue); }
.burger span { display:block; width:18px; height:2px; background:var(--blue-dk); border-radius:2px; transition:var(--tr); }
.burger.open span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.burger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.burger.open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

/* Mobile Nav */
/* ══════════════════════════════════════════════════════
   MOBILE NAV — Full-screen overlay, clean & modern
══════════════════════════════════════════════════════ */

/* Backdrop */
#mob-nav-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(4,6,18,.75);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 9400;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .35s ease, visibility 0s linear .35s;
}
#mob-nav-backdrop.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity .35s ease, visibility 0s linear 0s;
}

/* Nav panel — slides in from right */
#mob-nav {
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: min(82vw, 320px);
  z-index: 9500;
  transform: translateX(110%);
  transition: transform .4s cubic-bezier(.16,1,.3,1), visibility 0s linear .4s;
  visibility: hidden;
  pointer-events: none;
  overscroll-behavior: contain;
  touch-action: none;
  background: #fff;
  border-left: 1px solid rgba(26,29,46,.07);
  box-shadow: -24px 0 60px rgba(26,29,46,.14);
  overflow: hidden;
}
#mob-nav.open {
  transform: translateX(0);
  visibility: visible;
  pointer-events: auto;
  transition: transform .4s cubic-bezier(.16,1,.3,1), visibility 0s linear 0s;
  touch-action: pan-y;
}

/* ── Top bar ── */
.mn-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  height: 64px;
  flex-shrink: 0;
  border-bottom: 1px solid rgba(26,29,46,.07);
  background: #fff;
}
.mn-logo { display:flex; align-items:center; gap:11px; }
.mn-logo-mark {
  width: 36px; height: 36px; border-radius: 10px;
  background: linear-gradient(135deg, #4b61ec 0%, #7c4dff 100%);
  display: flex; align-items:center; justify-content:center;
  font-family: var(--fh); font-weight: 800; font-size: 13px; color: #fff;
  box-shadow: 0 4px 12px rgba(75,97,236,.3);
  flex-shrink: 0;
}
.mn-logo-name {
  font-family: var(--fh);
  font-size: 14px; font-weight: 700;
  color: var(--text); letter-spacing: .01em; line-height: 1.2;
}
.mn-logo-sub {
  font-size: 9px; letter-spacing: .16em; text-transform: uppercase;
  color: var(--blue); font-weight: 600; display: block; margin-top: 1px;
}
.mn-close {
  width: 36px; height: 36px; border-radius: 10px;
  background: rgba(26,29,46,.05);
  border: 1px solid rgba(26,29,46,.08);
  display: flex; align-items:center; justify-content:center;
  cursor: pointer; font-size: 15px; color: var(--muted);
  transition: background .18s, color .18s, border-color .18s, transform .22s;
  flex-shrink: 0;
  line-height: 1;
}
.mn-close::before { content: '✕'; }
.mn-close:hover {
  background: #fee2e2;
  border-color: #fca5a5;
  color: #dc2626;
  transform: rotate(90deg);
}

/* ── Link area ── */
.mn-links {
  flex: 1;
  padding: 10px 10px 6px;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.mn-links::-webkit-scrollbar { display: none; }

/* Entrance animation */
#mob-nav.open .mn-link,
#mob-nav.open .mn-cta-row {
  animation: mnFadeUp .35s cubic-bezier(.16,1,.3,1) both;
}
#mob-nav.open .mn-link:nth-child(1)  { animation-delay: .04s; }
#mob-nav.open .mn-link:nth-child(2)  { animation-delay: .08s; }
#mob-nav.open .mn-link:nth-child(3)  { animation-delay: .11s; }
#mob-nav.open .mn-link:nth-child(4)  { animation-delay: .14s; }
#mob-nav.open .mn-link:nth-child(5)  { animation-delay: .17s; }
#mob-nav.open .mn-link:nth-child(6)  { animation-delay: .20s; }
#mob-nav.open .mn-link:nth-child(7)  { animation-delay: .22s; }
#mob-nav.open .mn-link:nth-child(8)  { animation-delay: .24s; }
#mob-nav.open .mn-cta-row            { animation-delay: .26s; }
@keyframes mnFadeUp {
  from { opacity:0; transform:translateY(10px); }
  to   { opacity:1; transform:translateY(0); }
}

/* ── Primary links ── */
.mn-link {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px !important;
  border-radius: 12px !important;
  font-family: var(--fb) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--text) !important;
  border-bottom: none !important;
  transition: background .15s, color .15s !important;
  text-decoration: none !important;
  position: relative;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.mn-link:hover {
  background: var(--blue-lt) !important;
  color: var(--blue-dk) !important;
}
.mn-link.active {
  background: var(--blue-lt) !important;
  color: var(--blue-dk) !important;
}
.mn-link.active::before {
  content: '';
  position: absolute; left: 0; top: 25%; bottom: 25%;
  width: 3px; border-radius: 0 2px 2px 0;
  background: var(--blue);
}
.mn-link-arrow {
  width: 22px; height: 22px; border-radius: 6px;
  background: rgba(26,29,46,.06);
  display: flex; align-items:center; justify-content:center;
  font-size: 11px; color: var(--muted);
  transition: transform .22s cubic-bezier(.16,1,.3,1), background .15s, color .15s;
  flex-shrink: 0;
}
.mn-link.has-sub.open .mn-link-arrow {
  transform: rotate(90deg);
  background: var(--blue-lt);
  color: var(--blue-dk);
}

/* ── Sub-menus ── */
.mn-sub {
  display: none;
  flex-direction: column;
  padding: 2px 0 6px 10px;
  margin: 0 0 2px 14px;
  border-left: 2px solid var(--border);
  gap: 1px;
}
.mn-sub.open { display: flex; }
.mn-sub-link {
  display: flex !important;
  align-items: center;
  gap: 9px;
  padding: 9px 12px !important;
  border-radius: 9px !important;
  font-family: var(--fb) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--muted) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  border-bottom: none !important;
  transition: background .15s, color .15s !important;
  text-decoration: none !important;
}
.mn-sub-link:hover {
  background: var(--blue-lt) !important;
  color: var(--blue-dk) !important;
}
.mn-sub-icon {
  width: 28px; height: 28px; border-radius: 8px;
  background: var(--gg);
  display: flex; align-items:center; justify-content:center;
  font-size: 14px; flex-shrink:0;
}

/* ── Divider ── */
.mn-divider {
  height: 1px;
  background: var(--border);
  margin: 6px 14px;
}

/* ── Bottom CTA row ── */
.mn-cta-row {
  padding: 12px 14px 28px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex-shrink: 0;
  border-top: 1px solid rgba(26,29,46,.07);
  background: rgba(26,29,46,.02);
}
.mn-cta-wa {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 18px !important;
  border-radius: 12px !important;
  background: #25D366 !important;
  color: #fff !important;
  font-family: var(--fb) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  border-bottom: none !important;
  text-decoration: none !important;
  transition: background .2s, transform .2s, box-shadow .2s !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: 0 4px 16px rgba(37,211,102,.3);
}
.mn-cta-wa:hover {
  background: #1db954 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 22px rgba(37,211,102,.4) !important;
}
.mn-cta-contact {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 18px !important;
  border-radius: 12px !important;
  background: var(--blue-lt) !important;
  border: 1px solid rgba(75,97,236,.2) !important;
  color: var(--blue-dk) !important;
  font-family: var(--fb) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all .2s !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.mn-cta-contact:hover {
  background: rgba(75,97,236,.15) !important;
  border-color: var(--blue) !important;
  color: var(--blue-dk) !important;
}

/* z-index stack */
.mn-topbar, .mn-links, .mn-cta-row { position: relative; z-index: 1; }

/* Short screens */
@media (max-height: 640px) {
  .mn-link { padding: 10px 14px !important; font-size: 13px !important; }
  .mn-sub-link { padding: 7px 12px !important; }
  .mn-links { padding: 6px 10px 4px; }
  .mn-cta-row { padding: 10px 14px 18px; }
}


  position: fixed;
  inset: 0;
  background: rgba(4,6,18,.8);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 9400;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .38s ease, visibility 0s linear .38s;
}
#mob-nav-backdrop.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity .38s ease, visibility 0s linear 0s;
}

/* Nav panel */
#mob-nav {
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: min(88vw, 340px);
  z-index: 9500;
  transform: translateX(110%);
  transition: transform .42s cubic-bezier(.16,1,.3,1), visibility 0s linear .42s;
  overflow: hidden;
  visibility: hidden;
  pointer-events: none;
  overscroll-behavior: contain;
  touch-action: none;
  /* Layered background for depth */
  background:
    linear-gradient(180deg,
      rgba(99,120,255,.06) 0%,
      transparent 40%
    ),
    linear-gradient(160deg, #0b0e27 0%, #0f1235 45%, #080b1e 100%);
  border-left: 1px solid rgba(99,120,255,.18);
  box-shadow:
    -32px 0 80px rgba(0,0,0,.7),
    -1px 0 0 rgba(99,120,255,.12),
    inset 1px 0 0 rgba(255,255,255,.04);
}
#mob-nav.open {
  transform: translateX(0);
  visibility: visible;
  pointer-events: auto;
  transition: transform .42s cubic-bezier(.16,1,.3,1), visibility 0s linear 0s;
  touch-action: pan-y;
}

/* Glow orbs */
#mob-nav::before {
  content: '';
  position: absolute; top: -80px; right: -80px;
  width: 320px; height: 320px; border-radius: 50%;
  background: radial-gradient(circle, rgba(99,120,255,.18) 0%, transparent 60%);
  pointer-events: none; z-index: 0;
}
#mob-nav::after {
  content: '';
  position: absolute; bottom: 60px; left: -80px;
  width: 260px; height: 260px; border-radius: 50%;
  background: radial-gradient(circle, rgba(168,85,247,.12) 0%, transparent 60%);
  pointer-events: none; z-index: 0;
}

/* ── Top bar ── */
.mn-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 20px 20px;
  flex-shrink: 0;
  position: relative; z-index: 1;
  border-bottom: 1px solid rgba(255,255,255,.06);
  background: linear-gradient(180deg, rgba(99,120,255,.06) 0%, transparent 100%);
}
.mn-logo {
  display: flex;
  align-items: center;
  gap: 12px;
}
.mn-logo-mark {
  width: 40px; height: 40px; border-radius: 12px;
  background: linear-gradient(135deg, #4f6ef7 0%, #8b5cf6 100%);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--fh); font-weight: 800; font-size: 14px; color: #fff;
  box-shadow: 0 0 0 1px rgba(99,120,255,.4), 0 6px 20px rgba(79,110,247,.45);
  letter-spacing: -.02em;
}
.mn-logo-name {
  font-family: var(--fh);
  font-size: 15px; font-weight: 700;
  color: #fff; letter-spacing: .01em; line-height: 1.2;
  text-shadow: 0 1px 8px rgba(99,120,255,.3);
}
.mn-logo-sub {
  font-size: 9px; letter-spacing: .2em; text-transform: uppercase;
  color: #a78bfa; font-weight: 600; display: block; margin-top: 2px;
  opacity: .85;
}
.mn-close {
  width: 38px; height: 38px; border-radius: 50%;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; color: rgba(255,255,255,.6); font-size: 16px;
  transition: all .25s ease;
  flex-shrink: 0;
  position: relative;
}
.mn-close::before {
  content: '✕';
  font-size: 14px;
  line-height: 1;
}
.mn-close:hover {
  background: rgba(239,68,68,.15);
  border-color: rgba(239,68,68,.3);
  color: #fca5a5;
  transform: rotate(90deg) scale(1.08);
}

/* ── Scrollable links ── */
.mn-links {
  flex: 1;
  padding: 16px 12px 10px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  position: relative; z-index: 1;
  scrollbar-width: thin;
  scrollbar-color: rgba(99,120,255,.25) transparent;
}
.mn-links::-webkit-scrollbar { width: 3px; }
.mn-links::-webkit-scrollbar-thumb {
  background: rgba(99,120,255,.3);
  border-radius: 2px;
}

/* Entrance animation */
#mob-nav.open .mn-link,
#mob-nav.open .mn-cta-row {
  animation: mnIn .4s cubic-bezier(.16,1,.3,1) both;
}
#mob-nav.open .mn-link:nth-child(1)  { animation-delay: .03s; }
#mob-nav.open .mn-link:nth-child(2)  { animation-delay: .07s; }
#mob-nav.open .mn-link:nth-child(3)  { animation-delay: .10s; }
#mob-nav.open .mn-link:nth-child(4)  { animation-delay: .13s; }
#mob-nav.open .mn-link:nth-child(5)  { animation-delay: .16s; }
#mob-nav.open .mn-link:nth-child(6)  { animation-delay: .19s; }
#mob-nav.open .mn-link:nth-child(7)  { animation-delay: .22s; }
#mob-nav.open .mn-link:nth-child(8)  { animation-delay: .25s; }
#mob-nav.open .mn-cta-row            { animation-delay: .27s; }
@keyframes mnIn {
  from { opacity: 0; transform: translateX(20px); }
  to   { opacity: 1; transform: translateX(0); }
}

/* ── Primary links ── */
.mn-link {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px !important;
  border-radius: 14px !important;
  font-family: var(--fh) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: -.01em !important;
  color: rgba(255,255,255,.75) !important;
  border-bottom: none !important;
  transition: background .2s, color .2s, transform .2s, box-shadow .2s !important;
  text-decoration: none !important;
  position: relative;
  gap: 8px;
}
.mn-link:active {
  transform: scale(.98) !important;
}
.mn-link:hover {
  background: rgba(99,120,255,.1) !important;
  color: #fff !important;
  transform: translateX(4px);
  box-shadow: inset 0 0 0 1px rgba(99,120,255,.15);
}
.mn-link.active {
  background: linear-gradient(90deg, rgba(99,120,255,.18) 0%, rgba(99,120,255,.06) 100%) !important;
  color: #fff !important;
  box-shadow: inset 0 0 0 1px rgba(99,120,255,.2);
}
.mn-link.active::before {
  content: '';
  position: absolute; left: 0; top: 18%; bottom: 18%;
  width: 3px; border-radius: 0 2px 2px 0;
  background: linear-gradient(180deg, #6378ff, #a78bfa);
  box-shadow: 0 0 8px rgba(99,120,255,.6);
}
.mn-link-arrow {
  width: 26px; height: 26px; border-radius: 8px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.07);
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; color: rgba(255,255,255,.35);
  transition: transform .25s cubic-bezier(.16,1,.3,1), background .2s, color .2s, border-color .2s;
  flex-shrink: 0;
  line-height: 1;
}
.mn-link.has-sub.open .mn-link-arrow {
  transform: rotate(90deg);
  background: rgba(99,120,255,.22);
  border-color: rgba(99,120,255,.3);
  color: #a78bfa;
  box-shadow: 0 0 8px rgba(99,120,255,.2);
}

/* ── Sub-menus ── */
.mn-sub {
  display: none;
  flex-direction: column;
  gap: 1px;
  padding: 4px 0 8px 8px;
  margin: 0 4px 2px 24px;
  border-left: 2px solid;
  border-image: linear-gradient(180deg, rgba(99,120,255,.5), rgba(168,85,247,.2)) 1;
}
.mn-sub.open { display: flex; }
.mn-sub-link {
  display: flex !important;
  align-items: center;
  gap: 10px;
  padding: 10px 12px !important;
  border-radius: 10px !important;
  font-family: var(--fb) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,.5) !important;
  border-bottom: none !important;
  transition: background .18s, color .18s, transform .18s !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.mn-sub-link:hover {
  background: rgba(255,255,255,.05) !important;
  color: rgba(255,255,255,.9) !important;
  transform: translateX(4px);
}
.mn-sub-icon {
  width: 32px; height: 32px; border-radius: 9px;
  background: rgba(99,120,255,.12);
  border: 1px solid rgba(99,120,255,.18);
  display: flex; align-items: center; justify-content: center;
  font-size: 15px; flex-shrink: 0;
  transition: background .18s, border-color .18s, box-shadow .18s;
}
.mn-sub-link:hover .mn-sub-icon {
  background: rgba(99,120,255,.25);
  border-color: rgba(99,120,255,.35);
  box-shadow: 0 0 10px rgba(99,120,255,.2);
}

/* ── Divider ── */
.mn-divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.07) 30%, rgba(255,255,255,.07) 70%, transparent);
  margin: 8px 10px;
}

/* ── Bottom CTA row ── */
.mn-cta-row {
  padding: 16px 14px 32px;
  display: flex;
  flex-direction: column;
  gap: 9px;
  flex-shrink: 0;
  position: relative; z-index: 1;
  border-top: 1px solid rgba(255,255,255,.06);
  background: linear-gradient(0deg, rgba(0,0,0,.3) 0%, transparent 100%);
}
.mn-cta-wa {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 15px 20px !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, #25d366 0%, #128c3e 100%) !important;
  color: #fff !important;
  font-family: var(--fh) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .03em !important;
  border-bottom: none !important;
  text-decoration: none !important;
  transition: all .25s ease !important;
  box-shadow: 0 4px 20px rgba(37,211,102,.35), inset 0 1px 0 rgba(255,255,255,.15);
  text-transform: none !important;
}
.mn-cta-wa:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(37,211,102,.45) !important;
}
.mn-cta-contact {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 20px !important;
  border-radius: 14px !important;
  background: rgba(99,120,255,.08) !important;
  border: 1px solid rgba(99,120,255,.22) !important;
  color: rgba(255,255,255,.75) !important;
  font-family: var(--fh) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
  text-decoration: none !important;
  transition: all .25s ease !important;
  text-transform: none !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
.mn-cta-contact:hover {
  background: rgba(99,120,255,.18) !important;
  border-color: rgba(99,120,255,.4) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(99,120,255,.2), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

/* Ensure internal elements sit above glow orbs */
.mn-topbar, .mn-links, .mn-cta-row { position: relative; z-index: 1; }

/* Short screens */
@media (max-height: 640px) {
  .mn-link { font-size: 15px !important; padding: 10px 14px !important; }
  .mn-sub-link { font-size: 12px !important; padding: 8px 10px !important; }
  .mn-links { padding: 8px 14px 6px; }
  .mn-cta-row { padding: 12px 14px 20px; }
}

/* ══════════════════════════════════════════
   HERO
══════════════════════════════════════════ */
#home {
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  background: var(--bg);
  padding-top: 76px;
}
.admin-bar #home { padding-top: 108px; }

.hero-split { display:grid; grid-template-columns:1fr 1fr; flex:1; }

/* Left panel */
.hs-left { background:var(--bg); display:flex; flex-direction:column; justify-content:center; padding:0; }
.hs-left-inner { padding:36px 44px; display:flex; flex-direction:column; gap:18px; justify-content:center; }

/* Offer badge */
.hs-offer-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--gold-lt);
  border: 1px solid var(--gold-lt2);
  border-radius: 2px;
  padding: 8px 14px;
  width: fit-content;
  margin-bottom: 4px;
}
.hs-offer-tag {
  display: inline-block;
  background: var(--gg-gold);
  color: #fff;
  font-family: var(--fb);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  padding: 3px 8px;
  border-radius: 2px;
  text-transform: uppercase;
  flex-shrink: 0;
}
.hs-offer-text { font-family:var(--fb); font-size:13px; color:var(--text2); font-weight:500; }
.hs-offer-text strong { color:var(--gold-dk); font-weight:800; font-size:15px; }
.hs-pulse {
  width:7px; height:7px; border-radius:50%; background:#25d366;
  animation:hspulse 2s infinite; flex-shrink:0;
}
@keyframes hspulse {
  0% { box-shadow:0 0 0 0 rgba(37,211,102,.5); }
  70% { box-shadow:0 0 0 8px rgba(37,211,102,0); }
  100% { box-shadow:0 0 0 0 rgba(37,211,102,0); }
}

/* Hero heading */
.hs-h1 {
  font-family: var(--fh2);
  font-size: clamp(30px,3.8vw,54px);
  font-weight: 400;
  line-height: 1.06;
  color: var(--text);
  margin: 0 0 10px;
}
.hs-h1 em { font-style: italic; font-weight: 400; color: var(--blue); }
.hs-grad {
  background: var(--gg-text);
  background-size:200%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.hs-desc {
  font-family: var(--fb);
  font-size: 15px;
  color: var(--muted);
  line-height: 1.85;
  font-weight: 400;
  margin: 0 0 10px;
  letter-spacing: .01em;
}

.hs-points {
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 0;
}
.hs-points li {
  font-family: var(--fb);
  font-size: 12.5px;
  color: var(--text2);
  padding: 9px 12px 9px 34px;
  position: relative;
  line-height: 1.45;
  font-weight: 600;
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: 6px;
  letter-spacing: .01em;
  transition: border-color .2s, box-shadow .2s;
}
.hs-points li:hover {
  border-color: var(--blue);
  box-shadow: 0 2px 12px rgba(75,97,236,.1);
}
.hs-points li::before {
  content: '';
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: linear-gradient(135deg, #4b61ec 0%, #6941eb 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.hs-points li::after {
  content: '';
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 4px;
  height: 7px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  margin-top: -1px;
}

/* Pricing page bits */
.pc-hosting { font-size:12.5px; color:var(--blue-dk); font-weight:600; margin-top:4px; padding:5px 10px; background:var(--blue-lt); border-radius:2px; display:inline-block; }
.pc-hosting-light { font-size:12.5px; color:var(--blue); font-weight:600; margin-top:4px; padding:5px 10px; background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.3); border-radius:2px; display:inline-block; }
.pc-opt { font-weight:400; color:var(--muted); font-size:11.5px; }
.pc-free-host { font-size:12.5px; color:#0a7d3e; font-weight:600; margin-top:8px; margin-bottom:4px; padding:8px 12px; background:linear-gradient(135deg,rgba(34,197,94,.1),rgba(16,185,129,.08)); border:1px solid rgba(34,197,94,.25); border-radius:4px; line-height:1.45; }
.pc-free-host strong { color:#059669; font-weight:800; }
.pc-feat.addon { color:var(--blue-dk) !important; font-weight:600 !important; background:var(--blue-lt); border:1px dashed var(--blue); border-radius:4px; padding:7px 10px !important; margin-top:6px; }
.pc-feat.addon::before { content:'✦' !important; color:var(--blue) !important; }

/* Service pills */
.hs-services { display:flex; flex-wrap:wrap; gap:7px; margin:0; }
.hs-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  border-radius: 2px;
  background: var(--bg2);
  border: 1px solid var(--border);
  font-family: var(--fb);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
  text-decoration: none;
  transition: all .2s;
}
.hs-pill:hover { background:var(--blue-lt); border-color:var(--blue); color:var(--blue-dk); transform:translateY(-1px); }

/* Stats row */
.hs-stats {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 0;
  background: var(--blue-lt);
  border: 1px solid var(--blue-lt2);
  border-radius: 4px;
  overflow: hidden;
  margin: 0;
}
.hs-stat { padding:14px 10px; text-align:center; position:relative; }
.hs-stat+.hs-stat { border-left:1px solid var(--blue-lt2); }
.hs-stat-n {
  font-family: var(--fh);
  font-size: 26px;
  font-weight: 700;
  background: linear-gradient(135deg, #d4af37 0%, #8a6d00 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1;
  margin-bottom: 4px;
}
.hs-stat-l { font-family:var(--fb); font-size:10px; color:var(--muted); font-weight:600; text-transform:uppercase; letter-spacing:.08em; }

/* CTA buttons */
.hs-btns { display:flex; flex-wrap:wrap; gap:10px; margin:0; }
.hs-btn-wa {
  display: inline-flex; align-items:center; gap:8px;
  padding: 12px 20px;
  border-radius: 2px;
  background: #25D366; color:#fff;
  font-family: var(--fb);
  font-size: 11px; font-weight:700;
  letter-spacing: .1em; text-transform:uppercase;
  text-decoration:none; transition:all .25s;
}
.hs-btn-wa svg { width:16px; height:16px; fill:#fff; flex-shrink:0; }
.hs-btn-wa:hover { background:#20c25a; transform:translateY(-2px); box-shadow:0 8px 24px rgba(37,211,102,.4); color:#fff; }
.hs-btn-out {
  display: inline-flex; align-items:center; gap:8px;
  padding: 12px 20px;
  border-radius: 2px;
  border: 1.5px solid var(--blue);
  color: var(--blue-dk);
  font-family: var(--fb);
  font-size: 11px; font-weight:700;
  letter-spacing: .1em; text-transform:uppercase;
  text-decoration:none; transition:all .25s;
  background: transparent;
}
.hs-btn-out:hover { border-color:var(--blue-dk); background:var(--blue-lt); }

/* Trust row */
.hs-trust { display:flex; flex-wrap:wrap; gap:14px; margin:0; }
.hs-trust-item { font-family:var(--fb); font-size:12px; color:var(--muted); font-weight:500; letter-spacing:.04em; }

/* Right form panel */
.hs-right { background:var(--bg); display:flex; flex-direction:column; overflow-y:auto; }
.hs-form-wrap { padding:28px; display:flex; flex-direction:column; gap:0; height:100%; justify-content:center; }
.hs-form-card {
  background: var(--bg2);
  border: 1.5px solid var(--border);
  border-radius: 12px;
  padding: 28px 26px;
  box-shadow: 0 8px 40px rgba(26,29,46,.08), 0 2px 12px rgba(75,97,236,.06);
  position: relative;
}
.hs-form-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--gg);
  border-radius: 12px 12px 0 0;
}

.hs-form-head { margin-bottom:14px; padding-bottom:12px; border-bottom:1px solid var(--border); }
.hs-form-title {
  font-family: var(--fh2);
  font-size: 22px;
  font-weight: 400;
  color: var(--text);
  margin-bottom: 3px;
  letter-spacing: -.01em;
}
.hs-form-sub { font-family:var(--fb); font-size:12.5px; color:var(--muted); margin:0; }
.hs-form-sub strong { color:var(--blue-dk); font-weight:700; }

.hs-form { display:flex; flex-direction:column; gap:9px; }
.hs-row { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.hs-group { display:flex; flex-direction:column; gap:3px; }
.hs-group label {
  font-family: var(--fb);
  font-size: 10px;
  font-weight: 700;
  color: var(--text2);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.hs-req { color: var(--gold); }
.hs-group input,.hs-group select,.hs-group textarea {
  background: var(--bg);
  border: 1.5px solid var(--border);
  border-radius: 8px;
  padding: 10px 13px;
  color: var(--text);
  font-family: var(--fb);
  font-size: 13px;
  outline: none;
  width: 100%;
  box-sizing: border-box;
  transition: all .2s;
}
.hs-group input:focus,.hs-group select:focus,.hs-group textarea:focus {
  border-color: var(--blue);
  background: var(--bg2);
  box-shadow: 0 0 0 3px rgba(75,97,236,.12);
}
.hs-group input::placeholder,.hs-group textarea::placeholder { color:var(--muted2); }
.hs-group select {
  -webkit-appearance:none; appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235f5e5e' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 12px center; padding-right:32px;
}
.hs-group textarea { resize:none; }
.hs-group select option { background: var(--bg2); color: var(--text); }

.hs-submit {
  display: block; width:100%;
  padding: 14px;
  border: none;
  border-radius: 8px;
  background: linear-gradient(135deg, #4b61ec 0%, #6941eb 100%);
  color: #ffffff;
  font-family: var(--fb);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 4px 18px rgba(75,97,236,.35);
  transition: all .25s;
  text-align: center;
  margin-top: 4px;
}
.hs-submit:hover { transform:translateY(-2px); box-shadow:0 8px 28px rgba(75,97,236,.5); }

.hs-wa-btn {
  display: flex; align-items:center; justify-content:center; gap:8px;
  width:100%; padding:11px;
  border-radius: 8px;
  background: linear-gradient(135deg,#25d366,#128c7e);
  color: #fff;
  font-family: var(--fb);
  font-size: 12px; font-weight:800;
  letter-spacing:.1em; text-transform:uppercase;
  text-decoration:none;
  box-shadow:0 4px 14px rgba(37,211,102,.3);
  transition:all .25s; margin-top:7px;
}
.hs-wa-btn:hover { transform:translateY(-2px); box-shadow:0 8px 22px rgba(37,211,102,.45); color:#fff; }
.hs-wa-btn svg { width:16px; height:16px; fill:#fff; flex-shrink:0; }


.hs-form-trust {
  display: flex; justify-content:space-around;
  padding: 10px 0 0;
  border-top: 1px solid var(--border);
  margin-top: 8px;
}
.hs-form-trust span { font-family:var(--fb); font-size:11px; color:var(--muted); font-weight:600; letter-spacing:.06em; }

/* Mobile hero */
@media(max-width:900px) {
  .hero-split { grid-template-columns:1fr; }
  #home { padding-top:70px; }
  .admin-bar #home { padding-top:102px; }
  .hs-left { border-right:none; }
  .hs-left-inner { padding:22px 18px; gap:14px; }
  .hs-offer-badge { flex-wrap:wrap; gap:6px; }
  .hs-h1 { font-size:clamp(26px,8vw,40px); }
  .hs-desc { font-size:14px; }
  .hs-points { grid-template-columns:1fr; gap:6px; }
  .hs-points li { font-size:12.5px; padding:8px 10px 8px 32px; }
  .hs-services { gap:6px; }
  .hs-pill { font-size:10px; padding:4px 10px; }
  .hs-stats { grid-template-columns:repeat(4,1fr); }
  .hs-stat-n { font-size:20px; }
  .hs-stat-l { font-size:8px; }
  .hs-btns { flex-direction:column; gap:8px; }
  .hs-btn-wa,.hs-btn-out { width:100%; justify-content:center; text-align:center; }
  .hs-trust { gap:10px; }
  .hs-trust-item { font-size:11px; }
  .hs-right { border-left:none; }
  .hs-form-wrap { padding:18px; }
  .hs-form-card { padding:20px 16px; border-radius:12px; }
  .hs-row { grid-template-columns:1fr 1fr; }
}

/* ══════════════════════════════════════════
   MARQUEE
══════════════════════════════════════════ */
.marquee-strip {
  background: #1a1d2e;
  padding: 18px 0;
  overflow: hidden;
}
.marquee-wrap { display:flex; align-items:center; }
.marquee-label {
  font-family: var(--fb);
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(212,175,55,.6);
  padding: 0 40px;
  white-space: nowrap;
  flex-shrink: 0;
}
.marquee-track {
  display: flex; gap:60px; align-items:center;
  animation: marquee 26s linear infinite; flex-shrink:0;
}
.marquee-track:hover { animation-play-state:paused; }
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.marquee-item {
  font-family: var(--fb);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--gold);
  white-space: nowrap;
  transition: color .25s;
  display: flex; align-items:center; gap:10px;
  text-shadow: 0 0 18px rgba(212,175,55,.25);
}
.marquee-item:hover { color: var(--gold2); text-shadow: 0 0 22px rgba(233,195,73,.5); }
.marquee-item::before { content:'✦'; font-size:7px; color:var(--gold); opacity:.9; }

/* ══════════════════════════════════════════
   SERVICES
══════════════════════════════════════════ */
#services { background:var(--bg); }
.svc-hd { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:36px; flex-wrap:wrap; gap:20px; }
.svc-g { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.svc-card {
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radlg);
  padding: 34px 28px;
  position: relative;
  overflow: hidden;
  transition: var(--tr);
  cursor: pointer;
  box-shadow: var(--shadow);
}
.svc-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--gg);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .38s var(--ease);
}
.svc-card::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 3px; height: 100%;
  background: var(--gg);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform .38s var(--ease);
}
.svc-card:hover {
  transform: translateY(-6px);
  border-color: var(--blue-lt2);
  box-shadow: var(--shadow-md);
}
.svc-card:hover::before { transform:scaleX(1); }
.svc-card:hover::after { transform:scaleY(1); }
.svc-ico {
  width: 54px; height: 54px;
  border-radius: 6px;
  background: var(--blue-lt);
  border: 1px solid var(--blue-lt2);
  display: flex; align-items:center; justify-content:center;
  font-size: 24px;
  margin-bottom: 18px;
  transition: var(--tr);
}
.svc-card:hover .svc-ico { background:var(--gg); border-color:transparent; transform:scale(1.06); }
.svc-card h3 {
  font-family: var(--fh2);
  font-size: 20px; font-weight:400;
  margin-bottom: 10px;
  color: var(--text);
  letter-spacing:-.01em;
}
.svc-card p { font-size:14px; color:var(--muted); line-height:1.8; margin-bottom:20px; }
.svc-link {
  font-family: var(--fb);
  font-size: 12px; font-weight:700;
  letter-spacing: .1em; text-transform:uppercase;
  color: var(--blue-dk);
  display: flex; align-items:center; gap:6px;
  transition: gap .25s;
}
.svc-card:hover .svc-link { gap:12px; color:var(--blue); }
.svc-more { text-align:center; margin-top:28px; }

/* ══════════════════════════════════════════
   PRICING TEASER
══════════════════════════════════════════ */
#pricing-teaser {
  background: #1a1d2e;
  overflow: hidden;
  position: relative;
}
#pricing-teaser::before {
  content:'';
  position:absolute; inset:0;
  background: radial-gradient(ellipse 55% 70% at 60% 50%, rgba(75,97,236,.25), transparent 70%);
}
.pt-inner {
  position:relative; z-index:1;
  display:grid; grid-template-columns:1.3fr 1fr; gap:40px;
  align-items:center; padding:56px 28px;
  max-width:var(--maxw); margin:0 auto;
}
.pt-h {
  font-family: var(--fh);
  font-size: clamp(26px,4vw,48px);
  font-weight: 700;
  line-height: 1.12;
  color: var(--gold);
}
.pt-h em { font-style:italic; color:var(--white); }
.pt-note { font-size:15px; color:rgba(212,175,55,.8); margin-top:16px; line-height:1.75; }
.pt-r { display:flex; flex-direction:column; align-items:flex-start; gap:16px; }
.pt-checks { display:flex; flex-wrap:wrap; gap:12px; }
.pt-ck {
  font-family: var(--fb);
  font-size: 13px; font-weight:600;
  color: rgba(255,255,255,.88);
  display: flex; align-items:center; gap:7px;
  letter-spacing:.04em;
}
.pt-ck::before { content:'✦'; color:var(--gold); font-size:9px; }

/* ══════════════════════════════════════════
   PROCESS
══════════════════════════════════════════ */
#process { background:var(--bg2); }
.proc-g {
  display:grid; grid-template-columns:repeat(4,1fr);
  margin-top:44px; position:relative;
}
.proc-g::before {
  content:'';
  position:absolute; top:43px; left:12%; right:12%;
  height:1.5px;
  background: linear-gradient(90deg,transparent,var(--blue),transparent);
}
.proc-item { padding:0 22px; text-align:center; }
.proc-num {
  width:86px; height:86px; border-radius:50%;
  border: 2px solid var(--blue);
  background: var(--bg2);
  display:flex; align-items:center; justify-content:center;
  font-family: var(--fh);
  font-size: 26px; font-weight:700;
  color: var(--blue-dk);
  margin: 0 auto 24px;
  position: relative; z-index:1;
  transition: var(--tr);
  box-shadow: var(--shadow);
}
.proc-item:hover .proc-num {
  background: var(--gg-gold);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 8px 24px rgba(212,175,55,.35);
}
.proc-item h4 {
  font-family: var(--fb);
  font-weight:700; margin-bottom:10px; color:var(--blue-dk); font-size:14px;
  letter-spacing:.06em; text-transform:uppercase;
}
.proc-item p { font-size:14px; color:var(--muted); line-height:1.75; }

/* ══════════════════════════════════════════
   PORTFOLIO / TESTIMONIALS
══════════════════════════════════════════ */
#testimonials { background:var(--bg); overflow:hidden; }
#portfolio { background:var(--bg); /* overflow:hidden removed — it was clipping the fixed ws-lightbox popup */ }
.tst-hd { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:24px; flex-wrap:wrap; gap:16px; }
.tst-hd.rev { flex-direction:row; }
.tst-hd-l { flex:1; min-width:280px; }
.tst-hd-r { flex-shrink:0; display:flex; align-items:center; }
.tst-cta {
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--fb); font-size:12px; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; padding:13px 26px; border-radius:2px;
  text-decoration:none; background:var(--gg); color:var(--text);
  box-shadow:0 8px 24px rgba(75,97,236,.3);
  transition:transform .25s var(--ease),box-shadow .25s var(--ease);
  white-space:nowrap;
}
.tst-cta:hover { transform:translateY(-2px); box-shadow:0 14px 32px rgba(75,97,236,.45); color:var(--text); }
.tst-cta:hover svg { transform:translateX(3px); }
.tst-cta svg { transition:transform .25s var(--ease); }
@media(max-width:768px) {
  .tst-hd-l { min-width:100%; }
  .tst-hd-r { width:100%; }
  .tst-cta { width:100%; justify-content:center; padding:12px 22px; font-size:11px; }
}
.slider-ctrls { display:flex; gap:10px; }
.sldr-btn {
  width:48px; height:48px; border-radius:50%;
  border:1.5px solid var(--border);
  color:var(--blue-dk); font-size:17px;
  display:flex; align-items:center; justify-content:center;
  transition:var(--tr); cursor:pointer; background:var(--bg2);
}
.sldr-btn:hover { border-color:var(--blue); color:var(--blue); background:var(--blue-lt); }

/* Portfolio slider */
.ws-outer { overflow:hidden; padding:6px 4px 8px; }
.ws-loop { overflow:visible; position:relative; margin:0 -12px; }
.ws-loop::before,.ws-loop::after {
  content:""; position:absolute; top:0; bottom:0; width:60px; z-index:5; pointer-events:none;
}
.ws-loop::before { left:0; background:linear-gradient(90deg,var(--bg),transparent); }
.ws-loop::after  { right:0; background:linear-gradient(270deg,var(--bg),transparent); }
.ws-track { display:flex; gap:26px; transition:transform .8s cubic-bezier(.4,0,.2,1); will-change:transform; align-items:center; }
.ws-loop .ws-track { padding:30px 0; }
.ws-card {
  position:relative; flex:0 0 calc(33.333% - 18px);
  background:var(--bg2); border:1px solid var(--border); border-radius:var(--radlg);
  padding:14px; transition:transform .55s var(--ease),box-shadow .55s var(--ease),border-color .55s var(--ease),opacity .55s var(--ease);
  box-shadow:0 2px 12px rgba(26,29,46,.05); overflow:hidden; isolation:isolate;
  transform:scale(1); opacity:1;
}
.ws-track.is-ready .ws-card { transform:scale(.82); opacity:.6; }
.ws-track.is-ready .ws-card.is-center { transform:scale(1.05); opacity:1; }
.ws-card::before {
  content:""; position:absolute; inset:-1px; border-radius:var(--radlg); padding:1px;
  background:linear-gradient(135deg,rgba(75,97,236,.6),rgba(26,29,46,.45) 45%,rgba(75,97,236,0) 80%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  opacity:0; transition:opacity .4s var(--ease); pointer-events:none; z-index:1;
}
.ws-card::after {
  content:""; position:absolute; left:50%; top:-30%; width:140%; height:60%;
  background:radial-gradient(ellipse at center,rgba(75,97,236,.15),transparent 70%);
  transform:translateX(-50%); opacity:0; transition:opacity .5s var(--ease); pointer-events:none; z-index:0;
}
.ws-card.is-center { z-index:4; box-shadow:0 30px 70px -22px rgba(75,97,236,.28),0 16px 30px -14px rgba(26,29,46,.18); }
.ws-card.is-center::before { opacity:1; }
.ws-track.is-ready .ws-card.is-center:hover { transform:scale(1.05) translateY(-4px); }
.ws-track.is-ready .ws-card:not(.is-center):hover { transform:scale(.85); opacity:.8; }
.ws-bar {
  position:absolute; top:0; left:24px; right:24px; height:3px;
  background:var(--gg); border-radius:0 0 3px 3px;
  transform:scaleX(0); transform-origin:left center; transition:transform .55s var(--ease); z-index:3;
}
.ws-card.is-center .ws-bar { transform:scaleX(1); }
.ws-num {
  position:absolute; top:22px; right:24px;
  font-family:var(--fh); font-size:14px; font-weight:700; color:var(--white);
  letter-spacing:.08em; z-index:4; padding:6px 12px;
  background:rgba(26,29,46,.55); backdrop-filter:blur(8px);
  border-radius:999px; transition:background .35s var(--ease);
}
.ws-card.is-center .ws-num { background:var(--blue-dk); }
.ws-img {
  position:relative; width:100%; aspect-ratio:16/10; overflow:hidden;
  background:var(--bg3); border-radius:10px;
  box-shadow:inset 0 0 0 1px rgba(26,29,46,.06); z-index:2;
}
.ws-img img {
  display:block; width:100%; height:auto; min-height:100%;
  position:absolute; top:0; left:0; transition:filter .5s var(--ease);
  will-change:transform; filter:saturate(1);
}
.ws-card.is-center .ws-img img { filter:saturate(1.05); animation:wsScroll 15s cubic-bezier(.4,0,.6,1) infinite; }
@keyframes wsScroll {
  0%,20% { transform:translateY(0); }
  50%,70% { transform:translateY(-75%); }
  100% { transform:translateY(0); }
}
.ws-img::after {
  content:""; position:absolute; left:0; right:0; bottom:0; height:60px;
  background:linear-gradient(180deg,transparent,rgba(26,29,46,.08));
  pointer-events:none; z-index:1; opacity:1; transition:opacity .4s var(--ease);
}
.ws-card.is-center .ws-img::after { opacity:0; }
.ws-preview-btn {
  position:absolute; left:50%; bottom:22px;
  transform:translateX(-50%) translateY(8px);
  display:inline-flex; align-items:center; gap:7px;
  font-family:var(--fb); font-size:11px; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase;
  color:#1a1200;
  background: linear-gradient(135deg, #d4af37 0%, #f5d76e 40%, #c9980a 70%, #d4af37 100%);
  background-size: 200% 200%;
  padding:10px 20px; border:none; border-radius:2px;
  border-top: 1px solid rgba(255,235,120,.6);
  box-shadow: 0 4px 18px rgba(212,175,55,.45), 0 1px 0 rgba(255,255,255,.25) inset;
  cursor:pointer; z-index:5; opacity:0;
  transition:opacity .5s var(--ease) .3s, transform .5s var(--ease) .3s, box-shadow .25s var(--ease), background-position .4s ease;
}
.ws-card.is-center .ws-preview-btn { opacity:1; transform:translateX(-50%) translateY(0); }
.ws-preview-btn:hover {
  background-position: 100% 100%;
  box-shadow: 0 8px 28px rgba(212,175,55,.65), 0 2px 6px rgba(26,29,46,.15), 0 1px 0 rgba(255,255,255,.3) inset;
  transform: translateX(-50%) translateY(-2px);
  color: #0d0900;
}
.ws-preview-btn svg { transition:transform .25s var(--ease); stroke: #5a3e00; }
.ws-preview-btn:hover svg { transform:scale(1.1); }
.ws-progress {
  position:absolute; left:14px; right:14px; bottom:8px; height:3px;
  background:rgba(26,29,46,.08); border-radius:999px; overflow:hidden; z-index:6;
  opacity:0; transition:opacity .4s var(--ease);
}
.ws-card.is-center .ws-progress { opacity:1; }
.ws-progress span {
  display:block; width:0; height:100%;
  background:var(--gg); border-radius:999px; transform-origin:left center;
}
.ws-card.is-center .ws-progress span { animation:wsProgress 15s linear forwards; }
@keyframes wsProgress { from{width:0} to{width:100%} }

/* Lightbox */
/* ── Portfolio Preview Lightbox ──────────────────────────────────────
   IMPORTANT: position:fixed can be broken by ancestor stacking contexts
   (overflow, transform, filter, isolation, will-change:transform).
   This lightbox is intentionally placed outside #portfolio in the HTML.
   All critical layout props use !important to survive WP plugin overrides.
─────────────────────────────────────────────────────────────────── */
.ws-lightbox {
  position:fixed !important;
  /* Account for WP admin bar (32px desktop / 46px mobile logged-in) */
  top:0 !important; left:0 !important; right:0 !important; bottom:0 !important;
  z-index:999999 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transition:opacity .3s var(--ease), visibility 0s linear .3s;
  /* No transform here — transforms on position:fixed containers break descendants */
}
.ws-lightbox.is-open {
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  transition:opacity .3s var(--ease);
}
.ws-lb-backdrop {
  position:absolute; inset:0; background:rgba(10,10,10,.88);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); cursor:zoom-out;
}
.ws-lb-inner {
  position:relative;
  width:min(1400px,95vw);
  height:min(88vh,1800px); /* 88vh keeps it clear of WP admin bar */
  background:var(--bg2); border-radius:8px; overflow:hidden;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.5);
  display:flex; flex-direction:column;
  /* Entrance animation via opacity only — NO transform:scale (breaks fixed backdrop) */
  opacity:0; transition:opacity .25s var(--ease);
  /* Isolate stacking without using transform */
  will-change:opacity;
}
.ws-lightbox.is-open .ws-lb-inner { opacity:1; }
.ws-lb-head {
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 22px; border-bottom:1px solid var(--border);
  background:var(--bg2); flex-shrink:0; min-height:54px;
}
.ws-lb-title { font-family:var(--fh); font-size:18px; color:var(--blue-dk); font-weight:700; flex:1; padding-right:12px; }
.ws-lb-close {
  width:38px !important; height:38px !important;
  border-radius:50% !important;
  border:1.5px solid #d1d5db !important;
  background:#ffffff !important;
  color:#1a1d2e !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  cursor:pointer !important;
  transition:background .2s, border-color .2s, transform .25s;
  padding:0 !important; flex-shrink:0 !important;
  line-height:1 !important; font-size:0 !important;
  box-shadow:0 1px 4px rgba(0,0,0,.10) !important;
  appearance:none !important; -webkit-appearance:none !important;
}
.ws-lb-close svg {
  display:block !important;
  stroke:#1a1d2e !important;
  stroke-width:2.4 !important;
  fill:none !important;
  pointer-events:none;
  flex-shrink:0;
}
.ws-lb-close:hover { background:#eff2ff !important; border-color:#4b61ec !important; transform:rotate(90deg) !important; }
.ws-lb-close:hover svg { stroke:#4b61ec !important; }
.ws-lb-scroll {
  flex:1; overflow-y:auto; overflow-x:hidden; background:var(--bg3); scroll-behavior:smooth;
  display:flex; justify-content:center; align-items:flex-start; position:relative;
}
.ws-lb-scroll::-webkit-scrollbar { width:6px; }
.ws-lb-scroll::-webkit-scrollbar-thumb { background:var(--blue); border-radius:6px; }
.ws-lb-img { display:block; width:100%; max-width:1920px; height:auto; margin:0 auto; background:var(--bg3); opacity:0; transition:opacity .3s var(--ease); }
.ws-lb-img.is-loaded { opacity:1; }
.ws-lb-spinner { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:48px; height:48px; display:flex; align-items:center; justify-content:center; z-index:2; pointer-events:none; opacity:0; transition:opacity .25s var(--ease); }
.ws-lb-spinner.is-visible { opacity:1; }
.ws-lb-spinner span { display:block; width:42px; height:42px; border:3px solid rgba(75,97,236,.2); border-top-color:var(--blue); border-radius:50%; animation:wsSpin .9s linear infinite; }
@keyframes wsSpin { to{transform:rotate(360deg)} }
/* WP admin bar logged-in: push lightbox down so it clears the 32px bar */
.admin-bar .ws-lightbox { top:32px !important; }
@media screen and (max-width:782px) {
  .admin-bar .ws-lightbox { top:46px !important; }
  .ws-lb-inner { width:96vw; height:calc(100vh - 52px); border-radius:6px; }
  .ws-lb-head { padding:10px 14px; min-height:44px; }
  .ws-lb-title { font-size:15px; }
  .ws-lb-close { width:32px; height:32px; }
}
@media(min-width:783px) and (max-width:1024px) {
  .ws-lb-inner { width:96vw; height:90vh; }
}

/* Testimonials heading */
.rv-section-hd { text-align:center; max-width:680px; margin:0 auto 36px; padding:0 12px; }
.rv-section-hd .eye { margin-bottom:16px; }
.rv-section-hd h2 {
  font-family:var(--fh); font-size:clamp(32px,5vw,50px); line-height:1.05;
  font-weight:700; color:var(--blue-dk); margin-bottom:14px;
}
.rv-section-sub { font-size:16px; color:var(--muted); line-height:1.75; max-width:520px; margin:0 auto; }
@media(max-width:768px) { .rv-section-hd { margin-bottom:24px; } .rv-section-sub { font-size:14px; } }

/* Reviews */
.g-reviews { margin-top:0; }
.gr-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:30px; flex-wrap:wrap; gap:16px; }
.gr-badge { display:flex; align-items:center; gap:16px; background:var(--bg2); border:1px solid var(--border); border-radius:var(--rad); padding:16px 24px; box-shadow:var(--shadow); }
.g-logo { display:flex; align-items:center; }
.g-logo span { font-family:var(--fh); font-size:22px; font-weight:900; }
.g-logo span:nth-child(1){color:#4285f4}.g-logo span:nth-child(2){color:#ea4335}.g-logo span:nth-child(3){color:#fbbc05}.g-logo span:nth-child(4){color:#4285f4}.g-logo span:nth-child(5){color:#34a853}.g-logo span:nth-child(6){color:#ea4335}
.gr-score { font-family:var(--fh); font-size:30px; font-weight:700; color:var(--blue-dk); }
.gr-stars { color:var(--blue); font-size:17px; margin-bottom:2px; }
.gr-cnt { font-family:var(--fb); font-size:12px; color:var(--muted); letter-spacing:.06em; }

.rv-outer { overflow:hidden; }
.rv-track { display:flex; gap:20px; transition:transform .55s cubic-bezier(.4,0,.2,1); }
.rv-card {
  flex: 0 0 calc(33.333% - 14px);
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radlg);
  padding: 26px;
  transition: var(--tr);
  box-shadow: var(--shadow);
}
.rv-card:hover { border-color:var(--blue-lt2); transform:translateY(-4px); box-shadow:var(--shadow-md); }
.rv-top { display:flex; align-items:center; gap:12px; margin-bottom:13px; }
.rv-av {
  width:46px; height:46px; border-radius:50%;
  background:var(--gg);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--fh); font-weight:700; font-size:18px; color:var(--text); flex-shrink:0;
}
.rv-name { font-family:var(--fh); font-weight:700; font-size:15px; color:var(--blue-dk); }
.rv-date { font-family:var(--fb); font-size:12px; color:var(--muted); margin-top:2px; letter-spacing:.04em; }
.rv-stars { color:var(--blue); font-size:13px; margin-bottom:11px; }
.rv-text { font-size:14px; color:var(--muted); line-height:1.8; }

/* ══════════════════════════════════════════
   ABOUT STRIP
══════════════════════════════════════════ */
#about-strip { background:var(--bg3); }
.about-g { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.about-vis { position:relative; }
.about-img {
  border-radius:var(--radlg); overflow:hidden;
  border:1px solid var(--border); box-shadow:var(--shadow-lg);
  aspect-ratio:5/4; background:var(--bg4);
}
.about-img img { width:100%; height:100%; object-fit:cover; object-position:top center; }
.about-chip {
  background:var(--bg2); border:1px solid var(--border);
  border-radius:var(--rad); padding:20px 24px; box-shadow:var(--shadow-md);
}
.ac-num {
  font-family:var(--fh); font-size:40px; font-weight:700;
  background:var(--gg-text); background-size:200%;
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.ac-lbl { font-family:var(--fb); font-size:12px; color:var(--muted); font-weight:600; letter-spacing:.08em; text-transform:uppercase; }

/* Globe */
.about-globe-wrap { position:relative; width:100%; display:flex; align-items:center; justify-content:center; max-width:480px; margin:0 auto; padding-bottom:24px; }
.ag-globe { position:relative; display:flex; align-items:center; justify-content:center; width:100%; }
#advix-globe,#advix-globe-about { border-radius:50%; filter:drop-shadow(0 20px 60px rgba(75,97,236,.3)); display:block; cursor:grab; margin:0 auto; }
#advix-globe:active,#advix-globe-about:active { cursor:grabbing; }
.ag-brand-label { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); text-align:center; pointer-events:none; white-space:nowrap; z-index:5; }
.ag-brand-a { display:block; font-family:var(--fh); font-size:clamp(14px,3vw,24px); font-weight:700; color:#fff; text-shadow:0 2px 16px rgba(0,0,0,.6); letter-spacing:.5px; }
.ag-brand-b { display:block; font-family:var(--fb); font-size:clamp(8px,1.4vw,12px); font-weight:700; color:rgba(255,255,255,.88); letter-spacing:.18em; text-transform:uppercase; margin-top:3px; text-shadow:0 1px 8px rgba(0,0,0,.5); }

/* Float chips */
.ag-chip1 { position:absolute; bottom:0%; left:-2%; background:var(--bg2); border:1px solid var(--border); border-radius:var(--rad); padding:16px 20px; box-shadow:var(--shadow-md); z-index:6; animation:ag-float1 4s ease-in-out infinite; }
@keyframes ag-float1 { 0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)} }
.ag-float-card { position:absolute; background:var(--bg2); border:1px solid var(--border); border-radius:8px; padding:12px 16px; box-shadow:var(--shadow-md); display:flex; align-items:center; gap:10px; z-index:6; }
.ag-fc-top { top:6%; right:-4%; animation:ag-float2 5s ease-in-out infinite; }
.ag-fc-bot { bottom:20%; right:-4%; animation:ag-float3 6s ease-in-out infinite; }
@keyframes ag-float2 { 0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)} }
@keyframes ag-float3 { 0%,100%{transform:translateY(0)}50%{transform:translateY(8px)} }
.ag-fc-icon { font-size:22px; flex-shrink:0; }
.ag-fc-val { font-family:var(--fh); font-size:18px; font-weight:700; background:var(--gg-text); background-size:200%; -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; line-height:1; }
.ag-fc-lbl { font-family:var(--fb); font-size:11px; color:var(--muted); font-weight:600; margin-top:2px; letter-spacing:.06em; text-transform:uppercase; }

.about-feats { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:26px 0; }
.af {
  background:var(--bg2); border:1px solid var(--border); border-radius:var(--rad);
  padding:15px 17px; display:flex; align-items:flex-start; gap:12px; transition:var(--tr);
}
.af:hover { border-color:var(--blue-lt2); box-shadow:var(--shadow); }
.af-ico { font-size:20px; flex-shrink:0; }
.af-t { font-family:var(--fh); font-weight:700; font-size:14px; margin-bottom:3px; color:var(--blue-dk); }
.af-d { font-family:var(--fb); font-size:13px; color:var(--muted); line-height:1.55; }

/* ══════════════════════════════════════════
   CONTACT
══════════════════════════════════════════ */
#contact { background:var(--bg2); }
.contact-g { display:grid; grid-template-columns:1fr 1.65fr; gap:48px; margin-top:48px; align-items:stretch; }
.contact-info-col { display:flex; flex-direction:column; height:100%; }
.contact-g>.rev { display:flex; flex-direction:column; height:100%; }
.contact-g>.rev>.cf-wrap { flex:1; min-height:0; }
.contact-g>.advix-form-col { height:100%; box-sizing:border-box; }
.ci { display:flex; gap:14px; align-items:flex-start; margin-bottom:12px; }
.ci-ico {
  width:40px; height:40px; border-radius:6px; flex-shrink:0;
  background:var(--blue-lt); border:1px solid var(--blue-lt2);
  display:flex; align-items:center; justify-content:center; font-size:18px; transition:var(--tr);
}
.ci:hover .ci-ico { background:var(--gg); border-color:transparent; }
.ci-lbl { font-family:var(--fb); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-bottom:3px; font-weight:700; }
.ci-val { font-family:var(--fb); font-size:14px; font-weight:600; color:var(--text); }
.ci-val a { color:var(--text); transition:color .25s; }
.ci-val a:hover { color:var(--blue-dk); }

.map-wrap { border-radius:var(--radlg); overflow:hidden; border:1px solid var(--border); flex:1; min-height:180px; margin-top:8px; background:var(--bg3); display:flex; flex-direction:column; }
.map-wrap iframe { width:100%; flex:1; border:none; display:block; }
.map-placeholder { text-align:center; color:var(--muted); padding:20px; }
.map-emoji { font-size:36px; margin-bottom:10px; }

.cf-wrap {
  background:var(--bg2); border:1px solid var(--border); border-radius:var(--radlg);
  padding:24px 26px 20px; box-shadow:var(--shadow); height:100%; flex:1;
  box-sizing:border-box; display:flex; flex-direction:column; min-height:0;
}
.cf-h { font-family:var(--fh); font-size:22px; font-weight:700; margin-bottom:4px; color:var(--blue-dk); }
.cf-sub { font-family:var(--fb); font-size:13px; color:var(--muted); margin-bottom:14px; line-height:1.65; }
.cf-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; flex:1; }
.cf-group { display:flex; flex-direction:column; margin-bottom:10px; }
.cf-group.s2 { grid-column:1/-1; }
.cf-group label {
  display:block; font-family:var(--fb);
  font-size:10px; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--text2); margin-bottom:7px; line-height:1;
}
.cf-req { color:var(--blue); }
.cf-opt { font-size:10px; font-weight:400; color:var(--muted); text-transform:none; letter-spacing:0; margin-left:3px; }
.cf-group input,.cf-group select,.cf-group textarea {
  background:var(--bg); border:1.5px solid var(--border); border-radius:4px;
  padding:14px 18px; color:var(--text); font-family:var(--fb); font-size:14px;
  outline:none; transition:border-color .2s,box-shadow .2s,background .2s;
  width:100%; box-sizing:border-box; line-height:1.5;
}
.cf-group input::placeholder,.cf-group textarea::placeholder { color:var(--muted); opacity:.65; font-size:13.5px; }
.cf-group input:focus,.cf-group select:focus,.cf-group textarea:focus {
  border-color:var(--blue); background:var(--bg2); box-shadow:0 0 0 3px rgba(75,97,236,.15);
}
.cf-group select {
  cursor:pointer; -webkit-appearance:none; appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235f5e5e' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center; background-color:var(--bg); padding-right:40px;
}
.cf-group select option { background:var(--white); color:var(--text); }
.cf-group textarea { resize:vertical; min-height:100px; }
.cf-foot { margin-top:4px; }
.cf-note { font-family:var(--fb); font-size:12px; color:var(--muted); text-align:center; margin-top:12px; display:flex; align-items:center; justify-content:center; gap:5px; }

/* ── SUBMIT BUTTON (main style) ── */
button.advix-submit-btn,input.advix-submit-btn {
  display:block; width:100%; padding:16px 28px;
  border:none; border-radius:2px;
  background:var(--gg);
  color:var(--text);
  font-family:var(--fb); font-size:13px; font-weight:800;
  letter-spacing:.14em; text-transform:uppercase;
  cursor:pointer; transition:all .25s ease;
  box-shadow:0 6px 24px rgba(75,97,236,.4);
  text-align:center; outline:none; -webkit-appearance:none; appearance:none;
}
button.advix-submit-btn:hover,input.advix-submit-btn:hover {
  background:var(--gg2); transform:translateY(-2px); box-shadow:0 10px 32px rgba(75,97,236,.55);
}
button.advix-submit-btn:active,input.advix-submit-btn:active { transform:translateY(0); }

/* Alert messages */
.advix-alert { padding:13px 18px; border-radius:4px; font-family:var(--fb); font-size:14px; font-weight:600; margin-bottom:14px; }
.advix-alert-ok  { background:#d1fae5; color:#065f46; border:1px solid #a7f3d0; }
.advix-alert-err { background:#fee2e2; color:#991b1b; border:1px solid #fecaca; }
.advix-alert-warn{ background:var(--blue-lt); color:var(--blue-dk); border:1px solid var(--blue-lt2); }

/* ══════════════════════════════════════════
   FOOTER
══════════════════════════════════════════ */
#site-footer {
  background: #1a1d2e;
  border-top: 1px solid rgba(255,255,255,.06);
  padding: 56px 0 30px;
}
.ft-g { display:grid; grid-template-columns:2.2fr 1fr 1fr 1.2fr; gap:44px; margin-bottom:40px; }
.ft-brand p { font-family:var(--fb); font-size:13px; color:rgba(255,255,255,.48); line-height:1.85; max-width:320px; margin:18px 0 24px; }
.soc-row { display:flex; gap:10px; }
.soc-btn {
  width:42px; height:42px; border-radius:4px;
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1);
  display:flex; align-items:center; justify-content:center; font-size:16px;
  transition:var(--tr); color:rgba(255,255,255,.5); text-decoration:none;
}
.soc-btn:hover { background:var(--blue); border-color:var(--blue); color:#fff; transform:translateY(-3px); }
.fc h5 {
  font-family:var(--fb); font-size:11px; font-weight:800;
  margin-bottom:18px; color:#ffffff; letter-spacing:.16em; text-transform:uppercase;
}
.fc a { font-family:var(--fb); display:block; font-size:13px; color:rgba(255,255,255,.48); margin-bottom:10px; transition:color .25s; }
.fc a:hover { color:rgba(255,255,255,.9); }
.ft-bot {
  border-top:1px solid rgba(255,255,255,.07);
  padding-top:28px; display:flex; align-items:center; justify-content:space-between;
  font-family:var(--fb); font-size:12px; color:rgba(255,255,255,.38);
  flex-wrap:wrap; gap:14px; letter-spacing:.06em;
}
.ft-legal { display:flex; gap:22px; }
.ft-legal a { color:rgba(255,255,255,.38); }
.ft-legal a:hover { color:rgba(255,255,255,.8); }

/* ── WHATSAPP FLOAT ── */
.wa-float {
  position:fixed; bottom:28px; right:28px; z-index:8998;
  width:60px; height:60px; border-radius:50%;
  background:#25D366; display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 24px rgba(37,211,102,.4);
  transition:var(--tr); animation:wa-pulse 3s ease-in-out infinite;
}
@keyframes wa-pulse {
  0%,100% { box-shadow:0 6px 24px rgba(37,211,102,.4); }
  50% { box-shadow:0 6px 24px rgba(37,211,102,.4),0 0 0 10px rgba(37,211,102,.08); }
}
.wa-float:hover { transform:scale(1.1); box-shadow:0 12px 40px rgba(37,211,102,.55); animation:none; }
.wa-float svg { width:28px; height:28px; fill:#fff; }
.wa-tip {
  position:absolute; right:70px;
  background:var(--bg2); border:1px solid var(--border); border-radius:4px;
  padding:8px 14px; font-family:var(--fb); font-size:12px; font-weight:700;
  white-space:nowrap; opacity:0; visibility:hidden; transition:var(--tr);
  color:var(--text); box-shadow:var(--shadow);
}
.wa-float:hover .wa-tip { opacity:1; visibility:visible; }

/* ══════════════════════════════════════════
   PAGE HERO (Inner Pages)
══════════════════════════════════════════ */
.page-hero {
  padding: 96px 0 48px;
  background: #1a1d2e;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(75,97,236,.15);
}
/* page-hero dark overlay so bg image never obscures text */
.page-hero::after {
  content:''; position:absolute; inset:0; z-index:1;
  background: linear-gradient(135deg, rgba(26,29,46,.82) 0%, rgba(15,17,35,.72) 100%);
  pointer-events:none;
}
.page-hero::before {
  content:''; position:absolute; top:-40%; right:-8%;
  width:600px; height:600px; border-radius:50%;
  background:radial-gradient(circle,rgba(75,97,236,.35) 0%,transparent 70%); z-index:2;
  pointer-events:none;
}
.page-hero-bg-img { position:absolute; inset:0; z-index:0; background-size:cover; background-position:center; opacity:.35; pointer-events:none; }
.page-hero .wrap { position:relative; z-index:3; }
/* page-hero: .grad text = gold accent on dark bg */
.page-hero .grad {
  background: linear-gradient(135deg, #d4af37 0%, #e9c349 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.page-hero h1,.page-hero h2 { color:#ffffff; text-shadow:0 2px 24px rgba(0,0,0,.5); font-family:var(--fh2); font-weight:400; }
.page-hero p { font-family:var(--fb); color:rgba(255,255,255,.82); text-shadow:0 1px 8px rgba(0,0,0,.3); font-weight:300; letter-spacing:.02em; }
.page-hero .eye { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.25); color:rgba(255,255,255,.9); backdrop-filter:blur(6px); }
.page-hero .eye::before,.page-hero .eye::after { color:var(--gold); }
.page-hero .breadcrumb { color:rgba(255,255,255,.55); }
.page-hero .breadcrumb a { color:rgba(255,255,255,.85); }
.breadcrumb {
  display:flex; align-items:center; gap:8px;
  font-family:var(--fb); font-size:12px; letter-spacing:.1em;
  color:rgba(255,255,255,.48); margin-bottom:22px;
}
.breadcrumb a { color:var(--blue); }
.breadcrumb .sep { opacity:.3; }

/* ══════════════════════════════════════════
   SERVICE PAGES
══════════════════════════════════════════ */
.svc-page-hero { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.svc-page-img { border-radius:var(--radlg); overflow:hidden; border:1px solid var(--border); box-shadow:var(--shadow-md); aspect-ratio:4/3; background:var(--bg3); }
.feats-g { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:28px; }
.feat-item {
  background:var(--bg2); border:1px solid var(--border); border-radius:var(--rad);
  padding:20px; display:flex; align-items:flex-start; gap:13px;
  transition:var(--tr); box-shadow:var(--shadow);
}
.feat-item:hover { border-color:var(--blue-lt2); transform:translateY(-3px); box-shadow:var(--shadow-md); }
.feat-ico { font-size:24px; flex-shrink:0; }
.feat-t { font-family:var(--fh2); font-weight:400; font-size:17px; margin-bottom:5px; color:var(--text); letter-spacing:-.01em; }
.feat-d { font-family:var(--fb); font-size:13.5px; color:var(--muted); line-height:1.7; font-weight:400; }

.proc-list { margin-top:32px; }
.pstep { display:flex; gap:24px; padding:26px 0; border-bottom:1px solid var(--border); }
.pstep:last-child { border-bottom:none; }
.ps-n {
  font-family:var(--fh); font-size:44px; font-weight:700;
  background:var(--gg-text); background-size:200%;
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  line-height:1; flex-shrink:0; width:60px;
}
.ps-t { font-family:var(--fh); font-size:19px; font-weight:700; margin-bottom:8px; color:var(--blue-dk); }
.ps-d { font-family:var(--fb); font-size:14px; color:var(--muted); line-height:1.8; }

.cta-banner {
  background: linear-gradient(135deg, #0f1123 0%, #1a1d4e 40%, #2a1a6e 100%);
  border-radius: 20px;
  padding: 60px 40px;
  text-align: center;
  margin-top: 40px;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
}
/* Glow orbs */
.cta-banner::before {
  content: '';
  position: absolute;
  top: -60px; left: 50%;
  transform: translateX(-50%);
  width: 500px; height: 300px;
  background: radial-gradient(ellipse, rgba(75,97,236,.35) 0%, transparent 70%);
  pointer-events: none;
}
.cta-banner::after {
  content: '';
  position: absolute;
  bottom: -40px; right: -40px;
  width: 300px; height: 300px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(105,65,235,.25) 0%, transparent 70%);
  pointer-events: none;
}
/* Top shimmer line */
.cta-banner > *:first-child::before {
  display: none;
}
.cta-banner h3 {
  font-family: var(--fh2);
  font-size: clamp(26px,4vw,44px);
  font-weight: 400;
  margin-bottom: 14px;
  color: #ffffff;
  position: relative;
  z-index: 1;
  letter-spacing: -.02em;
  line-height: 1.1;
}
.cta-banner p {
  font-family: var(--fb);
  font-size: 16px;
  color: rgba(255,255,255,.65);
  max-width: 520px;
  margin: 0 auto 36px;
  position: relative;
  z-index: 1;
  line-height: 1.8;
  font-weight: 300;
}
.cta-acts {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}
.cta-acts .btn { font-size:12px; padding:15px 34px; letter-spacing:.12em; border-radius:8px; }
/* btn-outline inside dark CTA banner → white ghost */
.cta-acts .btn-outline {
  border: 1.5px solid rgba(255,255,255,.4);
  color: #ffffff;
  background: rgba(255,255,255,.07);
  backdrop-filter: blur(6px);
}
.cta-acts .btn-outline:hover {
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.7);
  color: #ffffff;
}

/* ══════════════════════════════════════════
   PRICING
══════════════════════════════════════════ */
.pricing-g { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:44px; }
.pc {
  background:var(--bg2); border:1px solid var(--border); border-radius:var(--radlg);
  padding:38px 32px; display:flex; flex-direction:column;
  transition:var(--tr); position:relative; box-shadow:var(--shadow);
}
.pc:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); border-color:var(--blue-lt2); }
.pc.pop { border-color:var(--gold); box-shadow:0 8px 32px rgba(212,175,55,.2); transform:scale(1.03); }
.pc.pop:hover { transform:scale(1.03) translateY(-6px); }
.pop-badge {
  position:absolute; top:-14px; left:50%; transform:translateX(-50%);
  background:var(--gg-gold); color:#fff;
  font-family:var(--fb); font-size:10px; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase;
  padding:5px 20px; border-radius:2px; white-space:nowrap;
}
.pc-tier { font-family:var(--fb); font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--blue-dk); margin-bottom:8px; }
.pc-name { font-family:var(--fh2); font-size:26px; font-weight:400; margin-bottom:18px; color:var(--text); letter-spacing:-.01em; }
.pc-price { margin-bottom:24px; }
.pc-price .sym { font-family:var(--fh2); font-size:22px; font-weight:400; vertical-align:top; margin-top:10px; display:inline-block; color:var(--text); }
.pc-price .val { font-family:var(--fh2); font-size:52px; font-weight:400; line-height:1; color:var(--text); }
.pc-price .per { font-family:var(--fb); font-size:13px; color:var(--muted); margin-top:4px; }
.pc-desc { font-family:var(--fb); font-size:14px; color:var(--muted); line-height:1.75; margin-bottom:12px; }
.pc-note { font-family:var(--fb); font-size:12px; color:var(--blue-dk); font-weight:600; background:var(--blue-lt); border:1px solid var(--blue-lt2); border-radius:2px; padding:7px 12px; margin-bottom:20px; line-height:1.5; white-space:normal; overflow:hidden; word-break:break-word; }
.pc-feats { flex:1; margin-bottom:30px; }
.pc-feat { display:flex; align-items:flex-start; gap:10px; margin-bottom:10px; font-family:var(--fb); font-size:13px; color:var(--text2); }
.pc-feat::before { content:'✦'; color:var(--blue); font-size:9px; flex-shrink:0; margin-top:2px; }
.pc-feat.no { color:var(--muted2); }
.pc-feat.no::before { content:'✗'; color:var(--border2); }

.faq-g { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:32px; }
.faq-item { background:var(--bg2); border:1px solid var(--border); border-radius:var(--rad); padding:24px; transition:var(--tr); box-shadow:var(--shadow); }
.faq-item:hover { border-color:var(--blue-lt2); box-shadow:var(--shadow-md); }
.faq-q { font-family:var(--fh); font-weight:700; font-size:15px; margin-bottom:9px; color:var(--blue-dk); }
.faq-a { font-family:var(--fb); font-size:14px; color:var(--muted); line-height:1.8; }

/* ══════════════════════════════════════════
   ABOUT / TEAM / WHY US
══════════════════════════════════════════ */
.team-g { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:40px; }
.team-card { background:var(--bg2); border:1px solid var(--border); border-radius:var(--radlg); overflow:hidden; transition:var(--tr); box-shadow:var(--shadow); }
.team-card:hover { transform:translateY(-6px); border-color:var(--blue-lt2); box-shadow:var(--shadow-md); }
.team-avatar { width:100%; aspect-ratio:1; background:var(--bg3); display:flex; align-items:center; justify-content:center; font-size:56px; }
.team-info { padding:20px; }
.team-name { font-family:var(--fh); font-size:17px; font-weight:700; margin-bottom:4px; color:var(--blue-dk); }
.team-role { font-family:var(--fb); font-size:11px; color:var(--blue); margin-bottom:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.team-bio { font-family:var(--fb); font-size:13px; color:var(--muted); line-height:1.7; }

.vals-g { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:36px; }
.val-c { background:var(--bg2); border:1px solid var(--border); border-radius:var(--radlg); padding:30px; transition:var(--tr); box-shadow:var(--shadow); }
.val-c:hover { border-color:var(--blue-lt2); transform:translateY(-5px); box-shadow:var(--shadow-md); }
.val-ico { font-size:34px; margin-bottom:15px; }
.val-c h4 { font-family:var(--fh); font-size:19px; font-weight:700; margin-bottom:10px; color:var(--blue-dk); }
.val-c p { font-family:var(--fb); font-size:14px; color:var(--muted); line-height:1.8; }

.stat-bar { display:grid; grid-template-columns:repeat(4,1fr); gap:36px; text-align:center; }
.sb-num {
  font-family:var(--fh); font-size:48px; font-weight:700;
  background:var(--gg-text); background-size:200%;
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.sb-lbl { font-family:var(--fb); font-size:12px; color:var(--muted); margin-top:5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }

.skip-link { position:absolute; top:-100px; left:0; background:var(--blue); color:var(--text); padding:8px 16px; font-weight:700; z-index:99999; border-radius:0 0 4px 0; transition:top .2s; }
.skip-link:focus { top:0; }

/* Team grid (new) */
.tm-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:36px; }
.tm-card { background:var(--bg2); border:1px solid var(--border); border-radius:var(--radlg); overflow:hidden; transition:var(--tr); box-shadow:var(--shadow); }
.tm-card:hover { transform:translateY(-7px); border-color:var(--blue-lt2); box-shadow:var(--shadow-md); }
.tm-photo-wrap { position:relative; overflow:hidden; aspect-ratio:4/3; }
.tm-photo { width:100%; height:100%; object-fit:cover; object-position:top center; display:block; transition:transform .5s ease; }
.tm-card:hover .tm-photo { transform:scale(1.05); }
.tm-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(26,29,46,.8) 0%,transparent 60%); opacity:0; transition:opacity .3s ease; display:flex; align-items:flex-end; justify-content:center; padding-bottom:20px; }
.tm-card:hover .tm-overlay { opacity:1; }
.tm-socials { display:flex; gap:10px; }
.tm-soc { width:38px; height:38px; border-radius:50%; background:rgba(75,97,236,.15); backdrop-filter:blur(8px); border:1px solid rgba(75,97,236,.3); display:flex; align-items:center; justify-content:center; transition:var(--tr); }
.tm-soc:hover { background:var(--blue); border-color:var(--blue); }
.tm-soc svg { width:16px; height:16px; fill:var(--white); }
.tm-info { padding:22px; }
.tm-name { font-family:var(--fh); font-size:19px; font-weight:700; color:var(--blue-dk); margin-bottom:4px; }
.tm-role { font-family:var(--fb); font-size:11px; color:var(--blue); font-weight:700; margin-bottom:12px; text-transform:uppercase; letter-spacing:.12em; }
.tm-bio { font-family:var(--fb); font-size:14px; color:var(--muted); line-height:1.75; }

/* Why us */
.why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:40px; }
.why-card {
  background:var(--bg2); border:1px solid var(--border); border-radius:var(--radlg);
  padding:32px 26px; transition:var(--tr); position:relative; overflow:hidden; box-shadow:var(--shadow);
}
.why-card::before {
  content:''; position:absolute; top:0; left:0; width:100%; height:3px;
  background:var(--gg); transform:scaleX(0); transition:transform .35s var(--ease);
}
.why-card:hover { border-color:var(--blue-lt2); transform:translateY(-5px); box-shadow:var(--shadow-md); }
.why-card:hover::before { transform:scaleX(1); }
.why-ico { font-size:38px; margin-bottom:16px; }
.why-card h3 { font-family:var(--fh); font-size:19px; font-weight:700; color:var(--blue-dk); margin-bottom:11px; }
.why-card p { font-family:var(--fb); font-size:14px; color:var(--muted); line-height:1.8; }

/* Comparison table */
.cmp-wrap { overflow-x:auto; margin-top:48px; }
.cmp-table { width:100%; border-collapse:collapse; min-width:480px; }
.cmp-table thead tr { border-bottom:2px solid var(--border2); }
.cmp-table th { font-family:var(--fb); padding:16px 20px; font-size:13px; font-weight:700; text-align:center; letter-spacing:.08em; text-transform:uppercase; }
.cmp-table th.cmp-feature { text-align:left; width:55%; color:var(--blue-dk); }
.cmp-table th.cmp-us { color:var(--blue-dk); background:var(--blue-lt); border-radius:6px 6px 0 0; }
.cmp-table th.cmp-them { color:var(--muted); }
.cmp-table td { padding:13px 20px; font-family:var(--fb); font-size:13px; border-bottom:1px solid var(--border); text-align:center; }
.cmp-table td.cmp-feature { text-align:left; color:var(--text2); }
.cmp-table td.cmp-us { background:var(--blue-lt); }
.cmp-yes { color:var(--blue-dk); font-size:20px; font-weight:800; }
.cmp-no { color:var(--muted2); font-size:20px; }
.cmp-table tbody tr:hover td { background:var(--bg3); }
.cmp-table tbody tr:hover td.cmp-us { background:var(--blue-lt2); }

.why-reviews { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:32px; }
.why-rv { background:var(--bg2); border:1px solid var(--border); border-radius:var(--radlg); padding:26px; transition:var(--tr); box-shadow:var(--shadow); }
.why-rv:hover { border-color:var(--blue-lt2); transform:translateY(-4px); box-shadow:var(--shadow-md); }

/* ══════════════════════════════════════════
   SERVICES INDEX PAGE
══════════════════════════════════════════ */
.svc-index-hero { padding:90px 0 56px; background:#1a1d2e; position:relative; overflow:hidden; }
.svc-hero-bg { position:absolute; inset:0; background:radial-gradient(ellipse 70% 60% at 60% 40%,rgba(75,97,236,.25) 0%,transparent 65%),radial-gradient(ellipse 40% 50% at 10% 80%,rgba(75,97,236,.12) 0%,transparent 60%); }
.svc-hero-grid { position:absolute; inset:0; opacity:.06; background-image:linear-gradient(rgba(75,97,236,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(75,97,236,.4) 1px,transparent 1px); background-size:52px 52px; }
.svc-index-hd h1 { font-family:var(--fh); font-size:clamp(36px,5.5vw,70px); color:var(--blue); margin-bottom:22px; line-height:1.08; }
.grad-hero { background:linear-gradient(135deg,var(--blue2) 0%,var(--white) 60%,var(--blue) 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.svc-hero-desc { font-family:var(--fb); font-size:17px; max-width:560px; line-height:1.9; margin-bottom:38px; color:rgba(255,255,255,.75); font-weight:300; }
.svc-hero-acts { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:32px; }
.btn-white-outline { border:1.5px solid rgba(75,97,236,.4); color:var(--blue); background:transparent; }
.btn-white-outline:hover { border-color:var(--blue); background:rgba(75,97,236,.1); }
.svc-hero-trust { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.trust-item { font-family:var(--fb); font-size:12px; color:rgba(255,255,255,.4); font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.trust-sep { color:rgba(75,97,236,.25); font-size:18px; }

.svc-index-main {}
.svc-index-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }

.svc-full-card {
  background:var(--bg2); border:1px solid var(--border); border-radius:var(--radlg);
  padding:0; overflow:hidden; transition:var(--tr); box-shadow:var(--shadow);
  display:flex; flex-direction:column;
}
.svc-full-card:hover { transform:translateY(-6px); border-color:var(--blue-lt2); box-shadow:var(--shadow-md); }
.sfc-top { display:flex; align-items:center; justify-content:space-between; padding:28px 28px 0; }
.sfc-ico-wrap { width:56px; height:56px; border-radius:6px; background:var(--blue-lt); border:1px solid var(--blue-lt2); display:flex; align-items:center; justify-content:center; font-size:26px; transition:var(--tr); }
.sfc-ico-warm,.sfc-ico-teal,.sfc-ico-amber,.sfc-ico-violet { background:var(--blue-lt); border-color:var(--blue-lt2); }
.svc-full-card:hover .sfc-ico-wrap { background:var(--gg); border-color:transparent; transform:scale(1.06); }
.sfc-badge { font-family:var(--fb); font-size:11px; font-weight:700; color:var(--blue-dk); background:var(--blue-lt); border:1px solid var(--blue-lt2); padding:5px 13px; border-radius:2px; letter-spacing:.08em; text-transform:uppercase; }
.sfc-body { padding:22px 28px; flex:1; }
.sfc-body h3 { font-family:var(--fh2); font-size:20px; font-weight:400; margin-bottom:10px; color:var(--text); letter-spacing:-.01em; }
.sfc-lead { font-family:var(--fb); font-size:14px; color:var(--muted); line-height:1.8; margin-bottom:18px; }
.sfc-feats { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.sfc-feats li { font-family:var(--fb); font-size:13px; color:var(--text2); padding-left:20px; position:relative; line-height:1.55; }
.sfc-feats li::before { content:'✦'; position:absolute; left:0; color:var(--blue); font-size:9px; top:3px; }
.sfc-foot { padding:22px 28px 26px; display:flex; align-items:center; gap:14px; border-top:1px solid var(--border); margin-top:auto; }
.sfc-wa { display:inline-flex; align-items:center; gap:7px; font-family:var(--fb); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#25D366; transition:var(--tr); }
.sfc-wa svg { width:16px; height:16px; fill:#25D366; }
.sfc-wa:hover { color:#20c25a; gap:10px; }

.svc-cta-card { background:#1a1d2e; border-color:rgba(75,97,236,.3); position:relative; overflow:hidden; }
.svc-cta-card::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 60% 50%,rgba(75,97,236,.25),transparent 70%); }
.sfc-cta-inner { position:relative; z-index:1; padding:42px 30px; display:flex; flex-direction:column; align-items:flex-start; height:100%; }
.sfc-cta-ico { font-size:44px; margin-bottom:18px; }
.svc-cta-card h3 { font-family:var(--fh); font-size:21px; font-weight:700; margin-bottom:12px; color:var(--blue); }
.svc-cta-card p { font-family:var(--fb); font-size:14px; color:rgba(75,97,236,.65); line-height:1.8; margin-bottom:22px; }
.sfc-cta-checks { display:flex; flex-direction:column; gap:8px; margin-bottom:28px; }
.sfc-cta-checks span { font-family:var(--fb); font-size:13px; color:rgba(75,97,236,.75); font-weight:600; letter-spacing:.04em; }
.sfc-cta-checks span::first-letter { color:var(--blue); font-weight:800; }

/* Services compare */
.svc-compare-wrap { overflow-x:auto; }
.svc-compare { min-width:600px; border:1px solid var(--border); border-radius:var(--radlg); overflow:hidden; box-shadow:var(--shadow); }
.sc-head,.sc-row { display:grid; grid-template-columns:1.6fr 2.2fr 1.3fr 1.1fr 0.7fr; }
.sc-head { background:#1a1d2e; padding:14px 22px; }
.sc-head .sc-col { font-family:var(--fb); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.4); }
.sc-row { padding:16px 22px; border-bottom:1px solid var(--border); background:var(--bg2); transition:var(--tr); align-items:center; }
.sc-row:last-child { border-bottom:none; }
.sc-row:hover { background:var(--blue-lt); }
.sc-col { font-family:var(--fb); font-size:13px; color:var(--text2); display:flex; align-items:center; gap:8px; }
.sc-label { font-weight:700; color:var(--blue-dk); }
.sc-ico { font-size:18px; }
.sc-tag { background:var(--blue-lt); color:var(--blue-dk); font-family:var(--fb); font-size:11px; font-weight:700; padding:4px 11px; border-radius:2px; letter-spacing:.08em; text-transform:uppercase; }
.sc-time { font-family:var(--fb); color:var(--muted); font-size:12px; }
.sc-price { font-family:var(--fh); font-weight:700; color:var(--blue-dk); font-size:15px; }
.sc-btn { font-family:var(--fb); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--blue-dk); background:var(--blue-lt); padding:7px 16px; border-radius:2px; transition:var(--tr); white-space:nowrap; }
.sc-btn:hover { background:var(--blue); color:var(--text); }

/* Services trust bar */
.svc-trust-g { display:flex; align-items:center; justify-content:center; gap:0; border:1px solid var(--border); border-radius:var(--radlg); background:var(--bg2); overflow:hidden; box-shadow:var(--shadow); }
.st-item { flex:1; text-align:center; padding:32px 20px; }
.st-num { font-family:var(--fh); font-size:clamp(24px,3vw,38px); font-weight:700; background:var(--gg-text); background-size:200%; -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; line-height:1; }
.st-lbl { font-family:var(--fb); font-size:11px; color:var(--muted); margin-top:6px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.st-div { width:1px; background:var(--border); align-self:stretch; }

/* ══════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════ */
@media(max-width:1100px) {
  .svc-g { grid-template-columns:repeat(2,1fr); }
  .svc-index-grid { grid-template-columns:repeat(2,1fr); }
  .pricing-g { grid-template-columns:1fr; max-width:100%; margin-left:auto; margin-right:auto; }
  .pc.pop { transform:none; } .pc.pop:hover { transform:translateY(-6px); }
  .ft-g { grid-template-columns:1fr 1fr; }
  .hero-split { grid-template-columns:1fr 1fr; }
  .team-g { grid-template-columns:repeat(2,1fr); }
  .vals-g { grid-template-columns:repeat(2,1fr); }
  .about-g { grid-template-columns:1fr; gap:32px; } .about-vis { display:block !important; order:-1; }
  .about-globe-wrap { max-width:420px; padding-bottom:70px; }
  .ag-fc-top { top:5%; right:2%; }
  .ag-fc-bot { bottom:20%; right:2%; }
  .ag-chip1 { left:2%; bottom:0%; }
  .why-grid { grid-template-columns:repeat(2,1fr); }
  .why-reviews { grid-template-columns:repeat(2,1fr); }
  .tm-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:900px) {
  .contact-g { grid-template-columns:1fr; height:auto; }
  .cf-grid { grid-template-columns:1fr !important; }
  .cf-group.s2 { grid-column:1 !important; }
  .pt-inner { grid-template-columns:1fr; padding:48px 28px; }
  .proc-g { grid-template-columns:repeat(2,1fr); gap:40px; } .proc-g::before { display:none; }
  .svc-page-hero { grid-template-columns:1fr; } .svc-page-img { display:none; }
  .feats-g { grid-template-columns:1fr; }
  .faq-g { grid-template-columns:1fr; }
}
@media(max-width:768px) {
  .nav-d,.nav-r { display:none; }
  .burger { display:flex; }
  .sec { padding:40px 0; }
  h1 { font-size:clamp(26px,8vw,42px); }
  h2 { font-size:clamp(22px,7vw,34px); }
  .wrap { padding:0 16px; }
  .hero-split { grid-template-columns:1fr; }
  .hs-left-inner { padding:20px 16px; gap:12px; }
  .hs-h1 { font-size:clamp(24px,7.5vw,36px); }
  .hs-stats { grid-template-columns:repeat(4,1fr); }
  .hs-stat { padding:10px 4px; }
  .hs-stat-n { font-size:18px; }
  .hs-stat-l { font-size:7.5px; letter-spacing:.3px; }
  .hs-form-wrap { padding:16px; }
  .hs-form-card { padding:18px 14px; }
  .hs-row { grid-template-columns:1fr 1fr; }
  .pricing-g { max-width:100%; padding:0; }
  .pc { padding:24px 18px; }
  .pc-price .val { font-size:42px; }
  .pc-price .sym { font-size:18px; margin-top:8px; }
  .pc-name { font-size:22px; }
  .pc-note { font-size:11px; padding:6px 10px; white-space:normal; word-break:break-word; }
  .pop-badge { font-size:9px; padding:4px 14px; }
  .svc-g { grid-template-columns:1fr; }
  .svc-index-grid { grid-template-columns:1fr; }
  .svc-trust-g { flex-wrap:wrap; }
  .st-div { display:none; }
  .st-item { min-width:50%; border-bottom:1px solid var(--border); }
  .ws-card { flex:0 0 85%; transform:scale(1); opacity:1; }
  .ws-track.is-ready .ws-card,
  .ws-track.is-ready .ws-card.is-center,
  .ws-track.is-ready .ws-card:not(.is-center) { transform:scale(1); opacity:1; }
  .ws-img { aspect-ratio:4/3; }
  .ws-loop { margin:0 -8px; }
  .ws-loop::before,.ws-loop::after { width:30px; }
  .ws-progress { left:10px; right:10px; height:2px; }
  .ws-preview-btn { font-size:10px; padding:8px 14px; bottom:18px; }
  .rv-card { flex:0 0 calc(88% - 11px); }
  .ft-g { grid-template-columns:1fr; }
  .cf-grid { grid-template-columns:1fr; }
  .about-feats { grid-template-columns:1fr; }
  .about-globe-wrap { max-width:360px; padding-bottom:70px; }
  .ag-fc-top { top:5%; right:2%; }
  .ag-fc-bot { bottom:20%; right:2%; }
  .ag-chip1 { left:2%; bottom:0%; }
  .team-g { grid-template-columns:1fr 1fr; }
  .vals-g { grid-template-columns:1fr; }
  .stat-bar { grid-template-columns:repeat(2,1fr); }
  .cta-banner { padding:44px 24px 48px !important; overflow:visible !important; box-sizing:border-box; text-align:center !important; display:flex; flex-direction:column; align-items:center; }
  .cta-banner h3,.cta-banner p { text-align:center !important; width:100%; }
  .cta-acts { display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; width:100% !important; gap:14px !important; flex-wrap:nowrap !important; margin:0 auto; }
  .cta-acts .btn { display:flex !important; width:100% !important; max-width:280px !important; justify-content:center !important; align-items:center !important; box-sizing:border-box !important; padding:14px 20px !important; font-size:12px !important; text-align:center !important; margin:0 auto !important; }
}
@media(max-width:480px) {
  .about-globe-wrap { max-width:300px; padding-bottom:66px; }
  .ag-float-card { padding:8px 11px; gap:7px; }
  .ag-fc-icon { font-size:17px; }
  .ag-fc-val { font-size:14px; }
  .ag-fc-lbl { font-size:10px; }
  .hero-btns { flex-direction:column; }
  .hero-btns .btn { justify-content:center; width:100%; box-sizing:border-box; }
  .hs-stats { grid-template-columns:repeat(2,1fr); }
  .hs-stat:nth-child(3) { border-left:none; border-top:1px solid var(--blue-lt2); }
  .hs-stat:nth-child(4) { border-top:1px solid var(--blue-lt2); }
  .hs-stat-n { font-size:22px; }
  .hs-row { grid-template-columns:1fr; }
  .hs-form-card { padding:16px 14px; }
  .proc-g { grid-template-columns:1fr; }
  .team-g { grid-template-columns:1fr; }
  .cta-banner { padding:40px 20px 48px !important; }
  .cta-acts .btn { max-width:260px !important; }
  .ft-bot { flex-direction:column; align-items:center; text-align:center; }
  .why-grid { grid-template-columns:1fr; }
  .why-reviews { grid-template-columns:1fr; }
  .tm-grid { grid-template-columns:1fr; }
  .tm-photo-wrap { aspect-ratio:16/9; }
  .tm-overlay { opacity:1; }
  /* Pricing card tightening for very small screens */
  .pc { padding:20px 16px !important; }
  .pc-price .val { font-size:36px !important; }
  .pc-price .sym { font-size:16px !important; }
  .pc-name { font-size:20px !important; }
  .pc-note { font-size:11px !important; white-space:normal !important; word-break:break-word !important; }
  .pc-feat { font-size:12px; }
  .pop-badge { font-size:8px !important; padding:4px 12px !important; left:50%; }
}
@media(max-width:390px) {
  .hs-left-inner { padding:16px 14px; gap:10px; }
  .hs-h1 { font-size:24px; }
  .hs-stats { grid-template-columns:repeat(2,1fr); }
  .hs-stat:nth-child(3) { border-left:none; border-top:1px solid var(--blue-lt2); }
  .hs-stat:nth-child(4) { border-top:1px solid var(--blue-lt2); }
  .hs-stat-n { font-size:20px; }
  .hs-form-card { padding:14px 12px; }
  .hs-row { grid-template-columns:1fr; }
  .hdr { padding:0 16px; height:64px; }
  #home { padding-top:64px; }
  .wrap { padding:0 14px; }
  .sec { padding:28px 0; }
  h2 { font-size:22px; }
}

/* ══════════════════════════════════════════
   DESIGNING BLOG — LISTING
══════════════════════════════════════════ */
.blg-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:32px; margin-top:0; }
.blg-card { background:var(--bg2); border:1px solid var(--border); border-radius:var(--radlg); overflow:hidden; transition:var(--tr); box-shadow:var(--shadow); display:flex; flex-direction:column; }
.blg-card:hover { transform:translateY(-6px); border-color:var(--blue-lt2); box-shadow:var(--shadow-md); }
.blg-thumb-link { display:block; overflow:hidden; }
.blg-thumb { position:relative; aspect-ratio:16/9; overflow:hidden; }
.blg-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.blg-card:hover .blg-thumb img { transform:scale(1.06); }
.blg-cat { position:absolute; top:14px; left:14px; background:var(--blue-dk); color:var(--blue-lt); font-family:var(--fb); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; padding:5px 11px; border-radius:2px; }
.blg-body { padding:26px 28px 30px; flex:1; display:flex; flex-direction:column; }
.blg-meta { display:flex; gap:16px; margin-bottom:14px; flex-wrap:wrap; }
.blg-date,.blg-read { font-family:var(--fb); font-size:11px; color:var(--muted); font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.blg-title { font-family:var(--fh); font-size:20px; font-weight:700; color:var(--blue-dk); line-height:1.35; margin-bottom:12px; }
.blg-title a { color:inherit; text-decoration:none; transition:color .2s; }
.blg-title a:hover { color:var(--blue); }
.blg-excerpt { font-family:var(--fb); font-size:14px; color:var(--muted); line-height:1.8; margin-bottom:20px; flex:1; }
.blg-more { display:inline-flex; align-items:center; font-family:var(--fb); font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--blue-dk); text-decoration:none; transition:gap .2s,color .2s; margin-top:auto; }
.blg-more:hover { color:var(--blue); }

/* ── DESIGNING BLOG — ARTICLE ── */
.blg-article-wrap { max-width:860px; }
.blg-article-meta { display:flex; gap:18px; flex-wrap:wrap; align-items:center; margin-bottom:28px; padding-bottom:20px; border-bottom:1px solid var(--border); }
.blg-article-meta span { font-family:var(--fb); font-size:12px; color:var(--muted); font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.blg-cat-inline { background:var(--blue-dk); color:var(--blue-lt) !important; font-family:var(--fb); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; padding:4px 11px; border-radius:2px; }
.blg-article-hero { border-radius:var(--radlg); overflow:hidden; margin-bottom:44px; box-shadow:var(--shadow-md); }
.blg-article-hero img { width:100%; height:auto; display:block; aspect-ratio:16/7; object-fit:cover; }
.blg-article-body { font-size:16px; line-height:1.85; color:var(--text); font-family:var(--fb); }
.blg-article-body .blg-lead { font-family:var(--fh); font-size:19px; line-height:1.65; color:var(--blue-dk); margin-bottom:36px; padding-bottom:32px; border-bottom:1px solid var(--border); }
.blg-article-body h2 { font-family:var(--fh); font-size:26px; font-weight:700; color:var(--blue-dk); margin:44px 0 16px; line-height:1.3; }
.blg-article-body p { margin-bottom:20px; }
.blg-article-body a { color:var(--blue-dk); text-decoration:underline; text-underline-offset:3px; }
.blg-article-body strong { color:var(--blue-dk); font-weight:700; }
.blg-article-body em { font-style:italic; }
.blg-callout { background:var(--blue-lt); border-left:4px solid var(--blue); border-radius:0 var(--rad) var(--rad) 0; padding:22px 26px; margin:36px 0; font-size:15px; line-height:1.75; }
.blg-callout strong { color:var(--blue-dk); }
.blg-back { margin-top:36px; padding-top:24px; border-top:1px solid var(--border); }
.btn-outline { background:transparent; border:2px solid var(--blue); color:var(--blue-dk); padding:12px 26px; border-radius:2px; font-family:var(--fb); font-weight:700; font-size:12px; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; display:inline-flex; align-items:center; gap:8px; transition:var(--tr); }
.btn-outline:hover { background:var(--blue); color:var(--text); }
.blg-related { margin-top:36px; padding-top:28px; border-top:1px solid var(--border); }
.blg-related-title { font-family:var(--fh); font-size:22px; font-weight:700; color:var(--blue-dk); margin-bottom:24px; }
.blg-related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.blg-rel-card { display:flex; flex-direction:column; border-radius:var(--rad); overflow:hidden; border:1px solid var(--border); text-decoration:none; transition:var(--tr); box-shadow:var(--shadow); }
.blg-rel-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:var(--blue-lt2); }
.blg-rel-card img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }
.blg-rel-info { padding:14px 16px; display:flex; flex-direction:column; gap:8px; }
.blg-rel-info p { font-family:var(--fb); font-size:13px; color:var(--blue-dk); font-weight:600; line-height:1.45; margin:0; }

@media(max-width:900px) { .blg-grid { grid-template-columns:1fr; } .blg-related-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px) { .blg-body { padding:20px; } .blg-article-body .blg-lead { font-size:17px; } .blg-article-body h2 { font-size:22px; } .blg-related-grid { grid-template-columns:1fr; } .blg-article-meta { gap:10px; } }

/* ══════════════════════════════════════════
   CF7 — Contact Form 7 Styles
══════════════════════════════════════════ */
.wpcf7-form { margin:0; flex:1; display:flex; flex-direction:column; min-height:0; }
.wpcf7-form .cf-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; flex:1; min-height:0; align-content:start; }
.wpcf7-form .cf-group { display:flex; flex-direction:column; gap:4px; }
.wpcf7-form .cf-group.s2 { grid-column:1/-1; }
.wpcf7-form .cf-group.s2:has(textarea) { flex:1; display:flex; flex-direction:column; min-height:0; }
.wpcf7-form .cf-group.s2:has(textarea) textarea { flex:1; resize:none; min-height:80px; }
.wpcf7-form .cf-group label { font-size:10px !important; font-weight:700 !important; letter-spacing:.12em !important; text-transform:uppercase !important; color:var(--text2) !important; font-family:var(--fb) !important; }
.wpcf7-form .cf-group input,
.wpcf7-form .cf-group select,
.wpcf7-form .cf-group textarea { background:var(--bg); border:1.5px solid var(--border); border-radius:2px; padding:14px 18px; color:var(--text); font-size:14px; outline:none; transition:var(--tr); width:100%; font-family:var(--fb); }
.wpcf7-form .cf-group input:focus,
.wpcf7-form .cf-group select:focus,
.wpcf7-form .cf-group textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(75,97,236,.15); }
.wpcf7-form .cf-group textarea { resize:none; min-height:80px; }
.wpcf7-form .cf-group select option { background:var(--white); color:var(--text); }
.wpcf7-form .cf-foot { margin-top:4px; }
.wpcf7-form .cf-note { font-family:var(--fb); font-size:12px; color:var(--muted); text-align:center; margin-top:12px; }
.wpcf7-not-valid-tip { font-family:var(--fb); font-size:12px; color:#dc2626; margin-top:4px; }
.wpcf7-response-output { margin-top:16px; padding:12px 16px; border-radius:4px; font-family:var(--fb); font-size:14px; border:none !important; }
.wpcf7-mail-sent-ok { background:#d1fae5; color:#065f46; }
.wpcf7-mail-sent-ng,.wpcf7-aborted { background:#fee2e2; color:#991b1b; }
.wpcf7-spam-blocked { background:var(--blue-lt); color:var(--blue-dk); }
.wpcf7-acceptance-missing { background:var(--blue-lt); color:var(--blue-dk); }
.wpcf7-form .wpcf7-not-valid { border-color:#dc2626 !important; }
.wpcf7-spinner { display:none; }
@media(max-width:600px) { .wpcf7-form .cf-grid { grid-template-columns:1fr; } .wpcf7-form .cf-group.s2 { grid-column:1; } }

/* ══════════════════════════════════════════
   SUBMIT BUTTON — Premium Gold (all variants)
══════════════════════════════════════════ */
@keyframes goldShimmer {
  0% { background-position:0% 50%; }
  50% { background-position:100% 50%; }
  100% { background-position:0% 50%; }
}
@keyframes goldPulse {
  0%,100% { box-shadow:0 8px 28px rgba(75,97,236,.45),0 2px 8px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.2); }
  50%      { box-shadow:0 8px 36px rgba(26,29,46,.5),0 2px 8px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.2); }
}
@keyframes goldSweep {
  0%   { transform:translateX(-100%) skewX(-15deg); }
  100% { transform:translateX(250%) skewX(-15deg); }
}
@keyframes advixSpin { to { transform:rotate(360deg); } }

.wpcf7 p:has(> input[type="submit"]),
.wpcf7-form p:last-of-type,
.wpcf7-form > p:last-child { margin:24px 0 0 0 !important; padding:0 !important; line-height:1 !important; }

input.wpcf7-submit,
.wpcf7-submit,
.wpcf7 input[type="submit"],
.wpcf7-form input[type="submit"],
.wpcf7-form .wpcf7-submit,
input.advix-submit-btn,
.advix-submit-btn,
.submit-btn {
  display:block !important; width:100% !important;
  padding:17px 36px !important; border:none !important; border-radius:2px !important;
  background: linear-gradient(135deg, #4b61ec 0%, #2847c8 60%, #4b61ec 100%) !important;
  background-size:200% 200% !important;
  color:var(--text) !important;
  font-family:var(--fb) !important; font-size:13px !important; font-weight:800 !important;
  letter-spacing:.16em !important; text-transform:uppercase !important;
  cursor:pointer !important;
  transition:transform 0.22s ease, box-shadow 0.22s ease !important;
  box-shadow:0 8px 28px rgba(75,97,236,.45),0 2px 8px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.2) !important;
  position:relative !important; overflow:hidden !important;
  text-align:center !important; outline:none !important;
  -webkit-appearance:none !important; appearance:none !important;
  animation:goldPulse 3s ease-in-out infinite !important;
}
input.wpcf7-submit::after, .wpcf7-form input[type="submit"]::after, .advix-submit-btn::after {
  content:'' !important; position:absolute !important; top:0 !important; bottom:0 !important; left:0 !important;
  width:40% !important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent) !important;
  transform:translateX(-100%) skewX(-15deg) !important; pointer-events:none !important;
}
input.wpcf7-submit:hover::after, .wpcf7-form input[type="submit"]:hover::after, .advix-submit-btn:hover::after {
  animation:goldSweep 0.7s ease forwards !important;
}
input.wpcf7-submit:hover, .wpcf7 input[type="submit"]:hover,
.wpcf7-form input[type="submit"]:hover, .wpcf7-form .wpcf7-submit:hover,
.advix-submit-btn:hover {
  background:linear-gradient(135deg,#6057f0 0%,#a07800 60%,#4b61ec 100%) !important;
  background-size:200% 200% !important;
  transform:translateY(-3px) scale(1.01) !important;
  box-shadow:0 16px 44px rgba(75,97,236,.6),0 4px 12px rgba(0,0,0,.15) !important;
  animation:none !important;
}
input.wpcf7-submit:active, .wpcf7-form input[type="submit"]:active, .advix-submit-btn:active {
  transform:translateY(-1px) scale(1.004) !important;
  box-shadow:0 6px 22px rgba(75,97,236,.45) !important;
  animation:none !important;
}
.wpcf7-spinner { display:none; width:20px !important; height:20px !important; margin-left:8px !important; vertical-align:middle !important; border:3px solid rgba(255,255,255,.3) !important; border-top-color:#fff !important; border-radius:50% !important; animation:advixSpin .7s linear infinite !important; }
.wpcf7-form.submitting .wpcf7-spinner { display:inline-block !important; }

/* <button> CF7 variants */
.wpcf7-form .cf-foot button[type="submit"],
.wpcf7-form button.wpcf7-submit,
.wpcf7 button[type="submit"],
button.wpcf7-submit {
  display:block !important; width:100% !important;
  padding:17px 36px !important; border:none !important; border-radius:2px !important;
  background:linear-gradient(135deg,#4b61ec 0%,#2847c8 60%,#4b61ec 100%) !important;
  background-size:200% 200% !important;
  color:var(--text) !important; font-family:var(--fb) !important;
  font-size:13px !important; font-weight:800 !important;
  letter-spacing:.16em !important; text-transform:uppercase !important;
  cursor:pointer !important; transition:transform .22s ease,box-shadow .22s ease !important;
  box-shadow:0 8px 28px rgba(75,97,236,.45),0 2px 8px rgba(0,0,0,.1) !important;
  position:relative !important; overflow:hidden !important;
  text-align:center !important; outline:none !important;
  -webkit-appearance:none !important; appearance:none !important;
  animation:goldPulse 3s ease-in-out infinite !important;
  margin:0 !important; line-height:1.4 !important; box-sizing:border-box !important;
}
.wpcf7-form .cf-foot button[type="submit"]:hover,
.wpcf7-form button.wpcf7-submit:hover,
.wpcf7 button[type="submit"]:hover,
button.wpcf7-submit:hover {
  background:linear-gradient(135deg,#6057f0 0%,#a07800 60%,#4b61ec 100%) !important;
  transform:translateY(-3px) scale(1.01) !important;
  box-shadow:0 16px 44px rgba(75,97,236,.6) !important;
  animation:none !important;
}
.wpcf7-form .cf-foot button[type="submit"]:after,
.wpcf7-form button.wpcf7-submit:after,
.wpcf7 button[type="submit"]:after,
button.wpcf7-submit:after {
  content:'' !important; position:absolute !important; top:0 !important; bottom:0 !important; left:0 !important;
  width:40% !important; background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent) !important;
  transform:translateX(-100%) skewX(-15deg) !important; pointer-events:none !important;
}
.wpcf7-form .cf-foot button[type="submit"]:hover::after,
.wpcf7-form button.wpcf7-submit:hover::after,
.wpcf7 button[type="submit"]:hover::after,
button.wpcf7-submit:hover::after { animation:goldSweep .7s ease forwards !important; }

/* ── CF7 validation highlight ── */
.cf-group.cf-invalid input,
.cf-group.cf-invalid select,
.cf-group.cf-invalid textarea {
  border-color:#ef4444 !important; background:#fff5f5 !important;
  box-shadow:0 0 0 3px rgba(239,68,68,.12) !important; animation:cf-shake .35s ease;
}
.cf-group.cf-invalid label { color:#ef4444 !important; }
.cf-err-msg { display:block; font-family:var(--fb); font-size:11px; color:#ef4444; font-weight:700; margin-top:5px; letter-spacing:.06em; text-transform:uppercase; min-height:1em; }
@keyframes cf-shake { 0%,100%{transform:translateX(0)} 20%{transform:translateX(-5px)} 40%{transform:translateX(5px)} 60%{transform:translateX(-4px)} 80%{transform:translateX(4px)} }

/* ── Native contact form ── */
.advix-form-col {
  background:var(--bg2); border:1px solid var(--border); border-radius:var(--radlg);
  padding:28px 30px 24px; box-shadow:var(--shadow); display:flex; flex-direction:column;
  position:relative;
}
.advix-form-col::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--gg); border-radius:var(--radlg) var(--radlg) 0 0; }
.advix-form-col .cf-h { margin-bottom:4px; }
.advix-form-col .cf-sub { margin-bottom:16px; }
.advix-cf { display:flex; flex-direction:column; flex:1; }
.acf-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; }
.acf-group { display:flex; flex-direction:column; gap:5px; }
.acf-textarea-group { flex:1; display:flex; flex-direction:column; margin-bottom:0; gap:5px; }
.acf-textarea-group textarea { flex:1; min-height:80px; resize:none; }
.acf-group label,
.acf-textarea-group label { font-family:var(--fb); font-size:10px; font-weight:700; color:var(--text2); letter-spacing:.12em; text-transform:uppercase; }
.acf-req { color:var(--blue); }
.acf-group input,
.acf-group select,
.acf-group textarea,
.acf-textarea-group textarea {
  background:var(--bg); border:1.5px solid var(--border); border-radius:2px;
  padding:11px 14px; color:var(--text); font-family:var(--fb); font-size:14px;
  outline:none; width:100%; box-sizing:border-box; transition:border-color .2s,box-shadow .2s;
}
.acf-group input:focus,
.acf-group select:focus,
.acf-group textarea:focus,
.acf-textarea-group textarea:focus {
  border-color:var(--blue); background:var(--bg2); box-shadow:0 0 0 3px rgba(75,97,236,.15);
}
.acf-group select {
  cursor:pointer; -webkit-appearance:none; appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235f5e5e' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 12px center; background-color:var(--bg); padding-right:36px;
}
.acf-foot { margin-top:14px; }
.acf-note { font-family:var(--fb); font-size:12px; color:var(--muted); text-align:center; margin-top:10px; }
@media(max-width:600px) { .acf-row { grid-template-columns:1fr; } .advix-form-col { padding:20px 18px 18px; } }

/* ── Hero stat accent ── */
.h-stat { transition:transform .2s ease; }
.h-stat:hover { transform:translateY(-2px); }
.h-stat .h-stat-ico,
.h-stat [class*="stat-ico"],
.h-stat [class*="stat-emoji"] { display:none !important; }
.h-stat .num::after {
  content:'';
  display:block; width:24px; height:2px;
  margin:6px auto 0; border-radius:2px;
  background:var(--gg); opacity:.7;
  transition:width .3s ease,opacity .3s ease;
}
.h-stat:hover .num::after { width:40px; opacity:1; }

/* ══════════════════════════════════════════
   HERO — FULL WIDTH IMAGE VARIANT
   (for pages using bg-image hero instead of split)
══════════════════════════════════════════ */
.hero-bg-wrap {
  position: relative;
  min-height: 90vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
}
.hero-bg-wrap::before {
  content: '';
  position: absolute; inset: 0;
  background: rgba(26,29,46,.55);
  z-index: 1;
}
.hero-bg-wrap .wrap { position:relative; z-index:2; }
.hero-subtitle-label {
  font-family: var(--fb);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--blue);
  margin-bottom: 18px;
}
.hero-bg-wrap h1 {
  color: var(--white);
  font-family: var(--fh);
  font-size: clamp(36px,6vw,72px);
  font-weight: 700;
  line-height: 1.05;
}
.hero-bg-wrap h1 em { font-style:italic; color:var(--blue); }
.hero-bg-wrap .hero-desc {
  font-family: var(--fb);
  font-size: 17px; font-weight:300;
  color: rgba(255,255,255,.82);
  max-width: 580px;
  margin: 18px auto 32px;
  line-height: 1.85;
  letter-spacing: .02em;
}
.hero-bg-wrap .btn-hero-gold {
  background: var(--blue);
  color: var(--text);
  border-radius: 2px;
  font-family:var(--fb); font-size:12px; font-weight:800;
  letter-spacing:.14em; text-transform:uppercase;
  padding:14px 32px;
}
.hero-bg-wrap .btn-hero-ghost {
  background: transparent;
  border: 1.5px solid rgba(255,255,255,.5);
  color: var(--white);
  border-radius: 2px;
  font-family:var(--fb); font-size:12px; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase;
  padding:14px 32px;
}
.hero-bg-wrap .btn-hero-ghost:hover { border-color:var(--blue); color:var(--blue); }

/* ── Performance: content-visibility for below-fold sections ── */
#services, #process, #testimonials, #portfolio, #about-strip, #contact {
  content-visibility: auto;
  contain-intrinsic-size: 0 600px;
}
/* Faster image rendering */
.ws-img img, .blg-thumb img, .about-img img, .tm-photo {
  will-change: auto;
}
/* Page hero bg image: show placeholder colour instantly */
.page-hero-bg-img {
  background-color: #1a1d2e;
}

/* ══════════════════════════════════════════
   SERVICE PAGE — PRICING PLANS
══════════════════════════════════════════ */
.svc-pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-top: 48px;
  align-items: start;
}
.svc-plan {
  background: var(--bg);
  border: 1.5px solid var(--border);
  border-radius: var(--radlg);
  padding: 32px 28px 28px;
  position: relative;
  transition: var(--tr);
  box-shadow: var(--shadow);
}
.svc-plan:hover {
  border-color: var(--blue-lt2);
  transform: translateY(-5px);
  box-shadow: var(--shadow-md);
}
.svc-plan--popular {
  border-color: var(--blue);
  background: #fff;
  box-shadow: 0 8px 40px rgba(75,97,236,.18);
  transform: scale(1.03);
}
.svc-plan--popular:hover { transform: scale(1.03) translateY(-5px); }
.svc-plan-badge {
  position: absolute;
  top: -14px; left: 50%;
  transform: translateX(-50%);
  background: var(--gg);
  color: #fff;
  font-family: var(--fb);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 5px 16px;
  border-radius: 999px;
  white-space: nowrap;
}
.svc-plan-name {
  font-family: var(--fh);
  font-size: 15px;
  font-weight: 700;
  color: var(--blue-dk);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 12px;
}
.svc-plan-price {
  font-family: var(--fh);
  font-size: 44px;
  font-weight: 700;
  color: var(--text);
  line-height: 1;
  margin-bottom: 6px;
}
.svc-plan-per {
  font-family: var(--fb);
  font-size: 13px;
  font-weight: 500;
  color: var(--muted);
}
.svc-plan-desc {
  font-family: var(--fb);
  font-size: 13px;
  color: var(--text2);
  line-height: 1.7;
  margin: 10px 0 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--border);
}
.svc-plan-features {
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.svc-plan-features li {
  font-family: var(--fb);
  font-size: 13px;
  color: var(--text2);
  display: flex;
  align-items: flex-start;
  gap: 9px;
  line-height: 1.5;
}
.svc-check {
  color: var(--blue-dk);
  font-weight: 800;
  font-size: 13px;
  flex-shrink: 0;
  margin-top: 1px;
}
.svc-plan-cta {
  width: 100%;
  justify-content: center;
  display: flex;
  white-space: normal;
  text-align: center;
  font-size: 11px;
  padding: 13px 16px;
}
.svc-pricing-note {
  text-align: center;
  margin-top: 28px;
  font-family: var(--fb);
  font-size: 13px;
  color: var(--muted);
}
.svc-pricing-note a { color: var(--blue-dk); }

/* ══════════════════════════════════════════
   SERVICE PAGE — WHY US GRID (inline)
══════════════════════════════════════════ */
.why-item {
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radlg);
  padding: 28px 24px;
  transition: var(--tr);
  box-shadow: var(--shadow);
  position: relative;
  overflow: hidden;
}
.why-item::before {
  content: '';
  position: absolute; top: 0; left: 0;
  width: 100%; height: 3px;
  background: linear-gradient(90deg, var(--gold), var(--gold2));
  transform: scaleX(0);
  transition: transform .35s var(--ease);
}
.why-item:hover { border-color: rgba(212,175,55,.3); transform: translateY(-4px); box-shadow: var(--shadow-md); }
.why-item:hover::before { transform: scaleX(1); }
.why-ico { font-size: 34px; margin-bottom: 14px; }
.why-t {
  font-family: var(--fh);
  font-size: 17px;
  font-weight: 700;
  color: var(--blue-dk);
  margin-bottom: 8px;
}
.why-d {
  font-family: var(--fb);
  font-size: 13px;
  color: var(--muted);
  line-height: 1.8;
}

/* Responsive */
@media (max-width: 1024px) {
  .svc-pricing-grid { grid-template-columns: repeat(2, 1fr); }
  .svc-plan--popular { transform: scale(1); }
}
@media (max-width: 640px) {
  .svc-pricing-grid { grid-template-columns: 1fr; }
}

/* 4-column pricing grid (lead gen etc.) */
.svc-pricing-4col { grid-template-columns: repeat(4, 1fr); gap: 20px; }
.svc-pricing-4col .svc-plan { padding: 26px 20px 22px; }
.svc-pricing-4col .svc-plan-price { font-size: 34px; }
.svc-plan--custom {
  background: var(--blue-dk);
  border-color: var(--blue-dk);
  color: #fff;
}
.svc-plan--custom .svc-plan-name { color: var(--gold); }
.svc-plan--custom .svc-plan-price { color: #fff; }
.svc-plan--custom .svc-plan-desc { color: rgba(255,255,255,.75); border-color: rgba(255,255,255,.15); }
.svc-plan--custom .svc-plan-features li { color: rgba(255,255,255,.85); }
.svc-plan--custom .svc-check { color: var(--gold2); }
.btn-navy { background: var(--blue-dk); color: #fff; border: 1.5px solid var(--blue-dk); }
.btn-navy:hover { background: #0f1535; border-color: #0f1535; transform: translateY(-2px); box-shadow: 0 8px 24px rgba(26,29,46,.3); }

@media (max-width: 1100px) { .svc-pricing-4col { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .svc-pricing-4col { grid-template-columns: 1fr; } }

/* ── Pricing card spend breakdown ── */
.pc-spend-breakdown {
  margin: 18px 0 20px;
  background: var(--blue-lt);
  border: 1px solid var(--blue-lt2);
  border-radius: 12px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.pc-spend-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--fb);
  font-size: 13px;
  color: var(--text2);
}
.pc-spend-row strong { color: var(--text); font-weight: 700; }
.pc-spend-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--fb);
  font-size: 14px;
  font-weight: 700;
  color: var(--blue-dk);
  padding-top: 9px;
  margin-top: 4px;
  border-top: 1px solid var(--border2);
}
.pc-spend-total strong {
  font-size: 16px;
  color: var(--blue-dk);
  background: var(--gg);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
/* Popular card — gold-accented breakdown */
.pc.pop .pc-spend-breakdown {
  background: rgba(212,175,55,.08);
  border-color: rgba(212,175,55,.35);
}
.pc.pop .pc-spend-row { color: var(--text2); }
.pc.pop .pc-spend-row strong { color: var(--text); }
.pc.pop .pc-spend-total { color: var(--blue-dk); border-color: rgba(212,175,55,.3); }
.pc.pop .pc-spend-total strong { background: none; -webkit-text-fill-color: unset; color: var(--gold-dk); font-size: 18px; }

/* ── Retainer box ── */
.retainer-box {
  margin-top: 52px;
  padding: 36px 40px;
  border: 1.5px solid var(--border);
  border-radius: 20px;
  background: var(--bg2);
  overflow: hidden;
}
.retainer-title {
  font-size: clamp(20px, 3vw, 30px);
  margin: 12px 0 14px;
  line-height: 1.3;
  word-break: break-word;
}
.retainer-desc {
  color: var(--muted);
  font-size: 16px;
  max-width: 640px;
  margin-bottom: 20px;
  line-height: 1.75;
}
.retainer-list {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.retainer-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--text2);
  word-break: break-word;
  overflow-wrap: break-word;
}
.retainer-check {
  color: var(--green);
  font-weight: 800;
  flex-shrink: 0;
  margin-top: 2px;
}
.retainer-list strong { color: var(--text); }

/* Mobile fixes for pricing page overflow */
@media (max-width: 640px) {
  .retainer-box { padding: 24px 18px; }
  .retainer-desc { font-size: 14px; }
  .retainer-list li { font-size: 14px; }
  .pc-spend-breakdown { padding: 12px 14px; }
  .pc-spend-row, .pc-spend-total { font-size: 13px; }
  .pricing-g { grid-template-columns: 1fr; }
  .pc.pop { transform: none; }
}

/* Global pricing card overflow safety */
.pricing-g { box-sizing: border-box; width: 100%; }
.pc { box-sizing: border-box; min-width: 0; overflow: hidden; word-wrap: break-word; }
.pc * { box-sizing: border-box; min-width: 0; max-width: 100%; }
