@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:wght@700;800&display=swap");

:root {
  --black: #0a0a0a;
  --panel: rgba(18, 20, 28, 0.64);
  --panel-strong: rgba(18, 20, 28, 0.86);
  --purple: #6d28d9;
  --blue: #2563eb;
  --gold: #d4af37;
  --white: #f8fafc;
  --muted: #aab3c5;
  --line: rgba(248, 250, 252, 0.14);
  --green: #18a67a;
  --radius: 8px;
  color-scheme: dark;
  font-family: Manrope, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    radial-gradient(circle at 8% 12%, rgba(37,99,235,0.12), transparent 28rem),
    radial-gradient(circle at 92% 40%, rgba(109,40,217,0.12), transparent 30rem),
    var(--black);
  color: var(--white);
  letter-spacing: 0;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
a, button, select, summary, .button, .nav-cta, .brand, .venture-card a, .market-grid a, .inline-cta, .sticky-actions a, .sticky-actions button { cursor: pointer; }
img { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; }

.skip-link {
  position: fixed;
  left: 1rem;
  top: -4rem;
  z-index: 20;
  background: var(--gold);
  color: #101010;
  padding: 0.75rem 1rem;
}
.skip-link:focus { top: 1rem; }

.particle-field {
  position: fixed;
  inset: 0;
  z-index: -2;
  opacity: 0.62;
}

[data-glass], .venture-card, .benefit-grid article, .faq-grid article, .stats-grid article, .lead-form {
  background: linear-gradient(135deg, rgba(255,255,255,0.11), rgba(255,255,255,0.035));
  border: 1px solid var(--line);
  backdrop-filter: blur(18px);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.34);
  border-radius: var(--radius);
}

