:root{
  --ink:#0B1020;
  --surface:#F7F9FC;
  --card:#FFFFFF;
  --text:#0B1020;
  --muted:#5B6475;
  --border:#E7ECF3;

  --blue:#2E7BEF;
  --blue-deep:#1E40AF;
  --gold:#C6901D;

  --hero-grad: radial-gradient(900px 420px at 20% 10%, rgba(46,123,239,.30), transparent 60%),
               radial-gradient(700px 340px at 80% 20%, rgba(198,144,29,.26), transparent 55%),
               linear-gradient(180deg, #0B1020 0%, #0E1630 60%, #101B3A 100%);

  --radius:20px;
  --shadow: 0 14px 44px rgba(11,16,32,.18);
  --shadow-2: 0 18px 60px rgba(11,16,32,.22);

  --max: 1160px;
  
  --icon-sun: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%3Cpath%20d%3D%22M12%2018a6%206%200%201%201%200-12%206%206%200%200%201%200%2012Zm0-16a1%201%200%200%201%201%201v1a1%201%200%201%201-2%200V3a1%201%200%200%201%201-1Zm0%2018a1%201%200%200%201%201%201v1a1%201%200%201%201-2%200v-1a1%201%200%200%201%201-1Zm10-8a1%201%200%200%201-1%201h-1a1%201%200%201%201%200-2h1a1%201%200%200%201%201%201ZM5%2012a1%201%200%200%201-1%201H3a1%201%200%201%201%200-2h1a1%201%200%200%201%201%201Zm14.07%206.07a1%201%200%200%201%200%201.41l-.7.7a1%201%200%201%201-1.41-1.41l.7-.7a1%201%200%200%201%201.41%200ZM6.34%206.34a1%201%200%200%201%200%201.41l-.7.7A1%201%200%201%201%204.23%207.04l.7-.7a1%201%200%200%201%201.41%200Zm12.73-1.41a1%201%200%200%201%200%201.41l-.7.7A1%201%200%201%201%2016.96%205.5l.7-.7a1%201%200%200%201%201.41%200ZM6.34%2017.66a1%201%200%200%201%200%201.41l-.7.7A1%201%200%201%201%204.23%2018.37l.7-.7a1%201%200%200%201%201.41%200Z%22/%3E%0A%3C/svg%3E");
  --icon-moon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%3Cpath%20d%3D%22M21%2014.5A8.5%208.5%200%200%201%209.5%203a1%201%200%200%200-1.2%201.2A10.5%2010.5%200%201%200%2019.8%2015.7A1%201%200%200%200%2021%2014.5Z%22/%3E%0A%3C/svg%3E");
  --theme-icon-mask: var(--icon-sun);
  color-scheme: light;
  
  
  --bg-top: #FFFFFF;
  --bg-bottom: var(--surface);
  --header-bg: rgba(255,255,255,.86);
  --header-border: rgba(46,123,239,.18);
  --nav-hover: rgba(46,123,239,.08);
  --nav-active-bg: rgba(11,16,32,.06);
  --nav-active-border: rgba(11,16,32,.10);
  --footer-bg: linear-gradient(180deg, rgba(255,255,255,.88), rgba(247,249,252,.98));
  --footer-col: color:rgba(11,16,32,.86);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme]){
    color-scheme: dark;
    --bg-top: #060914;
    --bg-bottom: #0A1022;
    --text: #EAF0FF;
    --muted: rgba(234,240,255,.70);
    --border: rgba(255,255,255,.10);
    --card: rgba(255,255,255,.06);
    --header-bg: rgba(7,10,20,.70);
    --header-border: rgba(46,123,239,.22);
    --nav-hover: rgba(255,255,255,.06);
    --nav-active-bg: rgba(255,255,255,.08);
    --nav-active-border: rgba(255,255,255,.12);
    --theme-icon-mask: var(--icon-sun);
	--footer-bg: linear-gradient(180deg, rgba(7,10,20,.55), rgba(7,10,20,.82));
    --footer-col: color: rgba(234,240,255,.82);
  }
}
:root[data-theme="dark"]{
	color-scheme: dark;
	--bg-top: #060914;
	--bg-bottom: #0A1022;
	--text: #EAF0FF;
	--muted: rgba(234,240,255,.70);
	--border: rgba(255,255,255,.10);
	--card: rgba(255,255,255,.06);
	--header-bg: rgba(7,10,20,.70);
	--header-border: rgba(46,123,239,.22);
	--nav-hover: rgba(255,255,255,.06);
	--nav-active-bg: rgba(255,255,255,.08);
	--nav-active-border: rgba(255,255,255,.12);
	--theme-icon-mask: var(--icon-sun);
	--footer-bg: linear-gradient(180deg, rgba(7,10,20,.55), rgba(7,10,20,.82));
	--footer-col: color: rgba(234,240,255,.82);
}
:root[data-theme="light"]{
  color-scheme: light;
  --theme-icon-mask: var(--icon-moon);
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--text);
  background: linear-gradient(180deg, var(--bg-top) 0%, var(--bg-bottom) 70%);
  line-height:1.55;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
