
:root {
  --bg: #091120;
  --bg-2: #0e1730;
  --panel: rgba(255,255,255,0.05);
  --panel-strong: rgba(255,255,255,0.08);
  --text: #f3f6ff;
  --muted: #a8b5cd;
  --line: rgba(255,255,255,0.12);
  --blue: #7ea7ff;
  --teal: #6ee7c8;
  --ink: #0b1120;
  --radius: 24px;
  --content: 1180px;
  --shadow: 0 22px 60px rgba(0,0,0,0.32);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at top left, rgba(126,167,255,0.18), transparent 26%),
    radial-gradient(circle at top right, rgba(110,231,200,0.10), transparent 18%),
    linear-gradient(180deg, #0b1120 0%, #091120 100%);
  line-height: 1.55;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
p { margin: 0 0 1rem; }
h1,h2,h3 { margin: 0 0 1rem; line-height: 1.05; letter-spacing: -0.03em; }
h1 { font-size: clamp(2.6rem, 5vw, 4.45rem); max-width: 11ch; }
.wider-h2 { max-width: 32ch; }
h2 { font-size: clamp(1.8rem, 3vw, 2.8rem); max-width: 14ch; }
h3 { font-size: 1.15rem; }
.container { width: min(calc(100% - 2rem), var(--content)); margin: 0 auto; }
.narrow { width: min(calc(100% - 2rem), 800px); margin: 0 auto; }
.page-shell { min-height: 100vh; }
.site-header {
  position: sticky; top: 0; z-index: 20;
  backdrop-filter: blur(16px);
  background: rgba(9,17,32,0.76);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:1.25rem; padding:1rem 0; }
.brand { display:inline-flex; align-items:center; gap:0.85rem; font-weight:700; letter-spacing:-0.02em; }
.brand-mark { width:1.3rem; height:1.3rem; }
.brand-word { font-size:1.03rem; }
.site-nav { display:flex; align-items:center; gap:0.25rem; }
.nav-link, .footer-link, .dropdown-link {
  color: var(--muted); padding:0.78rem 0.94rem; border-radius:999px; transition:180ms ease;
}
.nav-link:hover, .nav-link.active, .footer-link:hover, .footer-link.active,
.dropdown-link:hover {
  color:var(--text); background:rgba(255,255,255,0.06);
}
.nav-dropdown { position:relative; }
.caret { font-size: 0.8em; opacity:0.8; }
.dropdown-menu {
  position:absolute; top:calc(100% + 0.5rem); left:0; min-width:13rem;
  background: rgba(11,17,32,0.96); border:1px solid rgba(255,255,255,0.08); border-radius:18px;
  padding:0.4rem; box-shadow:var(--shadow); opacity:0; visibility:hidden; transform:translateY(6px);
  transition:180ms ease;
}
.nav-dropdown:hover .dropdown-menu,
.nav-dropdown:focus-within .dropdown-menu { opacity:1; visibility:visible; transform:translateY(0); }
.dropdown-link { display:block; border-radius:14px; }
.button {
  display:inline-flex; align-items:center; justify-content:center; gap:0.5rem;
  border-radius:999px; padding:0.98rem 1.25rem; border:1px solid transparent; font-weight:600;
  transition:180ms ease; box-shadow:var(--shadow);
}
.button.small { padding:0.8rem 1rem; box-shadow:none; }
.button.primary { background:linear-gradient(135deg, #6f96ff, #67d7d8); color:#08111f; }
.button.primary:hover { filter:brightness(1.06); }
.button.ghost { background:rgba(255,255,255,0.04); border-color:rgba(255,255,255,0.12); color:var(--text); box-shadow:none; }
.button.ghost:hover { background:rgba(255,255,255,0.08); }
.menu-toggle { display:none; background:transparent; border:0; padding:0.35rem; border-radius:10px; }
.menu-toggle span { display:block; width:1.4rem; height:2px; background:var(--text); margin:0.25rem 0; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }
.hero { padding:6rem 0 4.5rem; }
.hero-grid { display:grid; grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.95fr); gap:2rem; align-items:center; }
.hero-copy .eyebrow, .section-label, .page-label {
  text-transform:uppercase; letter-spacing:0.14em; font-size:0.77rem; font-weight:700; color:var(--teal);
}
.hero-copy .lead, .section-intro, .page-intro, .body-large {
  color: #d5deee; font-size:1.08rem; max-width:60ch;
}
.hero-actions { display:flex; flex-wrap:wrap; gap:0.9rem; margin-top:1.7rem; }
.hero-visual, .hero-image-wrap {
  position:relative; border:1px solid rgba(255,255,255,0.08); border-radius:32px;
  background:linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
  overflow:hidden; box-shadow:var(--shadow);
}
.hero-visual::before, .hero-image-wrap::before {
  content:''; position:absolute; inset:0; background:radial-gradient(circle at 20% 20%, rgba(126,167,255,0.18), transparent 32%);
  pointer-events:none;
}
.hero-visual img, .hero-image-wrap img { width:100%; height:100%; object-fit:cover; }
.section { padding:5.0rem 0; }
.section + .section { padding-top:1rem; }
.section-intro { margin-top:2rem; }
.section-head { display:grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 0.85fr); gap:2rem; align-items:start; margin-bottom:2rem; }
.grid { display:grid; gap:1.25rem; }
.grid.three { grid-template-columns:repeat(3, minmax(0,1fr)); }
.grid.four { grid-template-columns:repeat(4, minmax(0,1fr)); }
.grid.two { grid-template-columns:repeat(2, minmax(0,1fr)); }
.card {
  background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:1.4rem; box-shadow:var(--shadow);
}
.card.soft { background:rgba(255,255,255,0.035); }
.icon-chip {
  width:2.75rem; height:2.75rem; border-radius:16px; display:grid; place-items:center; margin-bottom:1rem;
  background:linear-gradient(135deg, rgba(126,167,255,0.18), rgba(110,231,200,0.12)); border:1px solid rgba(255,255,255,0.08);
}
.icon-chip svg { width:1.35rem; height:1.35rem; }
.muted { color:var(--muted); }
.stat-line { display:flex; gap:0.8rem; align-items:flex-start; padding:1rem 0; border-top:1px solid rgba(255,255,255,0.08); }
.stat-line:first-child { border-top:0; padding-top:0; }
.stat-line strong { display:block; font-size:0.98rem; }
.band {
  margin-top:1rem; border-radius:32px; overflow:hidden; border:1px solid rgba(255,255,255,0.08);
  background:linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.015));
}
.band-grid { display:grid; grid-template-columns:minmax(0, 0.9fr) minmax(0, 1.1fr); gap:0; align-items:stretch; }
.band-copy { padding:2rem; }
.band-visual { min-height:320px; }
.inline-list { display:grid; gap:0.85rem; margin:1.25rem 0 0; padding:0; list-style:none; }
.inline-list li {
  position:relative; padding-left:1.1rem; color:#d9e1f0;
}
.inline-list li::before { content:''; position:absolute; left:0; top:0.68rem; width:0.42rem; height:0.42rem; border-radius:50%; background:var(--teal); }
.industry-grid article { min-height:100%; }
.industry-grid h3 { margin-bottom:0.5rem; }
.industry-grid p { margin-bottom:0.85rem; }
.industry-grid .tiny-link { color:#dfe7f7; font-weight:600; }
.cta-card {
  display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:1.5rem; align-items:start;
  padding:2rem; border-radius:28px; background:linear-gradient(135deg, rgba(126,167,255,0.11), rgba(110,231,200,0.08));
  border:1px solid rgba(255,255,255,0.12);
}
.page-hero { padding:5.6rem 0 3rem; }
.page-hero-grid { display:grid; grid-template-columns:minmax(0, 0.9fr) minmax(0, 1.1fr); gap:2rem; align-items:center; }
.page-hero h1 { max-width: 12ch; }
.meta-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:1rem; margin-top:1.5rem; }
.meta-card { padding:1.25rem; border-radius:22px; background:rgba(255,255,255,0.035); border:1px solid rgba(255,255,255,0.09); }
.quote-box { padding:1.5rem; border-left:2px solid rgba(110,231,200,0.7); background:rgba(255,255,255,0.03); border-radius:0 20px 20px 0; }
.faq-list { display:grid; gap:1rem; }
.faq-item { background:var(--panel); border:1px solid var(--line); border-radius:20px; padding:1rem 1.15rem; }
.faq-item summary { cursor:pointer; font-weight:600; list-style:none; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item p { color:#d7dff0; margin-top:0.9rem; }
.contact-grid { display:grid; grid-template-columns:minmax(0, 1fr) minmax(320px, 0.8fr); gap:1.25rem; align-items:start; }
.contact-list { display:grid; gap:0.8rem; margin-top:1.2rem; }
.contact-list div { padding:1rem 1.1rem; border-radius:18px; background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.08); }
.site-footer { padding:2rem 0 3rem; border-top:1px solid rgba(255,255,255,0.08); margin-top:4rem; }
.footer-inner { display:grid; grid-template-columns:auto 1fr auto; gap:1rem 2rem; align-items:center; }
.footer-brand { font-weight:700; font-size:1.05rem; }
.footer-copy, .footer-meta { color:var(--muted); font-size:0.96rem; }
.footer-nav { display:flex; flex-wrap:wrap; gap:0.2rem; justify-content:center; }
.policy p + h2 { margin-top:2rem; }
.policy h2 { max-width:none; }
.not-found { padding:7rem 0; text-align:center; }
.not-found h1 { max-width:none; }
@media (max-width: 980px) {
  .hero-grid, .page-hero-grid, .section-head, .band-grid, .contact-grid, .cta-card, .footer-inner { grid-template-columns:1fr; }
  .grid.three, .grid.four, .grid.two, .meta-grid { grid-template-columns:1fr; }
  .footer-nav { justify-content:flex-start; }
}
@media (max-width: 820px) {
  .menu-toggle { display:block; }
  .site-nav {
    position:absolute; right:1rem; top:calc(100% + 0.6rem); width:min(320px, calc(100% - 2rem));
    display:none; flex-direction:column; align-items:stretch; padding:0.6rem; border-radius:22px; box-shadow:var(--shadow);
    background:rgba(11,17,32,0.98); border:1px solid rgba(255,255,255,0.08);
  }
  .site-nav.open { display:flex; }
  .nav-link, .dropdown-link, .button.small.nav-cta { width:100%; }
  .nav-dropdown { width:100%; }
  .dropdown-menu {
    position:static; opacity:1; visibility:visible; transform:none; display:block; min-width:0; box-shadow:none;
    background:transparent; border:0; padding:0 0 0.25rem 0.6rem;
  }
}


.contact-prompts { margin-top: 1.4rem; }
.contact-form { display:grid; gap:1rem; margin-top:1rem; }
.form-field { display:grid; gap:0.45rem; }
.form-field span { font-size:0.95rem; font-weight:600; color:#dfe7f7; }
.form-field input, .form-field textarea {
  width:100%; border-radius:16px; border:1px solid rgba(255,255,255,0.12);
  background:rgba(255,255,255,0.04); color:var(--text); padding:0.95rem 1rem;
  font: inherit; outline:none; transition:180ms ease;
}
.form-field textarea { resize:vertical; min-height:8rem; }
.form-field input:focus, .form-field textarea:focus {
  border-color: rgba(126,167,255,0.65);
  box-shadow: 0 0 0 4px rgba(126,167,255,0.12);
}
.honey-field { display:none !important; }