.site-header {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  width: min(1120px, calc(100% - 32px));
  margin-top: 16px;
  padding: 0.75rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.brand { display: inline-flex; align-items: center; gap: 0.7rem; min-width: max-content; transition: transform 180ms ease, color 180ms ease; }
.brand:hover { transform: translateY(-2px); }
.brand-mark {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(from 180deg, var(--gold), var(--blue), var(--purple), var(--gold));
  color: #080808;
  font-weight: 900;
}
.brand strong, .brand small { display: block; line-height: 1.05; }
.brand small { color: var(--muted); }
.nav-links { display: flex; gap: 1rem; color: #d9deeb; font-size: 0.9rem; font-weight: 700; }
.nav-links a, .site-footer a, .contact-panel a { transition: color 180ms ease, transform 180ms ease; }
.nav-links a:hover, .site-footer a:hover, .contact-panel a:hover { color: var(--gold); transform: translateY(-1px); }
.nav-cta {
  border: 1px solid rgba(212, 175, 55, 0.5);
  color: var(--gold);
  padding: 0.72rem 1rem;
  border-radius: var(--radius);
  transition: background 180ms ease, color 180ms ease, transform 180ms ease, border-color 180ms ease;
}
.nav-cta:hover { background: rgba(212, 175, 55, 0.12); transform: translateY(-2px); }

.hero {
  min-height: 100svh;
  position: relative;
  display: grid;
  align-items: center;
  padding: 9rem max(6vw, 1.25rem) 5rem;
  overflow: hidden;
}
.hero-media, .hero-media img, .hero-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.hero-media { z-index: -3; }
.hero-media img { object-fit: cover; }
.hero-overlay {
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(10,10,10,0.96) 0%, rgba(10,10,10,0.74) 42%, rgba(10,10,10,0.34) 78%),
    linear-gradient(180deg, rgba(10,10,10,0.28), #0a0a0a 96%);
}
.hero-content { width: min(720px, 100%); }
.eyebrow {
  margin: 0 0 1rem;
  color: var(--gold);
  text-transform: uppercase;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.13em;
}
h1, h2, h3, p { margin-top: 0; }
h1 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2.9rem, 6.6vw, 6.2rem);
  line-height: 0.98;
  margin-bottom: 1.4rem;
  max-width: 13ch;
}
h2 { font-family: "Playfair Display", Georgia, serif; font-size: clamp(2rem, 4.3vw, 3.7rem); line-height: 1.06; margin-bottom: 1rem; }
h3 { font-size: 1.12rem; line-height: 1.25; margin-bottom: 0.7rem; }
.hero-copy, .rich-copy p, .founder p, .section-head p { color: #dfe6f5; font-size: clamp(1rem, 1.65vw, 1.22rem); line-height: 1.65; max-width: 760px; }
.seo-line {
  max-width: 720px;
  color: #c5ccdc;
  font-weight: 700;
  line-height: 1.5;
}
.keyword-rotator { display: flex; align-items: center; gap: 0.7rem; min-height: 44px; margin: 1.4rem 0; color: var(--muted); }
.keyword-rotator strong { color: var(--white); font-size: 1.5rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 0.8rem; }
.button {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 0.95rem 1.15rem;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22);
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}
.button:hover, .venture-card:hover, .benefit-grid article:hover, .faq-grid article:hover, .industry-card:hover, .assurance-steps article:hover {
  transform: translateY(-4px);
  border-color: rgba(212, 175, 55, 0.62);
  box-shadow: 0 22px 48px rgba(0, 0, 0, 0.34);
}
.primary { background: linear-gradient(135deg, var(--gold), #ffe6a1); color: #101010; }
.secondary { background: linear-gradient(135deg, var(--blue), var(--purple)); color: var(--white); }
.ghost { background: rgba(248, 250, 252, 0.06); }

.section {
  width: min(1180px, calc(100% - 2rem));
  margin: 0 auto;
  padding: 6.5rem 0;
  position: relative;
}
.section + .section { border-top: 1px solid rgba(248,250,252,0.06); }
.section-head { max-width: 780px; margin-bottom: 2.25rem; }
.split { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }

.stats-grid, .venture-grid, .benefit-grid, .faq-grid, .market-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.1rem;
}
.stats-grid article { padding: 1.25rem; min-height: 126px; display: flex; flex-direction: column; justify-content: space-between; }
.stats-grid strong { font-size: 2.2rem; color: var(--gold); }
.stats-grid span, .venture-card p, .venture-card li, .benefit-grid p, .faq-grid p, .market-grid p, .industry-card p, .assurance-hero p, .assurance-steps p, .site-footer, label { color: var(--muted); line-height: 1.55; }
.logo-strip { display: flex; flex-wrap: wrap; gap: 0.75rem; margin: 1.2rem 0; }
.logo-strip span, .roadmap span, .service-map span {
  border: 1px solid var(--line);
  background: rgba(248,250,252,0.055);
  border-radius: var(--radius);
  padding: 0.8rem 1rem;
}
.testimonial { margin: 2rem 0 0; padding-left: 1rem; border-left: 3px solid var(--gold); color: #e9edf7; font-size: 1.15rem; max-width: 850px; }
.testimonial cite { display: block; color: var(--muted); margin-top: 0.7rem; font-style: normal; }
.photo-band {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 1.25rem;
  align-items: center;
  margin-top: 2.25rem;
  padding: 0.75rem;
}
.photo-band picture,
.photo-band img {
  width: 100%;
  height: 100%;
}
.photo-band img {
  min-height: 360px;
  object-fit: cover;
  border-radius: var(--radius);
}
.photo-band > div { padding: 1rem; }
.photo-band h3 {
  font-size: clamp(1.6rem, 3vw, 3rem);
  line-height: 1.08;
}
.emoji-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-top: 1rem;
}
.emoji-row span {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(248,250,252,0.07);
  padding: 0.7rem 0.85rem;
  font-weight: 800;
}

.venture-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.venture-card {
  padding: 1.35rem;
  min-height: 330px;
  display: flex;
  flex-direction: column;
  transition: transform 180ms ease, border-color 180ms ease;
}
.venture-logo { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; background: rgba(212,175,55,0.14); border: 1px solid rgba(212,175,55,0.38); color: var(--gold); font-weight: 900; margin-bottom: 1rem; }
.venture-card ul { padding-left: 1.1rem; min-height: 76px; }
.venture-card a { color: var(--gold); font-weight: 800; margin-top: auto; }

.architecture { background: linear-gradient(180deg, rgba(37, 99, 235, 0.08), rgba(10, 10, 10, 0)); }
.service-map, .industry-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.service-map span { min-height: 90px; display: grid; place-items: center; text-align: center; font-weight: 800; }
.industry-card {
  min-height: 320px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(248,250,252,0.045);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.industry-card img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  filter: saturate(1.08) contrast(1.04);
}
.industry-card div { padding: 1.15rem; }
.industry-card h3 { font-size: 1.25rem; }

.benefit-grid article, .faq-grid article, .market-grid article, .assurance-steps article { padding: 1.35rem; min-height: 190px; transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease; }
.faq-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.market-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.market-grid article, .assurance-steps article {
  background: rgba(248,250,252,0.045);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.market-grid a { color: var(--gold); font-weight: 800; }
.inline-cta {
  color: var(--gold);
  font-weight: 800;
}
.sitemap-grid article {
  display: grid;
  gap: 0.55rem;
  align-content: start;
}
.assurance-steps strong {
  color: var(--gold);
  display: inline-block;
  margin-bottom: 1rem;
  font-size: 0.9rem;
}
.assurance-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
  gap: 1.2rem;
  align-items: stretch;
}
.assurance-hero {
  overflow: hidden;
  display: grid;
  grid-template-rows: auto 1fr;
}
.assurance-hero img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}
.assurance-hero > div { padding: clamp(1.2rem, 3vw, 2rem); }
.proof-kicker {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 0.85rem;
  padding: 0.45rem 0.65rem;
  border: 1px solid rgba(212,175,55,0.38);
  border-radius: var(--radius);
  color: var(--gold);
  background: rgba(212,175,55,0.1);
  font-weight: 900;
  text-transform: uppercase;
  font-size: 0.72rem;
}
.assurance-hero h3 {
  font-size: clamp(1.55rem, 3vw, 2.55rem);
  line-height: 1.06;
}
.assurance-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem;
  margin-top: 1.25rem;
}
.assurance-metrics span {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(248,250,252,0.06);
  padding: 0.8rem;
  color: #dfe6f5;
  font-weight: 800;
}
.assurance-metrics strong { display: block; color: var(--gold); margin-bottom: 0.25rem; }
.assurance-steps {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
.founder-portrait { padding: 0.65rem; overflow: hidden; }
.founder-portrait img { border-radius: var(--radius); aspect-ratio: 4 / 3; object-fit: cover; }
.roadmap { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.4rem; }

.global-cta {
  width: min(1180px, calc(100% - 2rem));
  margin: 3rem auto;
  padding: clamp(3rem, 6vw, 5rem);
  border: 1px solid rgba(212,175,55,0.34);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(212,175,55,0.16), rgba(37,99,235,0.12)),
    rgba(248,250,252,0.04);
}
.global-cta h2 { max-width: 900px; }

