:root {
  --ink: #101935;
  --ink-muted: #53607a;
  --line: rgba(27, 42, 76, 0.12);
  --paper: #f7f9fe;
  --surface: rgba(255, 255, 255, 0.86);
  --blue: #3159ef;
  --blue-deep: #1e3db8;
  --violet: #6e5ce6;
  --mint: #a8f1db;
  --navy: #0b1330;
  --navy-2: #152356;
  --coral: #f29b8c;
  --shadow: 0 20px 55px rgba(25, 42, 87, 0.11);
  --font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  background:
    linear-gradient(180deg, #f9fbff 0%, #f7f9fe 56%, #f8fbff 100%);
  font-family: var(--font);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a { color: inherit; text-decoration: none; }

button, a { -webkit-tap-highlight-color: transparent; }

.ambient {
  position: fixed;
  z-index: -1;
  width: 42rem;
  height: 42rem;
  border-radius: 50%;
  filter: blur(10px);
  opacity: .42;
  pointer-events: none;
}

.ambient-one {
  top: -26rem;
  left: -24rem;
  background: radial-gradient(circle, rgba(127, 142, 255, .25) 0%, rgba(127, 142, 255, 0) 70%);
}

.ambient-two {
  top: 46rem;
  right: -30rem;
  background: radial-gradient(circle, rgba(61, 203, 216, .17) 0%, rgba(61, 203, 216, 0) 70%);
}

.section-shell {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
}

.site-header {
  width: min(1240px, calc(100% - 48px));
  height: 86px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  font-weight: 760;
  letter-spacing: -.055em;
  font-size: 1.2rem;
}

.brand-mark {
  display: grid;
  place-items: center;
  width: 31px;
  height: 31px;
  color: #fff;
  border-radius: 10px;
  background: linear-gradient(145deg, #273ea9, #5a66e7);
  box-shadow: 0 7px 16px rgba(52, 73, 189, .24);
}

.brand-mark svg { width: 24px; height: 24px; }

.site-nav {
  display: flex;
  align-items: center;
  gap: 2rem;
  font-size: .91rem;
  font-weight: 560;
  color: #56617a;
}

.site-nav a,
.header-link,
.button,
.inline-link,
.service-card {
  transition: transform .22s ease, color .22s ease, background-color .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.site-nav a:hover { color: var(--ink); }

.header-link {
  display: inline-flex;
  align-items: center;
  gap: .48rem;
  font-size: .91rem;
  font-weight: 700;
  color: var(--blue-deep);
}

.header-link:hover { transform: translateX(3px); color: #172d97; }
.header-link svg, .button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

.hero {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  align-items: center;
  gap: 3rem;
  padding: 4.4rem 0 6.5rem;
}

.hero-copy { position: relative; z-index: 1; padding: 1rem 0 .5rem; }

.eyebrow,
.section-kicker,
.service-index,
.conversation-kicker {
  text-transform: uppercase;
  letter-spacing: .095em;
  font-size: .71rem;
  font-weight: 790;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  color: #52617e;
}

.eyebrow-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--blue), #8b76ff);
  box-shadow: 0 0 0 4px rgba(71, 93, 240, .1);
}

.hero h1 {
  max-width: 610px;
  margin: 1.45rem 0 1.55rem;
  font-size: clamp(3.5rem, 5.35vw, 5.7rem);
  line-height: .96;
  letter-spacing: -.072em;
  font-weight: 730;
}

.hero-lede {
  max-width: 565px;
  margin: 0;
  font-size: 1.12rem;
  line-height: 1.65;
  color: var(--ink-muted);
}

.hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .75rem 1.25rem;
  margin-top: 2rem;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  min-height: 48px;
  padding: .8rem 1.1rem .8rem 1.25rem;
  border-radius: 12px;
  font-size: .91rem;
  font-weight: 700;
}

.button-primary {
  color: #fff;
  background: linear-gradient(125deg, #3559dc, #2147cb);
  box-shadow: 0 12px 22px rgba(45, 75, 198, .2);
}

.button-primary:hover { transform: translateY(-2px); box-shadow: 0 16px 27px rgba(45, 75, 198, .29); }

.button-quiet { color: #3e4d6d; }
.button-quiet span { font-size: 1.2rem; color: var(--blue); margin-left: .1rem; }
.button-quiet:hover { transform: translateX(3px); color: var(--ink); }

.hero-note {
  margin: 1.5rem 0 0;
  color: #7d879d;
  font-size: .79rem;
  font-weight: 530;
}

.hero-visual {
  position: relative;
  min-height: 560px;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(126, 152, 235, .38);
  border-radius: 30px;
  background: linear-gradient(142deg, #0c1537 0%, #13245b 49%, #214886 100%);
  box-shadow: 0 34px 75px rgba(21, 38, 91, .25);
}

.hero-visual::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .34;
  background:
    linear-gradient(114deg, transparent 36%, rgba(203, 245, 255, .18) 37%, transparent 38%) 0 0 / 180px 180px,
    linear-gradient(25deg, transparent 50%, rgba(203, 245, 255, .12) 51%, transparent 52%) 20px 60px / 200px 200px;
}

.hero-art {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .49;
  mix-blend-mode: screen;
  filter: saturate(1.12) contrast(1.08);
}

.visual-glow {
  position: absolute;
  z-index: -1;
  width: 22rem;
  aspect-ratio: 1;
  border-radius: 50%;
  filter: blur(8px);
}

.glow-a { top: -11rem; left: -8rem; background: radial-gradient(circle, rgba(99, 110, 255, .65), rgba(99, 110, 255, 0) 69%); }
.glow-b { right: -10rem; bottom: -10rem; background: radial-gradient(circle, rgba(35, 227, 209, .45), rgba(35, 227, 209, 0) 68%); }

.operations-card {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(83%, 455px);
  padding: 1.1rem;
  transform: translate(-50%, -47%) rotate(-2deg);
  color: #eef4ff;
  border: 1px solid rgba(214, 229, 255, .26);
  border-radius: 19px;
  background: linear-gradient(145deg, rgba(17, 33, 82, .83), rgba(38, 59, 129, .77));
  box-shadow: 0 32px 48px rgba(1, 8, 31, .32), inset 0 1px 0 rgba(255, 255, 255, .15);
  backdrop-filter: blur(16px);
}

.ops-topbar, .ops-footer, .ops-title, .ops-summary, .security-panel-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.ops-title { gap: .48rem; font-size: .75rem; font-weight: 690; }

.ops-pulse {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #98f1d8;
  box-shadow: 0 0 0 4px rgba(152, 241, 216, .12);
}

.ops-period { color: #b3c3eb; font-size: .68rem; }

.ops-summary {
  min-height: 120px;
  margin-top: .8rem;
  padding: 1rem;
  border: 1px solid rgba(207, 223, 255, .14);
  border-radius: 13px;
  background: rgba(7, 17, 58, .36);
}

.summary-label { margin: 0 0 .42rem; color: #aebde6; font-size: .67rem; }

.summary-title {
  max-width: 185px;
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.05;
  letter-spacing: -.045em;
  font-weight: 650;
}

.summary-orbit {
  position: relative;
  display: grid;
  place-items: center;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  border: 1px dashed rgba(166, 232, 255, .55);
}

.summary-orbit::before, .summary-orbit::after, .summary-orbit i {
  content: "";
  position: absolute;
  border-radius: 50%;
}

.summary-orbit::before { width: 39px; height: 39px; background: rgba(78, 128, 255, .23); border: 1px solid rgba(190, 219, 255, .3); }
.summary-orbit::after { width: 13px; height: 13px; background: #a5f5d6; box-shadow: 0 0 13px #a5f5d6; }
.summary-orbit i { width: 5px; height: 5px; right: 3px; top: 13px; background: #e6efff; }

.ops-grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: .65rem;
  margin-top: .65rem;
}

.ops-stat {
  min-height: 126px;
  padding: .86rem;
  border-radius: 13px;
  background: rgba(220, 237, 255, .12);
}

.ops-stat > span { display: block; color: #bfcbec; font-size: .63rem; margin-bottom: .38rem; }
.ops-stat strong { display: block; font-size: .86rem; font-weight: 620; }

.bar-set {
  display: flex;
  align-items: end;
  gap: 4px;
  height: 48px;
  margin-top: .7rem;
}

.bar-set i {
  width: 10px;
  height: var(--bar);
  border-radius: 4px 4px 2px 2px;
  background: linear-gradient(180deg, #9c93ff, #5a79ff);
}

.ops-stat-dark { background: rgba(4, 15, 52, .38); }

.security-lines {
  display: grid;
  gap: .52rem;
  margin-top: .76rem;
}

.security-lines i {
  display: block;
  height: 5px;
  border-radius: 100px;
  background: linear-gradient(90deg, #9df3d7 0 35%, rgba(185, 232, 250, .22) 35% 100%);
}

.security-lines i:nth-child(2) { background: linear-gradient(90deg, #8298ff 0 66%, rgba(185, 232, 250, .22) 66% 100%); }
.security-lines i:nth-child(3) { background: linear-gradient(90deg, #d4a6ff 0 47%, rgba(185, 232, 250, .22) 47% 100%); }

.ops-footer {
  gap: .65rem;
  margin-top: 1rem;
  color: #b7c5e8;
  font-size: .64rem;
}

.avatar-stack { display: flex; margin-left: auto; }
.avatar-stack i { display: block; width: 17px; height: 17px; margin-left: -5px; border: 1.5px solid #334979; border-radius: 50%; background: linear-gradient(135deg, #c3a4ff, #758af7); }
.avatar-stack i:nth-child(2) { background: linear-gradient(135deg, #b8f3dd, #56b1d4); }
.avatar-stack i:nth-child(3) { background: linear-gradient(135deg, #f3baa4, #bd80e7); }
.avatar-stack i:nth-child(4) { background: linear-gradient(135deg, #e3e9ff, #7794df); }
.connected-count { color: #d8e2ff; }

.floating-card {
  position: absolute;
  display: flex;
  align-items: center;
  gap: .66rem;
  padding: .7rem .88rem;
  color: #eff4ff;
  border: 1px solid rgba(220, 235, 255, .24);
  border-radius: 13px;
  background: rgba(23, 47, 111, .64);
  box-shadow: 0 13px 25px rgba(2, 10, 37, .27);
  backdrop-filter: blur(12px);
}

.floating-card small { display: block; margin-bottom: .15rem; color: #bfcdee; font-size: .62rem; }
.floating-card strong { font-size: .73rem; font-weight: 650; }
.floating-card-one { top: 15%; left: 2%; transform: rotate(-4deg); }
.floating-card-two { right: 2%; bottom: 13%; transform: rotate(4deg); }

.mini-icon {
  display: grid;
  place-items: center;
  width: 29px;
  height: 29px;
  border-radius: 9px;
  font-size: .84rem;
}

.mini-icon-shield { color: #0a3150; background: var(--mint); }
.mini-icon-cloud { color: #fff; background: rgba(133, 118, 250, .7); }

.proof-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 1.4rem 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.proof-strip > p { margin: 0; font-size: .8rem; color: #69748b; font-weight: 620; }
.proof-items { display: flex; gap: clamp(1.25rem, 3vw, 3.25rem); color: #253559; font-size: .92rem; font-weight: 710; letter-spacing: -.025em; }

.intro { padding: 9rem 0 5.8rem; }
.section-kicker { color: #4963d2; }

.intro-grid {
  display: grid;
  grid-template-columns: 1.05fr .72fr;
  align-items: end;
  gap: 4rem;
  margin-top: 1.15rem;
}

h2 {
  margin: 0;
  font-size: clamp(2.35rem, 4.2vw, 4.5rem);
  line-height: .98;
  letter-spacing: -.068em;
  font-weight: 720;
}

.intro-grid p, .services-heading > p, .security-copy > p, .approach-sticky > p {
  margin: 0;
  color: var(--ink-muted);
  font-size: 1.03rem;
  line-height: 1.66;
}

.services { padding-bottom: 9rem; }

.services-heading {
  display: grid;
  grid-template-columns: 1.1fr .72fr;
  align-items: end;
  gap: 4rem;
  margin-bottom: 2.5rem;
}

.services-heading h2 { max-width: 670px; margin-top: 1rem; font-size: clamp(2.35rem, 3.8vw, 4rem); }
.services-heading > p { max-width: 360px; padding-bottom: .3rem; }

.service-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

.service-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 315px;
  padding: 1.55rem;
  overflow: hidden;
  border: 1px solid rgba(34, 53, 102, .1);
  border-radius: 18px;
  background: var(--surface);
  box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;
}

.service-card::after {
  content: "";
  position: absolute;
  top: -4rem;
  right: -4rem;
  width: 12rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(95, 122, 255, .10), rgba(95, 122, 255, 0) 68%);
  pointer-events: none;
}

.service-card:hover { transform: translateY(-4px); border-color: rgba(52, 79, 183, .24); box-shadow: var(--shadow); }
.service-card-featured { color: #f7f8ff; background: linear-gradient(142deg, #16275d, #2d4ba1); border-color: rgba(132, 161, 255, .4); box-shadow: 0 20px 45px rgba(33, 58, 136, .14); }
.service-card-featured::after { background: radial-gradient(circle, rgba(169, 244, 230, .25), rgba(169, 244, 230, 0) 69%); }

.service-icon {
  display: grid;
  place-items: center;
  width: 45px;
  height: 45px;
  border-radius: 13px;
}

.service-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.service-icon-blue { color: #dce7ff; background: rgba(208, 225, 255, .16); }
.service-icon-mint { color: #0a505c; background: #baf4de; }
.service-icon-violet { color: #fff; background: #8a78e9; }
.service-icon-coral { color: #a33d3c; background: #ffceca; }

.service-card > div:nth-child(2) { margin-top: auto; padding-top: 2rem; }
.service-index { margin: 0 0 .8rem; color: #637294; }
.service-card-featured .service-index { color: #c7d5ff; }

.service-card h3 {
  max-width: 400px;
  margin: 0;
  font-size: 1.55rem;
  line-height: 1.03;
  letter-spacing: -.045em;
  font-weight: 690;
}

.service-card p:not(.service-index) { max-width: 415px; margin: .8rem 0 0; color: #64718a; font-size: .91rem; line-height: 1.58; }
.service-card-featured p:not(.service-index) { color: #d8e1ff; }

.card-arrow {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(49, 70, 133, .12);
  border-radius: 50%;
  color: #526180;
  background: rgba(255,255,255,.65);
  font-size: 1rem;
}

.service-card-featured .card-arrow { color: #fff; border-color: rgba(214, 229, 255, .22); background: rgba(255,255,255,.12); }

.security-section {
  padding: 8.3rem 0;
  color: #eef3ff;
  background:
    radial-gradient(circle at 83% 22%, rgba(64, 91, 218, .48), transparent 31rem),
    radial-gradient(circle at 17% 90%, rgba(45, 215, 196, .16), transparent 27rem),
    #0c1431;
}

.security-inner {
  display: grid;
  grid-template-columns: .83fr 1.17fr;
  align-items: center;
  gap: 5.5rem;
}

.eyebrow-dark { color: #b8c5ec; }
.eyebrow-dark .eyebrow-dot { background: var(--mint); box-shadow: 0 0 0 4px rgba(168, 241, 219, .11); }
.security-copy h2 { margin: 1.35rem 0 1.4rem; }
.security-copy > p { color: #bbc7e6; }

.inline-link {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  margin-top: 1.65rem;
  color: #bff6e1;
  font-size: .91rem;
  font-weight: 700;
}

.inline-link span { font-size: 1.2rem; }
.inline-link:hover { transform: translateX(3px); color: #fff; }

.security-panel {
  padding: 1.18rem;
  border: 1px solid rgba(196, 215, 255, .2);
  border-radius: 21px;
  background: linear-gradient(145deg, rgba(48, 70, 143, .55), rgba(18, 29, 74, .7));
  box-shadow: inset 0 1px rgba(255,255,255,.09), 0 25px 55px rgba(1, 9, 31, .24);
}

.security-panel-top { color: #becbea; font-size: .75rem; font-weight: 650; }
.panel-chip { padding: .38rem .55rem; color: #a9f3d9; border: 1px solid rgba(169, 243, 217, .25); border-radius: 100px; background: rgba(39, 144, 139, .15); font-size: .64rem; }

.security-principles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .65rem;
  margin-top: 1rem;
}

.security-principles > div {
  min-height: 188px;
  padding: 1rem .95rem;
  border: 1px solid rgba(204, 219, 255, .12);
  border-radius: 14px;
  background: rgba(9, 19, 56, .28);
}

.principle-num { display: block; color: #9bb0e8; font-size: .64rem; font-weight: 700; }
.security-principles h3 { margin: 2.5rem 0 .5rem; color: #f3f6ff; font-size: 1.13rem; letter-spacing: -.035em; }
.security-principles p { margin: 0; color: #b9c5e3; font-size: .76rem; line-height: 1.5; }

.security-path {
  display: grid;
  grid-template-columns: auto 1fr 1fr 1fr auto;
  align-items: center;
  gap: .5rem;
  padding: 1.05rem .2rem .18rem;
}

.security-path > span:not(.path-dot) { height: 1px; background: linear-gradient(90deg, #7b8cff, #a2f0da); opacity: .7; }
.path-dot { width: 8px; height: 8px; border-radius: 50%; background: #a2f0da; box-shadow: 0 0 0 5px rgba(162, 240, 218, .1); }
.path-dot.end { background: #b8c1ff; box-shadow: 0 0 0 5px rgba(184, 193, 255, .1); }

.approach {
  display: grid;
  grid-template-columns: .78fr 1.22fr;
  gap: 7rem;
  padding: 9rem 0;
}

.approach-sticky h2 { margin-top: 1.1rem; font-size: clamp(2.2rem, 3.5vw, 3.55rem); }
.approach-sticky > p { max-width: 390px; margin-top: 1.45rem; }

.approach-list { border-top: 1px solid var(--line); }

.approach-list article {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 1rem;
  padding: 1.85rem 0 2.1rem;
  border-bottom: 1px solid var(--line);
}

.approach-list article > span { color: #6678ca; font-size: .74rem; font-weight: 770; letter-spacing: .06em; }
.approach-list h3 { margin: 0; font-size: 1.45rem; line-height: 1.1; letter-spacing: -.042em; }
.approach-list p { max-width: 490px; margin: .65rem 0 0; color: #68748a; font-size: .95rem; line-height: 1.58; }

.conversation { padding-bottom: 4.2rem; }

.conversation-shell {
  position: relative;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  align-items: center;
  gap: 3rem;
  min-height: 390px;
  padding: clamp(2rem, 5vw, 4.25rem);
  overflow: hidden;
  color: #f5f7ff;
  border-radius: 25px;
  background:
    radial-gradient(circle at 86% 14%, rgba(128, 123, 255, .72), transparent 22rem),
    linear-gradient(133deg, #18296b, #0c1538);
}

.conversation-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(183, 210, 255, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(183, 210, 255, .08) 1px, transparent 1px);
  background-size: 38px 38px;
  mask-image: linear-gradient(90deg, #000, transparent 75%);
}

.conversation-orb {
  position: absolute;
  top: -4.4rem;
  right: 9rem;
  width: 20rem;
  height: 20rem;
  border: 1px solid rgba(208, 233, 255, .33);
  border-radius: 50%;
  box-shadow: inset 0 0 64px rgba(137, 207, 247, .22), 0 0 70px rgba(118, 131, 255, .22);
}

.conversation-orb::before, .conversation-orb::after {
  content: "";
  position: absolute;
  border-radius: 50%;
}

.conversation-orb::before { inset: 2.3rem; border: 1px solid rgba(208, 233, 255, .3); }
.conversation-orb::after { inset: 5.4rem; background: rgba(161, 242, 221, .9); box-shadow: 0 0 50px rgba(161, 242, 221, .55); }

.conversation-copy { position: relative; z-index: 1; max-width: 700px; }
.conversation-kicker { margin: 0 0 1rem; color: #b7c9ff; }
.conversation h2 { font-size: clamp(2.5rem, 4.1vw, 4.5rem); }
.conversation-note { max-width: 34rem; margin: 1.25rem 0 0; color: #c4d0ec; font-size: 1rem; line-height: 1.6; }
.button-light { position: relative; z-index: 1; flex: none; color: #15285f; background: #f8fbff; box-shadow: 0 12px 28px rgba(0,0,0,.18); }
.button-light:hover { transform: translateY(-2px); background: #fff; }

.contact-form {
  position: relative;
  z-index: 1;
  display: grid;
  gap: .9rem;
  padding: 1.25rem;
  color: #142452;
  border: 1px solid rgba(225, 237, 255, .66);
  border-radius: 17px;
  background: rgba(248, 251, 255, .96);
  box-shadow: 0 20px 38px rgba(5, 12, 42, .22);
}

.contact-form-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; font-size: .88rem; font-weight: 760; }
.contact-form-heading a { color: #4962cd; font-size: .875rem; font-weight: 680; }
.contact-form-heading a:hover { color: #1d3cab; text-decoration: underline; }
.contact-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
.contact-form label { display: grid; gap: .38rem; color: #56627e; font-size: .875rem; font-weight: 720; }
.contact-honeypot { display: none; }
.contact-form input, .contact-form textarea {
  width: 100%;
  border: 1px solid #d7e0f1;
  border-radius: 9px;
  outline: none;
  color: #17254d;
  background: #fff;
  font: inherit;
  font-size: 1rem;
  line-height: 1.35;
  padding: .67rem .72rem;
  resize: vertical;
}
.contact-form input:focus, .contact-form textarea:focus { border-color: #5d72e2; box-shadow: 0 0 0 3px rgba(93, 114, 226, .14); }
.contact-submit { width: 100%; min-height: 44px; border: 0; cursor: pointer; font-family: inherit; }
.contact-submit:disabled { opacity: .7; cursor: wait; }
.form-note { margin: 0; color: #56627e; font-size: .875rem; line-height: 1.5; }
.form-note a { color: #3854ba; text-decoration: underline; text-underline-offset: 2px; }
.contact-success { min-height: calc(100svh - 86px); display: grid; align-content: center; padding-block: 5rem; }
.contact-success h1 { max-width: 800px; margin: 1.25rem 0; font-size: clamp(3rem, 7vw, 5.5rem); line-height: 1; letter-spacing: -.06em; }
.contact-success p { max-width: 620px; color: var(--ink-muted); font-size: 1.1rem; line-height: 1.65; }
.contact-success .button { justify-self: start; margin-top: 1rem; }
@media (min-width: 701px) and (max-width: 1050px) { .conversation-shell { grid-template-columns: 1fr; } }
@media (max-width: 460px) { .contact-field-grid { grid-template-columns: 1fr; } .contact-form-heading { flex-direction: column; align-items: start; gap: .4rem; } }

.site-footer {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 1.5rem;
  padding: 1.8rem 0 2.5rem;
  color: #748097;
  border-top: 1px solid var(--line);
  font-size: .78rem;
}

.brand-footer { font-size: 1rem; color: var(--ink); }
.brand-footer .brand-mark { width: 27px; height: 27px; border-radius: 8px; }
.brand-footer .brand-mark svg { width: 21px; height: 21px; }
.site-footer p { margin: 0; }

@media (max-width: 980px) {
  .hero { grid-template-columns: 1fr; gap: 3rem; padding-top: 3rem; }
  .hero-copy { max-width: 720px; }
  .hero h1 { max-width: 710px; font-size: clamp(3.55rem, 9vw, 5.9rem); }
  .hero-visual { min-height: 520px; max-width: 730px; width: 100%; }
  .intro-grid, .services-heading, .security-inner, .approach { grid-template-columns: 1fr; gap: 2rem; }
  .services-heading > p { max-width: 470px; }
  .security-inner { gap: 3rem; }
  .approach { gap: 3rem; }
  .approach-sticky > p { max-width: 580px; }
}

@media (max-width: 700px) {
  .section-shell, .site-header { width: min(100% - 32px, 1180px); }
  .site-header { height: 72px; }
  .site-nav { display: none; }
  .header-link { font-size: .82rem; }
  .hero { padding: 2.8rem 0 4.25rem; }
  .hero h1 { margin-top: 1.15rem; font-size: clamp(3rem, 14vw, 4.25rem); }
  .hero-lede { font-size: 1rem; }
  .hero-visual { min-height: 450px; border-radius: 22px; }
  .operations-card { width: 84%; transform: translate(-50%, -47%) rotate(-1deg); }
  .floating-card-one { top: 8%; left: -2%; }
  .floating-card-two { right: -1%; bottom: 8%; }
  .proof-strip { display: block; padding: 1.3rem 0; }
  .proof-items { flex-wrap: wrap; margin-top: .9rem; gap: .65rem 1.45rem; font-size: .84rem; }
  .intro { padding: 6.4rem 0 4rem; }
  .services { padding-bottom: 6.5rem; }
  .service-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 285px; }
  .security-section { padding: 6rem 0; }
  .security-principles { grid-template-columns: 1fr; }
  .security-principles > div { min-height: auto; }
  .security-principles h3 { margin-top: 1.2rem; }
  .security-path { display: none; }
  .approach { padding: 6.5rem 0; }
  .conversation-shell { display: block; min-height: 390px; padding-top: 2.7rem; }
  .conversation-orb { top: auto; right: -4rem; bottom: -8rem; width: 17rem; height: 17rem; }
  .contact-form { margin-top: 2rem; }
  .site-footer { grid-template-columns: 1fr; gap: .9rem; }
}

@media (max-width: 390px) {
  .header-link svg { display: none; }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .button-primary { width: 100%; }
  .hero-visual { min-height: 410px; }
  .operations-card { width: 88%; padding: .8rem; }
  .ops-summary { min-height: 105px; padding: .75rem; }
  .summary-title { font-size: 1.02rem; }
  .summary-orbit { width: 58px; height: 58px; }
  .ops-stat { min-height: 116px; padding: .7rem; }
  .floating-card { padding: .55rem .65rem; }
  .floating-card strong { font-size: .65rem; }
}

@media (prefers-reduced-motion: no-preference) {
  .hero-art { animation: art-drift 15s ease-in-out infinite alternate; }
  .summary-orbit { animation: orbit-turn 14s linear infinite; }
  .floating-card-one { animation: bob-a 5.5s ease-in-out infinite alternate; }
  .floating-card-two { animation: bob-b 6s ease-in-out .6s infinite alternate; }
}

@keyframes art-drift {
  from { transform: scale(1.02) translate3d(-.6%, -.5%, 0); }
  to { transform: scale(1.08) translate3d(.6%, .7%, 0); }
}

@keyframes orbit-turn { to { transform: rotate(360deg); } }
@keyframes bob-a { to { margin-top: 9px; } }
@keyframes bob-b { to { margin-bottom: 10px; } }