a:hover{ text-decoration:underline; text-underline-offset:3px; }

.container{ width:min(var(--max), calc(100% - 40px)); margin-inline:auto; }

.skip-link{ position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden; }
.skip-link:focus{
  left:16px; top:16px; width:auto; height:auto;
  padding:10px 12px; background:var(--card);
  border:1px solid var(--border); border-radius:12px;
  box-shadow:var(--shadow); z-index:9999;
}

.site-header{
  position:sticky; top:0; z-index:1000;
  background: var(--header-bg);
  backdrop-filter:saturate(170%) blur(10px);
  border-bottom: 1px solid var(--header-border);
  transition: box-shadow .2s ease;
}
.site-header.elevated{ box-shadow: var(--shadow); }

.site-header .brand-logo{
  width: 120px;
  height: 70px;
  display: block;
  object-fit: contain;
  object-position: left center;
}
.brand-logo-light{ display: block; }
.brand-logo-dark{ display: none; }

.header-inner{
  display:flex; 
  align-items:center; 
  justify-content:space-between; 
  padding: 16px 0;
  gap:16px;
  flex-wrap: nowrap;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  flex: 0 0 auto;
}
.brand-plate{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: transparent;
}
.product-pill{
  display:none;
  height: 34px;
  padding: 0 10px;
  align-items:center; gap:8px;
  border-radius:999px;
  border:1px solid rgba(198,144,29,.35);
  background: linear-gradient(135deg, rgba(198,144,29,.16), rgba(255,255,255,.92));
  font-size:12px; color: rgba(11,16,32,.82); font-weight:800;
}
.product-pill img{ width:64px; height:auto; }

.nav{
  display:flex;
  align-items:center;
  gap:12px;
  flex: 1 1 auto;
  justify-content: flex-end;
  min-width: 0;
}
.nav-menu{
  display:flex;
  align-items:center;
  gap:8px;
}
.nav-menu a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 42px;              /* consistent */
  padding: 0 10px;           /* no vertical padding to avoid height drift */
  line-height: 1;            /* consistent text box */
  border-radius: 15px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .01em;
  border: 1px solid transparent;
  background: transparent;
  white-space: nowrap;
  color:rgba(11,16,32,.84);
}
.nav-menu a:hover{
  background: var(--nav-hover);
  border-color: rgba(46,123,239,.14);
  text-decoration: none;
}
.nav-menu a.active{
  background: var(--nav-active-bg);
  border:1px solid var(--nav-active-border);
  text-decoration:none;
}

.nav-toggle{
  display:none; appearance:none;
  border:1px solid rgba(46,123,239,.20);
  background:rgba(255,255,255,.95);
  border-radius:16px;
  width:46px; height:46px; padding:0;
  box-shadow:0 10px 28px rgba(11,16,32,.14);
}

.sr-only{
  position:absolute!important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

.hamburger{ display:block; width:18px; height:2px; background:var(--ink); position:relative; margin:0 auto; }
.hamburger::before,.hamburger::after{ content:""; position:absolute; left:0; width:18px; height:2px; background:var(--ink); }
.hamburger::before{ top:-6px; } .hamburger::after{ top:6px; }

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  border-radius:18px; padding:13px 18px;
  font-weight:900; letter-spacing:.01em;
  border:1px solid transparent;
  box-shadow: 0 14px 34px rgba(11,16,32,.14);
  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
}
.btn:hover{ transform: translateY(-1px); box-shadow: var(--shadow-2); text-decoration:none; filter:saturate(1.06); }
.btn:active{ transform: translateY(0); }