.contact-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr); gap: 1.2rem; align-items: start; }
.lead-form, .contact-panel { padding: 1.35rem; }
.lead-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.lead-form label:nth-last-of-type(1), .lead-form .button { grid-column: 1 / -1; }
label { display: grid; gap: 0.4rem; font-weight: 700; }
input, select, textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(6, 7, 10, 0.78);
  color: var(--white);
  min-height: 48px;
  padding: 0.75rem;
}
textarea { resize: vertical; }
.contact-panel { display: grid; gap: 0.9rem; }
.contact-panel a { color: var(--gold); font-weight: 800; }
.office-card {
  display: grid;
  gap: 0.35rem;
  padding: 0.9rem;
  border: 1px solid rgba(248,250,252,0.12);
  border-radius: var(--radius);
  background: rgba(248,250,252,0.055);
}
.office-card strong { color: var(--white); }
.office-card span { color: var(--muted); line-height: 1.5; }
.newsletter { display: grid; gap: 0.75rem; margin-top: 1rem; }
iframe { width: 100%; height: 260px; border: 0; border-radius: var(--radius); filter: grayscale(1) invert(0.9) contrast(0.95); }

.sticky-actions {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 12;
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.sticky-actions a, .sticky-actions button {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel-strong);
  color: var(--white);
  padding: 0.7rem 0.85rem;
  cursor: pointer;
}
.chat-assistant {
  position: fixed;
  right: 1rem;
  bottom: 5rem;
  z-index: 12;
  width: min(360px, calc(100% - 2rem));
  padding: 1rem;
  transform: translateY(16px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 180ms ease, transform 180ms ease;
}
.chat-assistant.open { opacity: 1; pointer-events: auto; transform: translateY(0); }
.chat-assistant header { display: flex; justify-content: space-between; align-items: center; }
.chat-assistant button { border: 0; background: transparent; color: var(--white); font-size: 1.2rem; cursor: pointer; }

.site-footer {
  width: min(1180px, calc(100% - 2rem));
  margin: 0 auto;
  padding: 4rem 0 6rem;
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: 1.35fr repeat(2, minmax(0, 0.8fr)) 1fr;
  gap: clamp(1.4rem, 3vw, 2.4rem);
}
.site-footer div:nth-child(4) { grid-column: span 1; }
.site-footer div:nth-child(5) { grid-column: span 1; }
.site-footer div { display: grid; align-content: start; gap: 0.6rem; }
.site-footer h3 { color: var(--white); }

.location-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at top right, rgba(37,99,235,0.22), transparent 34rem),
    radial-gradient(circle at bottom left, rgba(212,175,55,0.13), transparent 30rem),
    var(--black);
}
.location-shell {
  width: min(1080px, calc(100% - 2rem));
  min-height: 100vh;
  margin: auto;
  padding: 4rem 0;
  display: grid;
  align-content: center;
  gap: 1.25rem;
}
.location-shell h1 {
  max-width: 13ch;
  font-size: clamp(3rem, 8vw, 6.4rem);
}
.compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 1rem 0;
}
.mini-lead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  gap: 0.8rem;
  align-items: end;
  margin-top: 1.25rem;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(248,250,252,0.055);
}

