:root {
  --ss99-ink: #ffffff;
  --ss99-muted: #c7c1da;
  --ss99-soft-muted: #9e95bd;
  --ss99-bg: #0b0718;
  --ss99-deep: #120a2b;
  --ss99-purple: #6c47ff;
  --ss99-purple-dark: #2b1b4d;
  --ss99-lilac: #b79cff;
  --ss99-green: #34d399;
  --ss99-green-dark: #047857;
  --ss99-line: rgba(255,255,255,.12);
  --ss99-shadow: 0 28px 90px rgba(0,0,0,.36);
}

body.elementor-page { overflow-x: hidden; }
.elementor-widget[class*="elementor-widget-ss99_"] > .elementor-widget-container { margin: 0 !important; padding: 0 !important; }

.ss99-page-shell,
.ss99-section,
.ss99-hero {
  color: var(--ss99-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.ss99-container {
  width: min(1180px, calc(100% - 36px));
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.ss99-overline {
  color: var(--ss99-green);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
  margin: 0;
}

.ss99-section {
  position: relative;
  z-index: 1;
  padding: 86px 0;
  background: linear-gradient(180deg, #1a1235 0%, #120a2b 100%);
  overflow: hidden;
}

.ss99-section-dark { background: #0f0822; }
.ss99-section-gradient { background: linear-gradient(180deg, #120a2b 0%, #181033 100%); }

.ss99-reveal {
  opacity: 0;
  transform: translateY(34px) scale(.985);
  transition: opacity .85s cubic-bezier(.2,.8,.2,1), transform .85s cubic-bezier(.2,.8,.2,1);
}
.ss99-reveal.is-visible { opacity: 1; transform: translateY(0) scale(1); }

.ss99-reveal-stagger > * {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .72s cubic-bezier(.2,.8,.2,1), transform .72s cubic-bezier(.2,.8,.2,1);
}
.ss99-reveal.is-visible .ss99-reveal-stagger > * { opacity: 1; transform: translateY(0); }
.ss99-reveal.is-visible .ss99-reveal-stagger > *:nth-child(1) { transition-delay: .05s; }
.ss99-reveal.is-visible .ss99-reveal-stagger > *:nth-child(2) { transition-delay: .12s; }
.ss99-reveal.is-visible .ss99-reveal-stagger > *:nth-child(3) { transition-delay: .19s; }
.ss99-reveal.is-visible .ss99-reveal-stagger > *:nth-child(4) { transition-delay: .26s; }
.ss99-reveal.is-visible .ss99-reveal-stagger > *:nth-child(5) { transition-delay: .33s; }
.ss99-reveal.is-visible .ss99-reveal-stagger > *:nth-child(6) { transition-delay: .40s; }

/* Header */
.ss99-glass-nav {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 999;
  padding: 16px;
}
.ss99-nav-inner {
  width: min(1180px, 100%);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 13px 14px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 22px;
  background: rgba(11,7,24,.72);
  backdrop-filter: blur(24px);
  box-shadow: 0 14px 50px rgba(0,0,0,.28);
}
.ss99-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #fff;
  text-decoration: none !important;
  min-width: max-content;
}
.ss99-brand-mark,
.ss99-cover-mark {
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--ss99-purple), var(--ss99-purple-dark));
  box-shadow: 0 18px 45px rgba(108,71,255,.35);
  position: relative;
  overflow: hidden;
}
.ss99-brand-mark { width: 42px; height: 42px; }
.ss99-cover-mark { width: 76px; height: 76px; border-radius: 24px; }
.ss99-brand-mark::before,
.ss99-cover-mark::before {
  content: "";
  width: 18px;
  height: 22px;
  border: 2px solid #fff;
  border-radius: 6px 6px 10px 10px;
  clip-path: polygon(50% 0,100% 20%,100% 72%,50% 100%,0 72%,0 20%);
}
.ss99-cover-mark::before { width: 32px; height: 38px; border-width: 3px; }
.ss99-brand-mark::after,
.ss99-cover-mark::after {
  content: "";
  position: absolute;
  right: 7px;
  bottom: 8px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--ss99-green);
  box-shadow: -11px -5px 0 rgba(52,211,153,.65);
}
.ss99-cover-mark::after { right: 13px; bottom: 14px; width: 12px; height: 12px; box-shadow: -18px -8px 0 rgba(52,211,153,.65); }
.ss99-brand strong { display: block; font-size: 18px; line-height: 1; letter-spacing: -.04em; }
.ss99-brand strong span { color: var(--ss99-green); }
.ss99-brand small { display: block; margin-top: 4px; font-size: 10px; letter-spacing: .19em; text-transform: uppercase; color: var(--ss99-lilac); font-weight: 800; }
.ss99-nav-links { display: flex; align-items: center; gap: 22px; }
.ss99-nav-links a { color: rgba(255,255,255,.78); text-decoration: none !important; font-size: 13px; font-weight: 750; transition: color .2s ease; }
.ss99-nav-links a:hover { color: #fff; }
.ss99-nav-actions { display: flex; align-items: center; gap: 10px; }
.ss99-nav-cta { color: #fff; text-decoration: none !important; font-size: 12px; font-weight: 850; padding: 11px 16px; border-radius: 12px; transition: transform .2s ease; border: 1px solid rgba(255,255,255,.18); }
.ss99-nav-cta.primary { background: linear-gradient(135deg, var(--ss99-purple), #7c3aed); border-color: transparent; box-shadow: 0 14px 32px rgba(108,71,255,.32); }
.ss99-nav-cta:hover { transform: translateY(-1px); color: #fff; }

/* Hero */
.ss99-hero {
  position: relative;
  min-height: 760px;
  padding: 146px 0 88px;
  overflow: hidden;
  background: radial-gradient(circle at 70% 20%, rgba(108,71,255,.22), transparent 34%), linear-gradient(180deg,#100925 0%, #130b2b 70%, #1a1235 100%);
}
.ss99-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(90deg, rgba(11,7,24,.96) 0%, rgba(11,7,24,.86) 34%, rgba(11,7,24,.35) 78%, rgba(11,7,24,.72) 100%);
}
.ss99-website-tiles { position: absolute; inset: 82px -120px auto auto; width: min(790px,60vw); height: 540px; z-index: 1; transform: rotate(-8deg); pointer-events: none; animation: ss99FloatTiles 9s ease-in-out infinite; }
@keyframes ss99FloatTiles { 0%,100% { transform: rotate(-8deg) translate3d(0,0,0); } 50% { transform: rotate(-8deg) translate3d(0,-16px,0); } }
.ss99-tile { position: absolute; width: 282px; height: 160px; border-radius: 16px; overflow: hidden; border: 1px solid rgba(255,255,255,.13); background: linear-gradient(160deg, rgba(255,255,255,.14), rgba(255,255,255,.04)); box-shadow: 0 26px 70px rgba(0,0,0,.28); }
.ss99-tile::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,4,18,.15), rgba(8,4,18,.78)); z-index: 2; }
.ss99-tile .topbar { height: 28px; background: rgba(255,255,255,.88); }
.ss99-tile .hero-img { height: 84px; background: linear-gradient(135deg, rgba(108,71,255,.52), rgba(52,211,153,.18)), radial-gradient(circle at 70% 35%, rgba(255,255,255,.4), transparent 17%), radial-gradient(circle at 35% 45%, rgba(255,255,255,.24), transparent 20%); }
.ss99-tile .lines { padding: 12px; display: grid; gap: 8px; }
.ss99-tile .lines span { display: block; height: 7px; border-radius: 10px; background: rgba(255,255,255,.8); }
.ss99-tile .lines span:nth-child(2) { width: 62%; background: rgba(183,156,255,.72); }
.ss99-tile.t1 { left: 80px; top: 20px; }
.ss99-tile.t2 { left: 390px; top: 0; transform: scale(1.08); }
.ss99-tile.t3 { left: 30px; top: 210px; transform: scale(.9); }
.ss99-tile.t4 { left: 330px; top: 205px; }
.ss99-tile.t5 { left: 610px; top: 150px; transform: scale(.78); opacity: .78; }
.ss99-hero-content { position: relative; z-index: 2; max-width: 700px; animation: ss99HeroIn .9s cubic-bezier(.2,.8,.2,1) both; }
@keyframes ss99HeroIn { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
.ss99-hero h1 { margin: 18px 0 0; max-width: 760px; font-size: clamp(50px,6.7vw,84px); line-height: .94; letter-spacing: -.07em; font-weight: 950; color: #fff; }
.ss99-underline { position: relative; display: inline-block; }
.ss99-underline::after { content: ""; position: absolute; left: 4px; right: 2px; bottom: -4px; height: 5px; border-radius: 99px; background: linear-gradient(90deg,var(--ss99-green),rgba(52,211,153,.1)); }
.ss99-copy { max-width: 650px; margin-top: 28px; color: var(--ss99-muted); font-size: 18px; line-height: 1.65; }
.ss99-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.ss99-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 14px 22px; border-radius: 12px; font-size: 14px; font-weight: 850; text-decoration: none !important; transition: transform .2s ease, box-shadow .2s ease; }
.ss99-button:hover { transform: translateY(-2px); color: #fff; }
.ss99-button.primary { background: linear-gradient(135deg,var(--ss99-purple),#7c3aed); color: #fff; box-shadow: 0 18px 50px rgba(108,71,255,.28); }
.ss99-button.secondary { background: rgba(255,255,255,.04); color: #fff; border: 1px solid rgba(255,255,255,.2); }
.ss99-trust-row { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; margin-top: 52px; border-top: 1px solid rgba(255,255,255,.12); max-width: 820px; }
.ss99-trust-item { display: flex; align-items: center; gap: 13px; padding: 22px 24px 0 0; border-right: 1px solid rgba(255,255,255,.1); }
.ss99-trust-item:last-child { border-right: 0; }
.ss99-trust-icon { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: rgba(108,71,255,.18); color: var(--ss99-green); border: 1px solid rgba(108,71,255,.35); font-size: 18px; }
.ss99-trust-item p { margin: 0; font-size: 13px; line-height: 1.35; color: rgba(255,255,255,.84); font-weight: 750; }

/* General headings */
.ss99-left-copy h2,
.ss99-section-heading h2,
.ss99-offer-grid h2 { margin: 14px 0 0; font-size: clamp(36px,4.8vw,58px); line-height: 1; letter-spacing: -.055em; font-weight: 950; color: #fff; }
.ss99-left-copy p,
.ss99-section-heading p,
.ss99-offer-grid p { margin: 20px 0 0; color: var(--ss99-muted); font-size: 16px; line-height: 1.7; }

/* Cover */
.ss99-cover-card { min-height: 620px; border-radius: 34px; padding: clamp(34px,6vw,68px); position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.13); box-shadow: var(--ss99-shadow); background: linear-gradient(90deg, rgba(11,7,24,.97) 0%, rgba(18,10,43,.88) 48%, rgba(18,10,43,.36) 100%), radial-gradient(circle at 85% 12%, rgba(108,71,255,.36), transparent 28%), linear-gradient(135deg,#160e2f,#0b0718); }
.ss99-cover-card::before { content: ""; position: absolute; right: -80px; top: 80px; width: 58%; height: 430px; border-radius: 36px; transform: rotate(-8deg); background: repeating-linear-gradient(90deg, transparent 0 42px, rgba(255,255,255,.06) 42px 43px), linear-gradient(120deg, rgba(108,71,255,.22), rgba(52,211,153,.08)); border: 1px solid rgba(255,255,255,.12); box-shadow: -60px 80px 110px rgba(0,0,0,.3); }
.ss99-cover-content { position: relative; z-index: 1; max-width: 710px; min-height: 490px; display: flex; flex-direction: column; justify-content: space-between; }
.ss99-cover-brand { display: flex; align-items: center; gap: 18px; }
.ss99-cover-brand h3 { margin: 0; font-size: 32px; letter-spacing: -.05em; color: #fff; }
.ss99-cover-brand h3 span { color: var(--ss99-green); }
.ss99-cover-brand p { margin: 5px 0 0; color: var(--ss99-lilac); font-size: 11px; text-transform: uppercase; letter-spacing: .2em; font-weight: 900; }
.ss99-cover-title h2 { margin: 0; font-size: clamp(46px,6.6vw,82px); letter-spacing: -.075em; line-height: .92; color: #fff; }
.ss99-cover-title p { max-width: 600px; margin-top: 24px; font-size: 20px; line-height: 1.55; color: var(--ss99-muted); }
.ss99-cover-meta { display: flex; flex-wrap: wrap; gap: 12px; }
.ss99-cover-pill { padding: 11px 14px; border-radius: 999px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.82); font-size: 13px; font-weight: 800; }

/* Pricing */
.ss99-offer-panel { border-radius: 30px; background: linear-gradient(135deg, rgba(108,71,255,.18), rgba(255,255,255,.04)); border: 1px solid rgba(255,255,255,.13); padding: clamp(28px,5vw,52px); box-shadow: var(--ss99-shadow); }
.ss99-offer-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 38px; align-items: center; }
.ss99-price-cards { display: grid; gap: 16px; }
.ss99-offer-card { background: rgba(255,255,255,.95); color: #1a1030; border-radius: 24px; padding: clamp(24px,4vw,34px); box-shadow: 0 24px 70px rgba(0,0,0,.28); }
.ss99-offer-card.dark { background: #21143f; color: #fff; border: 1px solid rgba(183,156,255,.32); }
.ss99-offer-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.ss99-offer-card small { color: #6b6681; font-weight: 900; font-size: 14px; }
.ss99-offer-card.dark small { color: var(--ss99-green); }
.ss99-price-row { display: flex; align-items: flex-end; gap: 10px; margin-top: 8px; }
.ss99-price-row strong { font-size: 68px; line-height: .9; letter-spacing: -.08em; }
.ss99-price-row span { padding-bottom: 10px; color: #6b6681; font-size: 14px; font-weight: 850; }
.ss99-offer-card.dark .ss99-price-row span { color: var(--ss99-muted); }
.ss99-limited-pill { flex: 0 0 auto; display: inline-flex; padding: 8px 12px; border-radius: 999px; background: rgba(52,211,153,.13); color: var(--ss99-green-dark); font-size: 12px; font-weight: 900; }
.ss99-offer-card.dark .ss99-limited-pill { color: var(--ss99-green); }
.ss99-included-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 9px; margin-top: 28px; }
.ss99-checked-item { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 10px 12px; border-radius: 12px; background: rgba(26,16,48,.06); color: #2b1b4d; font-size: 13px; font-weight: 800; }
.ss99-offer-card.dark .ss99-checked-item { background: rgba(255,255,255,.06); color: #fff; }
.ss99-check-icon { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 8px; background: linear-gradient(135deg,var(--ss99-green),#22c55e); color: #062015; flex: 0 0 auto; font-weight: 950; box-shadow: 0 8px 18px rgba(52,211,153,.22); }
.ss99-small-print { margin: 20px 0 0; color: #6b6681; font-size: 12px; line-height: 1.6; }
.ss99-offer-card.dark .ss99-small-print { color: var(--ss99-muted); }

/* Compliance screenshot */
.ss99-compliance-showcase { display: grid; grid-template-columns: .78fr 1.22fr; gap: 34px; align-items: center; }
.ss99-feature-list { display: grid; gap: 13px; margin-top: 28px; }
.ss99-feature-list .ss99-checked-item { background: transparent; color: #fff; padding: 0; min-height: auto; font-size: 14px; font-weight: 750; }
.ss99-dashboard-card { width: min(100%,820px); justify-self: end; border-radius: 30px; padding: 22px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); box-shadow: var(--ss99-shadow); backdrop-filter: blur(10px); }
.ss99-dashboard-top { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.ss99-dashboard-kicker { color: var(--ss99-green); font-size: 11px; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; margin-bottom: 6px; }
.ss99-dashboard-top h3 { margin: 0; font-size: 24px; letter-spacing: -.04em; color: #fff; }
.ss99-status-pill { padding: 7px 10px; border-radius: 999px; background: rgba(52,211,153,.14); color: var(--ss99-green); font-size: 11px; font-weight: 900; }
.ss99-screen-frame { aspect-ratio: 16/9; width: 100%; border-radius: 22px; overflow: hidden; background: #fff; border: 1px solid rgba(255,255,255,.18); box-shadow: 0 22px 70px rgba(0,0,0,.24); display: grid; place-items: center; }
.ss99-screen-frame img { width: 100%; height: 100%; display: block; object-fit: contain; object-position: center; background: #fff; }
.ss99-dashboard-points { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.ss99-dashboard-point { padding: 10px 12px; border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.88); font-size: 12px; font-weight: 800; }

/* Cards */
.ss99-autonomy-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 34px; align-items: stretch; }
.ss99-autonomy-cards { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.ss99-mini-card { padding: 26px; border-radius: 22px; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.12); transition: transform .2s ease, background .2s ease; }
.ss99-mini-card:hover { transform: translateY(-5px); background: rgba(255,255,255,.07); }
.ss99-mini-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 16px; background: rgba(108,71,255,.28); color: var(--ss99-lilac); font-size: 22px; }
.ss99-mini-card h3 { margin: 20px 0 0; font-size: 21px; letter-spacing: -.035em; color: #fff; }
.ss99-mini-card p { margin: 10px 0 0; color: var(--ss99-muted); font-size: 14px; line-height: 1.65; }

/* Portfolio */
.ss99-portfolio-wrap { display: grid; grid-template-columns: 250px 1fr; gap: 28px; align-items: stretch; }
.ss99-text-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 24px; color: var(--ss99-lilac); text-decoration: none !important; font-weight: 800; font-size: 14px; }
.ss99-portfolio-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.ss99-project-card { min-height: 330px; border-radius: 18px; overflow: hidden; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.12); box-shadow: 0 22px 60px rgba(0,0,0,.22); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.ss99-project-card:hover { transform: translateY(-6px); border-color: rgba(183,156,255,.55); box-shadow: 0 32px 80px rgba(0,0,0,.3); }
.ss99-project-thumb { height: 170px; padding: 15px; background: linear-gradient(145deg, rgba(183,156,255,.18), rgba(52,211,153,.08)), #0e0a1d; position: relative; overflow: hidden; }
.ss99-project-browser { position: relative; height: 100%; border-radius: 12px; overflow: hidden; border: 1px solid rgba(255,255,255,.18); background: #f8fafc; color: #1a1030; transform: rotate(-1deg); }
.ss99-project-browser .bar { height: 24px; background: #fff; border-bottom: 1px solid rgba(15,23,42,.08); }
.ss99-project-browser .visual { height: 78px; background: linear-gradient(135deg, rgba(26,16,48,.76), rgba(108,71,255,.36)), radial-gradient(circle at 75% 25%, rgba(52,211,153,.55), transparent 18%); }
.ss99-project-browser .copy { padding: 10px; }
.ss99-project-browser .copy span { display: block; height: 7px; border-radius: 10px; background: rgba(26,16,48,.23); margin-bottom: 7px; }
.ss99-project-browser .copy span:first-child { width: 70%; background: rgba(26,16,48,.48); }
.ss99-project-browser .copy span:nth-child(2) { width: 48%; }
.ss99-project-body { padding: 18px; }
.ss99-project-body h3 { margin: 0; font-size: 20px; letter-spacing: -.035em; color: #fff; }
.ss99-project-body p { margin: 5px 0 0; color: var(--ss99-soft-muted); font-size: 13px; }
.ss99-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 18px; }
.ss99-tag { padding: 7px 9px; border-radius: 8px; border: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.76); font-size: 11px; font-weight: 750; }

/* Contact */
.ss99-contact-section { padding: 90px 0 100px; background: radial-gradient(circle at 12% 85%, rgba(108,71,255,.24), transparent 28%), #160e2f; }
.ss99-contact-panel { display: grid; grid-template-columns: .84fr 1.16fr; gap: 42px; align-items: stretch; padding: clamp(28px,5vw,58px); border-radius: 30px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.035); box-shadow: var(--ss99-shadow); overflow: hidden; position: relative; }
.ss99-contact-copy h2 { margin: 14px 0 0; font-size: clamp(36px,4.8vw,58px); line-height: 1; letter-spacing: -.055em; font-weight: 950; color: #fff; }
.ss99-contact-copy h2 span { color: var(--ss99-lilac); }
.ss99-contact-copy p { margin: 20px 0 0; color: var(--ss99-muted); font-size: 16px; line-height: 1.7; }
.ss99-trust-strip { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 38px; padding: 18px; border-radius: 18px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1); }
.ss99-school-badge { display: grid; place-items: center; width: 62px; height: 62px; border-radius: 50%; background: linear-gradient(135deg,var(--ss99-purple),var(--ss99-purple-dark)); font-size: 13px; text-align: center; font-weight: 900; flex: 0 0 auto; color: #fff; }
.ss99-form-card { position: relative; z-index: 1; padding: 30px; border-radius: 24px; background: rgba(11,7,24,.56); border: 1px solid rgba(255,255,255,.12); }
.ss99-form-heading { display: flex; gap: 16px; align-items: center; margin-bottom: 24px; }
.ss99-chat-icon { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: rgba(108,71,255,.28); color: #fff; font-size: 24px; }
.ss99-form-heading h3 { margin: 0; font-size: 26px; letter-spacing: -.04em; color: #fff; }
.ss99-form-heading p { margin: 5px 0 0; color: var(--ss99-muted); font-size: 14px; line-height: 1.4; }
.ss99-lead-form { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.ss99-lead-form input, .ss99-lead-form textarea { width: 100%; min-height: 54px; border: 1px solid rgba(183,156,255,.32); border-radius: 10px; background: rgba(255,255,255,.95); color: #1a1030; padding: 0 16px; font: inherit; font-weight: 650; outline: none; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.ss99-lead-form input:focus, .ss99-lead-form textarea:focus { border-color: var(--ss99-green); box-shadow: 0 0 0 4px rgba(52,211,153,.13); transform: translateY(-1px); }
.ss99-lead-form textarea { grid-column: 1/-1; min-height: 148px; padding-top: 16px; resize: vertical; }
.ss99-lead-form .full { grid-column: 1/-1; }
.ss99-privacy { grid-column: 1/-1; display: flex; align-items: flex-start; gap: 10px; color: var(--ss99-muted); font-size: 12px; line-height: 1.45; margin-top: 4px; }
.ss99-privacy-box { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 7px; background: linear-gradient(135deg,var(--ss99-green),#22c55e); color: #061b12; flex: 0 0 auto; font-weight: 950; }
.ss99-submit-button { grid-column: 1/-1; min-height: 58px; border: 0; border-radius: 10px; background: linear-gradient(135deg,var(--ss99-purple),#7c3aed); color: #fff; font: inherit; font-weight: 900; cursor: pointer; box-shadow: 0 18px 45px rgba(108,71,255,.24); transition: transform .2s ease, box-shadow .2s ease; }
.ss99-submit-button:hover { transform: translateY(-2px); box-shadow: 0 24px 55px rgba(108,71,255,.3); }
.ss99-secure-note { grid-column: 1/-1; color: var(--ss99-soft-muted); font-size: 12px; text-align: center; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
  .ss99-reveal, .ss99-reveal-stagger > * { opacity: 1; transform: none; }
}
@media (max-width: 1120px) {
  .ss99-nav-links { display: none; }
  .ss99-portfolio-wrap, .ss99-offer-grid, .ss99-compliance-showcase, .ss99-autonomy-grid, .ss99-contact-panel { grid-template-columns: 1fr; }
  .ss99-portfolio-grid, .ss99-autonomy-cards { grid-template-columns: repeat(2,1fr); }
  .ss99-website-tiles { opacity: .32; }
  .ss99-trust-row { grid-template-columns: repeat(2,1fr); }
  .ss99-trust-item:nth-child(2) { border-right: 0; }
  .ss99-cover-card::before { opacity: .28; }
  .ss99-dashboard-card { justify-self: start; width: 100%; }
}
@media (max-width: 760px) {
  .ss99-glass-nav { padding: 10px; }
  .ss99-nav-inner { border-radius: 18px; }
  .ss99-nav-actions .ss99-nav-cta:first-child { display: none; }
  .ss99-brand small { display: none; }
  .ss99-hero { padding-top: 118px; min-height: auto; }
  .ss99-website-tiles { display: none; }
  .ss99-hero h1 { font-size: 46px; }
  .ss99-copy { font-size: 16px; }
  .ss99-button, .ss99-nav-cta { width: 100%; }
  .ss99-trust-row, .ss99-portfolio-grid, .ss99-included-grid, .ss99-lead-form, .ss99-autonomy-cards { grid-template-columns: 1fr; }
  .ss99-trust-item { border-right: 0; }
  .ss99-lead-form .full, .ss99-lead-form textarea, .ss99-privacy, .ss99-submit-button, .ss99-secure-note { grid-column: auto; }
  .ss99-contact-panel { padding: 24px; }
  .ss99-form-card { padding: 20px; }
  .ss99-cover-content { min-height: 520px; }
}

/* v12 boxed hardening */
.elementor-section.elementor-section-boxed > .elementor-container,
.elementor-section.elementor-section-full_width > .elementor-container {
  max-width: none !important;
}
body .ss99-container {
  width: min(1180px, calc(100% - 36px)) !important;
  max-width: 1180px !important;
}
body .ss99-screen-frame img {
  object-fit: contain !important;
}

/* v14 stability, editor and customiser updates */
.ss99-page-shell,
.ss99-section,
.ss99-hero,
.ss99-footer,
.ss99-glass-nav,
.elementor-widget[class*="elementor-widget-ss99_"] {
  font-family: Poppins, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

/* Keep sections visible immediately, no blank reveal spaces while scrolling or editing */
.ss99-reveal,
.ss99-reveal-stagger > * {
  opacity: 1 !important;
  transform: none !important;
}
.ss99-reveal.is-visible {
  animation: ss99SoftEnter .62s cubic-bezier(.2,.8,.2,1) both;
}
.ss99-reveal.is-visible .ss99-reveal-stagger > * {
  animation: ss99SoftEnter .62s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes ss99SoftEnter {
  from { opacity: .01; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}
.elementor-editor-active .ss99-reveal,
.elementor-editor-active .ss99-reveal-stagger > *,
.elementor-editor-preview .ss99-reveal,
.elementor-editor-preview .ss99-reveal-stagger > * {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

/* Native WordPress menu output */
.ss99-nav-links ul,
.ss99-footer-menu {
  display: flex;
  align-items: center;
  gap: 22px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.ss99-nav-links li,
.ss99-footer-menu li { list-style: none; margin: 0; padding: 0; }
.ss99-nav-links a {
  color: rgba(255,255,255,.78);
  text-decoration: none !important;
  font-size: 13px;
  font-weight: 750;
  transition: color .2s ease;
}
.ss99-nav-links a:hover { color: #fff; }

/* Elementor canvas fixes, boxed not full-bleed internally */
.elementor-widget-ss99_header,
.elementor-widget-ss99_hero,
.elementor-widget-ss99_cover,
.elementor-widget-ss99_pricing,
.elementor-widget-ss99_compliance,
.elementor-widget-ss99_autonomy,
.elementor-widget-ss99_portfolio,
.elementor-widget-ss99_contact,
.elementor-widget-ss99_footer {
  width: 100% !important;
  max-width: 100% !important;
}
.elementor-widget[class*="elementor-widget-ss99_"] > .elementor-widget-container {
  width: 100% !important;
  max-width: 100% !important;
}

/* Footer */
.ss99-footer {
  position: relative;
  z-index: 1;
  padding: 72px 0 28px;
  background: radial-gradient(circle at 18% 0%, rgba(108,71,255,.22), transparent 28%), #090615;
  color: #fff;
  overflow: hidden;
}
.ss99-footer-panel {
  border-radius: 30px;
  padding: clamp(28px, 5vw, 48px);
  background: linear-gradient(135deg, rgba(108,71,255,.18), rgba(255,255,255,.04));
  border: 1px solid rgba(255,255,255,.13);
  box-shadow: var(--ss99-shadow);
  display: grid;
  grid-template-columns: 1.35fr .65fr;
  gap: 34px;
  align-items: start;
}
.ss99-footer-brand { margin-bottom: 30px; }
.ss99-footer-main h2 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(34px,4.5vw,56px);
  line-height: 1;
  letter-spacing: -.055em;
  font-weight: 950;
  color: #fff;
}
.ss99-footer-main p {
  max-width: 690px;
  margin: 18px 0 0;
  color: var(--ss99-muted);
  font-size: 16px;
  line-height: 1.7;
}
.ss99-footer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}
.ss99-footer-links {
  padding: 24px;
  border-radius: 22px;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.11);
}
.ss99-footer-kicker {
  color: var(--ss99-green);
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-weight: 900;
  margin-bottom: 16px;
}
.ss99-footer-menu {
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}
.ss99-footer-menu a {
  color: rgba(255,255,255,.78);
  text-decoration: none !important;
  font-size: 14px;
  font-weight: 750;
}
.ss99-footer-menu a:hover { color: #fff; }
.ss99-footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin-top: 22px;
  color: rgba(255,255,255,.46);
  font-size: 12px;
  font-weight: 650;
}

@media (max-width: 1120px) {
  .ss99-footer-panel { grid-template-columns: 1fr; }
  .ss99-nav-links ul { display: none; }
}
@media (max-width: 760px) {
  .ss99-footer-bottom { flex-direction: column; }
  .ss99-footer-actions .ss99-button { width: 100%; }
}


/* v15 logo, mobile navigation, editable portfolio images and contact strip image */
.ss99-logo-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
}
.ss99-logo-img {
  display: block;
  max-height: 52px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.ss99-brand-text { display: inline-block; }
.ss99-nav-panel {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 22px;
  flex: 1 1 auto;
}
.ss99-mobile-toggle {
  display: none;
  appearance: none;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  width: 44px;
  height: 42px;
  border-radius: 14px;
  padding: 0;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
}
.ss99-mobile-toggle span {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 99px;
  background: #fff;
  transition: transform .2s ease, opacity .2s ease;
}
.ss99-glass-nav.is-open .ss99-mobile-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.ss99-glass-nav.is-open .ss99-mobile-toggle span:nth-child(2) { opacity: 0; }
.ss99-glass-nav.is-open .ss99-mobile-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.ss99-project-thumb.has-image {
  padding: 0;
  background: #0e0a1d;
}
.ss99-project-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(.95) contrast(1.02);
}
.ss99-project-thumb.has-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8,4,18,0.02), rgba(8,4,18,0.22));
  pointer-events: none;
}
.ss99-strip-image-wrap {
  width: 88px;
  height: 88px;
  border-radius: 22px;
  overflow: hidden;
  flex: 0 0 auto;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
}
.ss99-strip-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ss99-trust-strip strong { color: #fff; }
.ss99-trust-strip span { color: var(--ss99-soft-muted); }

@media (max-width: 1120px) {
  .ss99-nav-inner {
    position: relative;
  }
  .ss99-mobile-toggle {
    display: inline-flex;
    margin-left: auto;
  }
  .ss99-nav-panel {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 10px);
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    padding: 18px;
    border-radius: 22px;
    background: rgba(11,7,24,.96);
    border: 1px solid rgba(255,255,255,.14);
    box-shadow: 0 20px 60px rgba(0,0,0,.36);
    backdrop-filter: blur(24px);
  }
  .ss99-glass-nav.is-open .ss99-nav-panel {
    display: flex;
  }
  .ss99-nav-links,
  .ss99-nav-links ul,
  .ss99-nav-menu {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 4px !important;
    width: 100%;
  }
  .ss99-nav-links a {
    display: block;
    width: 100%;
    padding: 12px 13px;
    border-radius: 12px;
    background: rgba(255,255,255,.045);
    color: #fff;
  }
  .ss99-nav-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    width: 100%;
  }
  .ss99-nav-actions .ss99-nav-cta {
    width: 100%;
    text-align: center;
    justify-content: center;
  }
}
@media (max-width: 760px) {
  .ss99-logo-img { max-height: 44px; }
  .ss99-nav-actions { grid-template-columns: 1fr; }
  .ss99-nav-actions .ss99-nav-cta:first-child { display: inline-flex; }
  .ss99-trust-strip { align-items: flex-start; }
  .ss99-strip-image-wrap { width: 68px; height: 68px; border-radius: 18px; }
}


/* v16 hero image update, replace right-side tiles with editable faded showcase image */
.ss99-website-tiles { display: none !important; }
.ss99-hero {
  min-height: 780px;
}
.ss99-hero::before {
  background: linear-gradient(90deg, rgba(11,7,24,.97) 0%, rgba(11,7,24,.92) 32%, rgba(11,7,24,.48) 66%, rgba(11,7,24,.86) 100%);
}
.ss99-hero-visual {
  position: absolute;
  inset: 96px -4vw 0 auto;
  width: min(980px, 62vw);
  max-width: 980px;
  z-index: 1;
  pointer-events: none;
  opacity: .72;
  filter: saturate(.98) blur(0px);
  animation: ss99HeroVisualIn 1.2s cubic-bezier(.2,.8,.2,1) both;
}
.ss99-hero-visual::before,
.ss99-hero-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.ss99-hero-visual::before {
  background: radial-gradient(circle at 22% 55%, rgba(5,3,14,0) 0%, rgba(5,3,14,.08) 38%, rgba(5,3,14,.35) 64%, rgba(5,3,14,.78) 100%);
}
.ss99-hero-visual::after {
  background: linear-gradient(90deg, rgba(11,7,24,.96) 0%, rgba(11,7,24,.52) 18%, rgba(11,7,24,.16) 42%, rgba(11,7,24,.34) 70%, rgba(11,7,24,.88) 100%);
  mix-blend-mode: normal;
}
.ss99-hero-visual img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
@keyframes ss99HeroVisualIn {
  from { opacity: 0; transform: translate3d(32px,18px,0) scale(1.02); }
  to { opacity: .72; transform: translate3d(0,0,0) scale(1); }
}
@media (max-width: 1120px) {
  .ss99-hero-visual {
    width: min(760px, 58vw);
    inset: 122px -10vw auto auto;
    opacity: .5;
  }
  .ss99-hero-content {
    max-width: 660px;
  }
}
@media (max-width: 760px) {
  .ss99-hero-visual { display: none; }
}