.btn-primary{ background: linear-gradient(135deg, var(--blue) 0%, var(--blue-deep) 100%); color:white; }
.btn-ghost{ background:rgba(255,255,255,.90); border-color:rgba(231,236,243,.95); }
.btn-small{ padding:10px 14px; border-radius:16px; font-size:14px; }

.tag{
  display:inline-flex; align-items:center; gap:10px;
  font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  color:rgba(255,255,255,.82);
  background: rgba(46,123,239,.18);
  border:1px solid rgba(46,123,239,.26);
  padding:8px 12px; border-radius:999px;
}

h1,h2,h3,h4{ color:var(--text); }
h1{ margin:14px 0 10px; font-size:clamp(32px, 3.9vw, 54px); line-height:1.05; letter-spacing:-.02em; }
h2{ margin:0; font-size:clamp(22px, 2.6vw, 34px); letter-spacing:-.01em; }
h3{ margin:0 0 6px; } h4{ margin:0 0 6px; }

.accent{ color: var(--blue); }
.accent-gold{ color: #F2C14E; }

.lead{ font-size:17px; color:rgba(255,255,255,.84); max-width:72ch; }
.muted{ color: var(--muted); }
.tiny{ font-size:12px; }
hr.sep{ border:0; border-top:1px solid rgba(231,236,243,.85); margin: 18px 0; }

.page-hero{
  position: relative;
  overflow: clip;
  padding:48px 0 28px;
  background: var(--hero-grad);
  color:#fff;
  border-bottom: 1px solid rgba(46,123,239,.22);
}
/* Optional hero background image (add assets/hero-aerospace.webp) */
.hero-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(11,16,32,.76) 0%, rgba(11,16,32,.88) 55%, rgba(11,16,32,.94) 100%),
    url("../assets/hero-aerospace.webp");
  background-size: cover;
  background-position: center;
  opacity: .55;
  pointer-events:none;
}
.hero-bg::after{
  content:"";
  position:absolute;
  inset:-20%;
  background: radial-gradient(700px 280px at 18% 20%, rgba(46,123,239,.35), transparent 60%),
              radial-gradient(520px 220px at 82% 18%, rgba(198,144,29,.30), transparent 55%);
  opacity: .9;
}
/* subtle animated “data sweep” for energy (respects reduced motion) */
.hero-sweep{
  position:absolute;
  inset:0;
  background: radial-gradient(25% 260px at 30% 50%, rgba(46,123,239,.30), transparent 100%),
              radial-gradient(25% 220px at 70% 55%, rgba(198,144,29,.30), transparent 100%);
  transform: translateX(0);
  pointer-events:none;
  opacity:.55;
  mix-blend-mode: screen;
}