@media (max-width: 980px) {
  .nav-links { display: none; }
  .split, .contact-grid, .assurance-layout { grid-template-columns: 1fr; }
  .site-footer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .photo-band { grid-template-columns: 1fr; }
  .stats-grid, .venture-grid, .benefit-grid, .service-map, .industry-grid, .market-grid, .compact, .mini-lead { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .assurance-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .faq-grid { grid-template-columns: 1fr; }
  .hero { padding-top: 8rem; }
}

@media (max-width: 620px) {
  .site-header { width: calc(100% - 20px); padding: 0.6rem; }
  .nav-cta { display: none; }
  h1 { font-size: clamp(2.5rem, 13.5vw, 4rem); }
  h2 { font-size: clamp(1.9rem, 10vw, 3rem); }
  .section { width: min(100% - 1.25rem, 1180px); padding: 4.5rem 0; }
  .photo-band img { min-height: 260px; }
  .stats-grid, .venture-grid, .benefit-grid, .service-map, .industry-grid, .market-grid, .faq-grid, .assurance-steps, .assurance-metrics, .compact, .lead-form, .mini-lead { grid-template-columns: 1fr; }
  .lead-form label:nth-last-of-type(1), .lead-form .button { grid-column: auto; }
  .hero-actions .button { width: 100%; }
  .sticky-actions { left: 1rem; }
  .site-footer { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