.page-hero .container{ position: relative; z-index: 1; }
.page-hero .hero-inner{ display:grid; grid-template-columns: 1.2fr .8fr; gap:22px; align-items:start; }
.page-hero h1{ color:#fff; }
.page-hero p{ color: rgba(255,255,255,.82); }

.hero-actions{ display:flex; gap:12px; margin:18px 0 0; flex-wrap:wrap; }

.hero-panel{
  border-radius: var(--radius);
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(700px 320px at 30% 20%, rgba(46,123,239,.22), transparent 60%),
    radial-gradient(520px 240px at 80% 10%, rgba(198,144,29,.22), transparent 55%),
    rgba(255,255,255,.06);
  box-shadow: 0 16px 46px rgba(0,0,0,.30);
  padding:16px;
}
.hero-panel p{ margin:0; color:rgba(255,255,255,.86); }
.hero-panel .kpis{ display:grid; grid-template-columns: 1fr; gap:10px; margin-top:12px; }

.page-hero .btn-ghost{
  background: rgba(255,255,255,.92);
  border-color: rgba(255,255,255,.32);
  color: rgba(11,16,32,.92);
}
.page-hero .btn-ghost:hover{
  background: rgba(255,255,255,.98);
  border-color: rgba(255,255,255,.40);
}

.kpi{ border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.06); border-radius:16px; padding:12px 14px; }
.kpi .k{ font-size:12px; text-transform:uppercase; letter-spacing:.10em; color:rgba(255,255,255,.72); }
.kpi .v{ font-weight:900; margin-top:2px; color:#fff; }

.lockup .divider{
  height: 44px;
  opacity: .45;
}

.lockup{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:10px; }
.lockup .logo-big,
.lockup .julie-big{
  width: 240px;
  height: 64px;
  object-fit: contain;
  filter: drop-shadow(0 18px 45px rgba(0,0,0,.35));
}
.lockup .divider{ width:1px; height:32px; background:rgba(255,255,255,.18); }
.lockup .sub{ font-size:12px; letter-spacing:.12em; text-transform:uppercase; color: rgba(255,255,255,.75); }

.logo-plate{
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 14px 16px;
  border-radius: 20px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(231,236,243,.40);
  box-shadow: 0 18px 50px rgba(0,0,0,.28);
}
.logo-plate img{
  filter: none !important;
  display:block;
}

.section{ padding:56px 0; }
.section-alt{
  background: linear-gradient(180deg, rgba(46,123,239,.06) 0%, rgba(247,249,252,.96) 18%, rgba(198,144,29,.05) 100%);
  border-top:1px solid rgba(231,236,243,.6);
  border-bottom:1px solid rgba(231,236,243,.6);
}
.section-head{ display:flex; flex-direction:column; gap:10px; margin-bottom:18px; }
.section-head p{ margin:0; color:rgba(11,16,32,.70); max-width:85ch; }

.grid-4{ display:grid; grid-template-columns: repeat(4, 1fr); gap:14px; }
.grid-3{ display:grid; grid-template-columns: repeat(3, 1fr); gap:14px; }
.grid-2{ display:grid; grid-template-columns: repeat(2, 1fr); gap:14px; }

.two-col{ display:grid; grid-template-columns: 1fr 1fr; gap:18px; align-items:start; }
.gap-lg{ gap:24px; }

.card{
  border:1px solid var(--border);
  background: var(--card);
  border-radius: var(--radius);
  padding:18px;
  box-shadow: 0 16px 44px rgba(11,16,32,.08);
}
.card p{ margin:0; color: var(--muted); }

.card-hover{ transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.card-hover:hover{ transform: translateY(-3px); box-shadow: var(--shadow-2); border-color: rgba(46,123,239,.26); }

.card-ink{
  background: linear-gradient(135deg, rgba(11,16,32,.96), rgba(16,27,58,.96));
  border: 1px solid rgba(46,123,239,.20);
  color:#fff;
}
.card-ink h2,.card-ink h3,.card-ink h4{ color:#fff; }

.list{ margin:0; padding-left:18px; color: var(--muted); }
.list li{ margin:10px 0; }

.callout{
  border-radius: var(--radius);
  border:1px solid rgba(46,123,239,.20);
  background: linear-gradient(135deg, rgba(46,123,239,.14) 0%, rgba(255,255,255,.92) 55%);
  padding:16px;
}
.callout p{ margin:0; color:rgba(11,16,32,.72); }

.product-chip{
  display:flex; align-items:center; gap:10px;
  border:1px solid rgba(198,144,29,.30);
  background: linear-gradient(135deg, rgba(198,144,29,.16), rgba(255,255,255,.92));
  border-radius:999px; padding:9px 12px;
}
.product-chip span{ font-size:12px; color:rgba(11,16,32,.76); font-weight:900; }

.badge-row{ display:flex; gap:10px; flex-wrap:wrap; }

.diagram{
  border-radius: var(--radius);
  border:1px solid var(--border);
  background: var(--card);
  padding:16px;
  box-shadow: 0 16px 44px rgba(11,16,32,.08);
}
.diagram svg{ width:100%; height:auto; display:block; }
.diagram .caption{ margin-top:10px; color: var(--muted); }

.form-card{
  border:1px solid var(--border);
  background: var(--card);
  border-radius: var(--radius);
  padding:18px;
  box-shadow: var(--shadow);
}
.form{ display:flex; flex-direction:column; gap:12px; }
.form-row{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
label{ display:flex; flex-direction:column; gap:6px; font-weight:900; font-size:13px; }
input, select, textarea{
  font: inherit; padding:12px 12px;
  border-radius:14px;
  border:1px solid var(--border);
  background: rgba(255,255,255,.06);
  color: var(--text);
}
textarea{ resize: vertical; min-height:110px; }
input::placeholder, textarea::placeholder{ color: rgba(234,240,255,.55); }
.form-status{ margin:0; font-size:13px; color:var(--muted); min-height:1.2em; }

/* Stats band */
.stats-band{
  margin-top: 18px;
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.14);
  background: linear-gradient(135deg, rgba(46,123,239,.14), rgba(255,255,255,.06));
  box-shadow: 0 18px 60px rgba(0,0,0,.28);
  padding: 14px;
}
.stats-band .items{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:12px;
}
.stat{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.05);
  padding: 12px 14px;
}
.stat .t{ font-size:12px; text-transform:uppercase; letter-spacing:.10em; color:rgba(255,255,255,.70); }
.stat .n{ font-weight:950; font-size:18px; margin-top:2px; color:#fff; }
.stat .d{ font-size:13px; color:rgba(255,255,255,.78); margin-top:4px; }

/* Trusted by logo wall */
.trusted{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-top: 10px;
  margin-bottom: 16px;
}
.trusted h3{
  margin:0;
  font-size: 14px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color: rgba(11,16,32,.70);
}
.logo-wall{
  display:grid;
  grid-template-columns: repeat(6, 1fr);
  gap:10px;
  flex: 1 1 680px;
}
.logo-wall img{
  width:100%;
  height:70px;
  object-fit:contain;
  border-radius:16px;
  border:1px solid rgba(46,123,239,.18);
  background: rgba(255,255,255,.94);
  box-shadow: 0 12px 30px rgba(11,16,32,.08);
}

/* JULIE screenshot strip */
.shot-strip{
  margin-top: 14px;
  display:flex;
  gap:12px;
  overflow:auto;
  padding: 10px 2px 10px 2px;
  scroll-snap-type: x mandatory;
}
.shot{
  min-width: 320px;
  max-width: 420px;
  flex: 0 0 auto;
  scroll-snap-align: start;
  border-radius: var(--radius);
  border:1px solid rgba(46,123,239,.20);
  background: rgba(255,255,255,.96);
  box-shadow: 0 16px 44px rgba(11,16,32,.10);
  overflow:hidden;
}
.shot img{
  width:100%;
  height: 210px;
  object-fit: cover;
  display:block;
  background: linear-gradient(135deg, rgba(46,123,239,.14), rgba(198,144,29,.10));
}
.shot .meta{
  padding: 12px 14px;
}
.shot .meta strong{
  display:block;
  font-weight:950;
}
.shot .meta span{
  display:block;
  color: rgba(11,16,32,.70);
  font-size: 13px;
  margin-top: 4px;
}

.footer{
  border-top: 1px solid rgba(255,255,255,.10);
  background: var(--footer-bg);
  padding:36px 0 18px;
}
.footer-grid{ display:grid; grid-template-columns: 1.2fr .8fr .8fr; gap:16px; align-items:start; }
.footer h3{ margin:0 0 10px; font-size:14px; }
.footer-links{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; color: var(--footer-col); }
.footer-bottom{ margin-top:18px; padding-top:14px; border-top: 1px solid rgba(255,255,255,.10); }

.footer .brand-logo{
  display: block;
  max-width: 170px; /* keeps layout similar without forcing width/height */
}

.footer-bottom-inner .theme-toggle-footer{
  margin-left: auto;
}

.footer-bottom-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap: nowrap;
  width: 100%;
}
.footer-bottom-inner p{
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
}
.footer-bottom-inner .theme-toggle-footer{
  flex: 0 0 auto;
  margin-left: 16px;
}

/* Theme toggle in footer (not competing with header width) */
.theme-toggle-footer{
  width: 44px;
  height: 44px;
}

/* Toggle button */
.theme-toggle{
  appearance:none;
  border:1px solid rgba(46,123,239,.20);
  background: rgba(255,255,255,.92);
  border-radius: 16px;
  width: 44px;
  height: 44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow: 0 10px 26px rgba(11,16,32,.12);
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
}
.theme-toggle:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 38px rgba(11,16,32,.16);
}
.theme-toggle:active{ transform: translateY(0); }
.theme-icon{
  width: 18px; height: 18px;
  display:block;
  background: currentColor;
  mask: var(--theme-icon-mask);
  -webkit-mask: var(--theme-icon-mask);
  mask-size: cover;
  -webkit-mask-size: cover;
}

/* dark mode switches */
@media (prefers-color-scheme: dark){
  :root:not([data-theme]){
	.btn-ghost{
		background: rgba(255,255,255,.12);
		border-color: rgba(255,255,255,.16);
		color: rgba(234,240,255,.92);
	}
	.btn-ghost:hover{
		background: rgba(255,255,255,.16);
	}
	.logo-wall img{
		background: rgba(255,255,255,.08);
		border-color: rgba(255,255,255,.12);
	}
	.theme-toggle{
		background: rgba(255,255,255,.10);
		border-color: rgba(255,255,255,.18);
		box-shadow: 0 14px 44px rgba(0,0,0,.35);
		color: rgba(234,240,255,.92);
	}
	.section-head p, .callout p, .kpi .k, .form-status, .tiny, .lead, .trusted h3{
		color: var(--muted) !important;
	}
	.nav-menu a{
		color: rgba(234,240,255,.88);
	}
	.nav-toggle, .theme-toggle{
		  background: rgba(255,255,255,.10);
		  border-color: rgba(255,255,255,.18);
		  color: rgba(234,240,255,.92);
	}
	.section-alt{
		background: linear-gradient(180deg, rgba(46,123,239,.10) 0%, rgba(10,16,34,.94) 18%, rgba(198,144,29,.08) 100%);
		border-top: 1px solid rgba(255,255,255,.08);
		border-bottom: 1px solid rgba(255,255,255,.08);
	}
	.callout{
		background: linear-gradient(135deg, rgba(46,123,239,.10) 0%, rgba(255,255,255,.06) 55%);
		border-color: rgba(255,255,255,.12);
	}
	.diagram svg text{ fill: rgba(234,240,255,.92) !important; }
	.brand-plate{
		width: 120px;
		height: 70px;
		padding: 8px 10px;
		box-sizing: border-box;
		border-radius: 18px;
		background: rgba(255,255,255,.92);
		border: 1px solid rgba(255,255,255,.18);
		box-shadow: 0 14px 40px rgba(0,0,0,.32);
	}
	.brand-logo-light{ display: none !important; }
	.brand-logo-dark{ display: block !important; }
	.btn-ghost{
		background: rgba(255,255,255,.92);
		border-color: rgba(255,255,255,.22);
		color: rgba(11,16,32,.92);
	}
	.btn-ghost:hover{
		background: rgba(255,255,255,.98);
		border-color: rgba(255,255,255,.30);
	}
	.section-alt .card-ink{
		background: linear-gradient(135deg, rgba(11,16,32,.96), rgba(16,27,58,.96));
		border-color: rgba(46,123,239,.20);
		color: rgba(255,255,255,.96);
	}
	.section-alt .card-ink h2{ color: rgba(255,255,255,.98); }
  }
}
:root[data-theme="dark"]{
	.btn-ghost{
		background: rgba(255,255,255,.12);
		border-color: rgba(255,255,255,.16);
		color: rgba(234,240,255,.92);
	}
	.btn-ghost:hover{
		background: rgba(255,255,255,.16);
	}
	.logo-wall img{
		background: rgba(255,255,255,.08);
		border-color: rgba(255,255,255,.12);
	}
	.theme-toggle{
		background: rgba(255,255,255,.10);
		border-color: rgba(255,255,255,.18);
		box-shadow: 0 14px 44px rgba(0,0,0,.35);
		color: rgba(234,240,255,.92);
	}
	.section-head p, .callout p, .kpi .k, .form-status, .tiny, .lead, .trusted h3{
		color: var(--muted) !important;
	}
	.nav-menu a{
		color: rgba(234,240,255,.88);
	}
	.nav-toggle, .theme-toggle{
		  background: rgba(255,255,255,.10);
		  border-color: rgba(255,255,255,.18);
		  color: rgba(234,240,255,.92);
	}
	.section-alt{
		background: linear-gradient(180deg, rgba(46,123,239,.10) 0%, rgba(10,16,34,.94) 18%, rgba(198,144,29,.08) 100%);
		border-top: 1px solid rgba(255,255,255,.08);
		border-bottom: 1px solid rgba(255,255,255,.08);
	}
	.callout{
		background: linear-gradient(135deg, rgba(46,123,239,.10) 0%, rgba(255,255,255,.06) 55%);
		border-color: rgba(255,255,255,.12);
	}
	.diagram svg text{ fill: rgba(234,240,255,.92) !important; }
	.brand-plate{
		width: 120px;
		height: 70px;
		padding: 8px 10px;
		box-sizing: border-box;
		border-radius: 18px;
		background: rgba(255,255,255,.92);
		border: 1px solid rgba(255,255,255,.18);
		box-shadow: 0 14px 40px rgba(0,0,0,.32);
	}
	.brand-logo-light{ display: none !important; }
	.brand-logo-dark{ display: block !important; }
	.btn-ghost{
		background: rgba(255,255,255,.92);
		border-color: rgba(255,255,255,.22);
		color: rgba(11,16,32,.92);
	}
	.btn-ghost:hover{
		background: rgba(255,255,255,.98);
		border-color: rgba(255,255,255,.30);
	}
	.section-alt .card-ink{
		background: linear-gradient(135deg, rgba(11,16,32,.96), rgba(16,27,58,.96));
		border-color: rgba(46,123,239,.20);
		color: rgba(255,255,255,.96);
	}
	.section-alt .card-ink h2{ color: rgba(255,255,255,.98); }
}

/* light mode switches */
:root[data-theme="light"] {
	.theme-toggle{ color: rgba(11,16,32,.92); }
	.brand-logo-light{ display: block !important; }
	.brand-logo-dark{ display: none !important; }
	.section-alt .card-ink{
		background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(247,249,252,.98));
		border-color: rgba(46,123,239,.16);
		color: rgba(11,16,32,.92);
	}
	.section-alt .card-ink h2{
		color: rgba(11,16,32,.92);
	}
}

/* sizing changes */
@media (max-width: 1240px){
  .nav-menu{ gap: 6px; }
  .nav-menu a{
    font-size: 12.5px;
    padding: 0 9px;
    height: 40px;
    border-radius: 14px;
  }
  .nav-menu a.btn{
    height: 40px;
    padding: 0 11px;
    border-radius: 14px;
  }
}

@media (max-width: 1140px){
  .nav-menu{
    width: 100%;
    flex-wrap: wrap;
    justify-content: flex-end;
  }
  .nav-menu a{
    height: 25px;
  }
  .site-header .brand-logo{
	  width: 90px;
	  height: 45px;
  }
}

@media (max-width: 1040px){
  .page-hero .hero-inner{ grid-template-columns: 1fr; }
  .two-col{ grid-template-columns: 1fr; }
  .grid-4{ grid-template-columns: repeat(2, 1fr); }
  .footer-grid{ grid-template-columns: 1fr; }
  .hero-sweep{
	background: radial-gradient(25% 260px at 30% 30%, rgba(46,123,239,.30), transparent 100%),
                radial-gradient(25% 220px at 70% 32%, rgba(198,144,29,.30), transparent 100%);
  }
}

@media (max-width: 980px){
  .stats-band .items{ grid-template-columns: 1fr; }
  .logo-wall{ grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 760px){
  .form-row{ grid-template-columns:1fr; }
  .grid-3,.grid-2,.grid-4{ grid-template-columns:1fr; }
  .logo-wall{ grid-template-columns: repeat(2, 1fr); }
  .lockup .logo-big,
  .lockup .julie-big{
    width: 200px;
    height: 54px;
  }
  .header-inner{ padding: 14px 0; }
}

@media (max-width: 660px){
  .nav{
	max-width: 50px;
	width: 50px;
  }
  .nav-toggle{ display:inline-flex; align-items:center; justify-content:center; }
  .nav-menu{
    position:absolute;
	right:0px;
	top:66px;
    width:min(380px, calc(100vw - 40px));
    display:none; flex-direction:column; align-items:stretch; gap:10px;
    padding:12px;
    border:1px solid rgba(46,123,239,.18);
    border-radius:18px; box-shadow: var(--shadow-2);
	background: rgba(7,10,20,.90);
  }
  .nav-menu.open{ display:flex; }
  .nav-menu a{
    width: 100%;
    justify-content: flex-start;
    padding: 0 14px;
    height: 45px;
	color: rgba(234,240,255,.88);
	background: linear-gradient(135deg, var(--blue) 0%, var(--blue-deep) 100%);
  }
  .product-pill{
	display:inline-flex;
	margin-left: auto;
	margin-right: auto;
  }
  .brand{
	flex: 1 0 auto;
  }
}

@media (max-width: 430px){
  .product-pill{ display:none; }
}

/* others */
@media (prefers-reduced-motion: no-preference){
  .hero-sweep{ animation: sweep 15s linear infinite; }
}
@keyframes sweep{
  0%{ transform: translateX(-100%); }
  100%{ transform: translateX(100%); }
}
