:root {
  --navy: #07111f;
  --navy-2: #0c192b;
  --navy-3: #13233a;
  --paper: #f4f6f9;
  --white: #ffffff;
  --ink: #0b1627;
  --muted: #5a6678;
  --line: #d9dee7;
  --line-dark: rgba(255,255,255,.13);
  --blue: #5577ff;
  --blue-dark: #3b5ce8;
  --cyan: #51ddd2;
  --lime: #d8ff78;
  --orange: #ff8c61;
  --red: #ff6b74;
  --sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --header: 76px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: var(--header); }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
h1, h2, h3, p { margin: 0; }
.shell { width: min(1240px, calc(100% - 64px)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 9999; top: 8px; left: 8px; padding: 10px 14px; color: var(--white); background: var(--blue); transform: translateY(-150%); }
.skip-link:focus { transform: none; }

/* Header */
.site-header { position: fixed; inset: 0 0 auto; z-index: 100; height: var(--header); color: var(--white); border-bottom: 1px solid transparent; transition: background-color .25s ease, border-color .25s ease; }
.site-header.scrolled, .site-header.open { background: rgba(7,17,31,.9); border-color: var(--line-dark); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.brand { display: inline-flex; align-items: center; gap: .8rem; font-size: 1.12rem; font-weight: 800; letter-spacing: -.04em; }
.brand > span:last-child > span { color: var(--cyan); }
.brand-mark { width: 27px; height: 27px; position: relative; display: inline-block; }
.brand-mark i { position: absolute; display: block; width: 7px; border: 2px solid currentColor; border-radius: 2px; transform: skewY(-30deg); }
.brand-mark i:nth-child(1) { left: 1px; top: 9px; height: 14px; }
.brand-mark i:nth-child(2) { left: 10px; top: 4px; height: 19px; color: var(--blue); }
.brand-mark i:nth-child(3) { left: 19px; top: 1px; height: 22px; color: var(--cyan); }
.desktop-nav { display: flex; align-items: center; gap: 2rem; margin-left: auto; }
.desktop-nav a, .login-link { font-size: .75rem; font-weight: 600; color: #aeb9ca; transition: color .18s ease; }
.desktop-nav a:hover, .login-link:hover { color: var(--white); }
.header-actions { display: flex; align-items: center; gap: 1.2rem; }
.button { min-height: 54px; padding: 0 1.35rem; display: inline-flex; align-items: center; justify-content: center; gap: 2rem; color: var(--white); background: var(--blue); border: 1px solid var(--blue); border-radius: 0; font-size: .84rem; font-weight: 700; cursor: pointer; transition: transform .18s ease, background-color .18s ease, border-color .18s ease; }
.button:hover { transform: translateY(-2px); background: var(--blue-dark); border-color: var(--blue-dark); }
.button span { font-size: 1rem; }
.button-small { min-height: 42px; padding-inline: 1rem; gap: 1.2rem; font-size: .72rem; }
.menu-toggle { width: 42px; height: 42px; padding: 0; display: none; place-items: center; border: 1px solid var(--line-dark); background: transparent; cursor: pointer; position: relative; }
.menu-toggle span { position: absolute; width: 18px; height: 1px; background: currentColor; transition: transform .22s ease; }
.menu-toggle span:first-child { transform: translateY(-4px); }
.menu-toggle span:last-child { transform: translateY(4px); }
.site-header.open .menu-toggle span:first-child { transform: rotate(45deg); }
.site-header.open .menu-toggle span:last-child { transform: rotate(-45deg); }
.mobile-nav { display: none; }

/* Hero */
.hero { min-height: 100svh; padding: calc(var(--header) + 74px) 0 0; position: relative; color: var(--white); background: var(--navy); overflow: hidden; }
.hero-grid { position: absolute; inset: 0; opacity: .36; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px); background-size: 54px 54px; -webkit-mask-image: linear-gradient(90deg, #000 0%, transparent 55%); mask-image: linear-gradient(90deg, #000 0%, transparent 55%); }
.hero::after { content: ''; position: absolute; top: -280px; left: 38%; width: 720px; height: 720px; border-radius: 50%; background: radial-gradient(circle, rgba(85,119,255,.22), transparent 68%); pointer-events: none; }
.hero-layout { min-height: calc(100svh - var(--header) - 74px); display: grid; grid-template-columns: minmax(0, .82fr) minmax(510px, 1.18fr); gap: clamp(3rem, 7vw, 8rem); align-items: center; position: relative; z-index: 1; }
.hero-copy { padding: 2rem 0 5rem; }
.status-pill { width: fit-content; padding: .55rem .8rem; display: flex; align-items: center; gap: .65rem; border: 1px solid var(--line-dark); color: #bac5d6; font-family: var(--mono); font-size: .61rem; letter-spacing: .09em; text-transform: uppercase; }
.status-pill span { width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 4px rgba(216,255,120,.1); }
.hero h1 { max-width: 720px; margin-top: 2.3rem; font-size: clamp(3.5rem, 6.2vw, 6.7rem); font-weight: 650; line-height: .91; letter-spacing: -.067em; }
.hero h1 em { color: var(--cyan); font-style: normal; }
.hero-lead { max-width: 650px; margin-top: 2.2rem; color: #aeb9ca; font-size: clamp(1.05rem, 1.55vw, 1.28rem); line-height: 1.65; letter-spacing: -.018em; }
.hero-actions { margin-top: 2.1rem; display: flex; align-items: center; gap: 1.8rem; }
.text-link { width: fit-content; display: inline-flex; align-items: center; gap: .8rem; padding-bottom: .35rem; border-bottom: 1px solid currentColor; font-size: .82rem; font-weight: 700; transition: color .18s ease, gap .18s ease; }
.text-link:hover { color: var(--blue); gap: 1.1rem; }
.hero .text-link:hover { color: var(--cyan); }
.hero-facts { margin-top: 3.5rem; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line-dark); }
.hero-facts div { min-height: 70px; display: flex; flex-direction: column; justify-content: center; gap: .35rem; }
.hero-facts div + div { padding-left: 1rem; border-left: 1px solid var(--line-dark); }
.hero-facts strong { font-family: var(--mono); font-size: .58rem; color: #697b93; }
.hero-facts span { color: #c6cfdd; font-size: .68rem; line-height: 1.35; }

/* App mock */
.product-stage { min-width: 740px; position: relative; transform: translateX(1rem); }
.stage-label, .stage-footer { display: flex; justify-content: space-between; gap: 1rem; color: #697b93; font-family: var(--mono); font-size: .55rem; letter-spacing: .1em; text-transform: uppercase; }
.stage-label { margin-bottom: .75rem; }
.stage-footer { margin-top: .75rem; justify-content: flex-start; gap: 2.4rem; }
.app-window { overflow: hidden; border: 1px solid rgba(255,255,255,.15); background: #0b1525; box-shadow: 0 35px 90px rgba(0,0,0,.38); }
.app-topbar { height: 54px; padding: 0 1rem; display: flex; align-items: center; gap: 1.1rem; background: #101d30; border-bottom: 1px solid rgba(255,255,255,.08); font-size: .62rem; }
.app-logo { display: flex; align-items: center; gap: .45rem; font-weight: 700; }
.app-logo b { width: 9px; height: 13px; border: 2px solid var(--cyan); transform: skewY(-25deg); }
.app-search { width: 230px; margin-left: auto; padding: .55rem .8rem; color: #63758e; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.025); }
.app-user { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: var(--navy); background: var(--lime); font-family: var(--mono); font-size: .55rem; font-weight: 700; }
.app-body { min-height: 520px; display: grid; grid-template-columns: 126px 1fr; }
.app-sidebar { padding: 1.4rem .7rem; display: flex; flex-direction: column; gap: .45rem; color: #70809a; border-right: 1px solid rgba(255,255,255,.07); font-size: .58rem; }
.app-sidebar span { padding: .65rem .7rem; }
.app-sidebar .active { color: var(--white); background: rgba(85,119,255,.16); border-left: 2px solid var(--blue); }
.app-main { padding: 1.6rem; }
.app-heading { display: flex; align-items: flex-end; justify-content: space-between; }
.app-heading div { display: flex; flex-direction: column; gap: .2rem; }
.app-heading small { color: #65758d; font-size: .54rem; }
.app-heading strong { font-size: 1.1rem; letter-spacing: -.03em; }
.app-heading button { padding: .55rem .75rem; border: 0; color: var(--white); background: var(--blue); font-size: .55rem; pointer-events: none; }
.signal-row { margin-top: 1.3rem; display: grid; grid-template-columns: repeat(3, 1fr); gap: .65rem; }
.signal-row article { padding: .9rem; display: grid; grid-template-columns: auto 1fr; gap: .25rem .5rem; align-items: center; border: 1px solid rgba(255,255,255,.075); background: rgba(255,255,255,.025); }
.signal-row i { width: 6px; height: 6px; border-radius: 50%; grid-row: 1 / 3; }
.signal-red { background: var(--red); }.signal-yellow { background: var(--orange); }.signal-green { background: var(--cyan); }
.signal-row span { color: #71819a; font-size: .5rem; }
.signal-row strong { font-size: .65rem; }
.work-grid { margin-top: .65rem; display: grid; grid-template-columns: 1fr .9fr; gap: .65rem; }
.pipeline-card, .ai-card { min-height: 300px; padding: 1rem; border: 1px solid rgba(255,255,255,.075); background: rgba(255,255,255,.025); }
.card-title { display: flex; justify-content: space-between; color: #d5dce7; font-size: .58rem; }
.card-title small { color: #65758d; }
.pipeline-bars { margin-top: 1.35rem; display: flex; flex-direction: column; gap: 1.15rem; }
.pipeline-bars > span { position: relative; display: grid; grid-template-columns: 1fr auto; gap: .4rem; color: #8b99ae; font-size: .53rem; }
.pipeline-bars i { height: 5px; width: var(--w); position: absolute; left: 0; bottom: -.45rem; background: linear-gradient(90deg, var(--blue), var(--cyan)); }
.pipeline-bars > span::after { content: ''; height: 5px; position: absolute; left: 0; right: 0; bottom: -.45rem; z-index: -1; background: rgba(255,255,255,.05); }
.pipeline-bars b { font-weight: 500; }.pipeline-bars em { font-style: normal; color: #d4dce7; }
.ai-item { margin-top: .85rem; padding: .8rem; display: flex; flex-direction: column; gap: .3rem; border-left: 2px solid var(--cyan); background: rgba(81,221,210,.055); }
.ai-item b { font-size: .57rem; }.ai-item span { color: #72829b; font-size: .49rem; }

/* Context */
.context-band { color: var(--white); background: #0b1728; border-top: 1px solid var(--line-dark); }
.context-grid { min-height: 100px; display: grid; grid-template-columns: .7fr 1.3fr; align-items: center; gap: 3rem; }
.context-grid p { font-size: .92rem; font-weight: 600; }
.context-grid > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .6rem; }
.context-grid span { padding: .55rem .75rem; color: #9facbf; border: 1px solid var(--line-dark); font-family: var(--mono); font-size: .57rem; text-transform: uppercase; }

/* Shared sections */
.section { padding: clamp(6rem, 10vw, 10rem) 0; }
.eyebrow { display: flex; align-items: center; gap: .8rem; color: var(--blue-dark); font-family: var(--mono); font-size: .64rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.eyebrow::before { content: ''; width: 28px; height: 1px; background: currentColor; }
.eyebrow-light { color: var(--cyan); }
.section-head h2, .capabilities-intro h2, .security h2, .faq h2, .contact h2 { font-size: clamp(3rem, 5.2vw, 5.4rem); line-height: .95; letter-spacing: -.06em; font-weight: 650; }
.split-head { display: grid; grid-template-columns: .55fr 1.15fr .7fr; gap: clamp(2rem, 5vw, 5rem); align-items: end; }
.split-head h2 span { color: #8994a4; }
.split-head > p:last-child { color: var(--muted); font-size: .98rem; line-height: 1.7; }

/* Friction */
.friction { background: var(--paper); }
.friction-list { margin-top: clamp(4rem, 8vw, 7rem); border-top: 1px solid var(--line); }
.friction-list article { min-height: 190px; padding: 2.4rem 0; display: grid; grid-template-columns: .25fr .75fr 1fr; gap: clamp(1.5rem, 4vw, 4rem); border-bottom: 1px solid var(--line); }
.friction-list article > span { font-family: var(--mono); font-size: .62rem; color: #8c97a6; }
.friction-list h3 { max-width: 330px; font-size: clamp(1.5rem, 2.4vw, 2.3rem); line-height: 1.06; letter-spacing: -.04em; font-weight: 600; }
.friction-list p { max-width: 560px; color: var(--muted); line-height: 1.7; }

/* Workflow */
.workflow { color: var(--white); background: var(--navy); }
.workflow-head { max-width: 890px; }
.workflow-head h2 { margin-top: 2rem; }
.workflow-head > p:last-child { max-width: 600px; margin-top: 1.7rem; color: #9dacbf; font-size: 1rem; line-height: 1.7; }
.workflow-steps { margin-top: 4.5rem; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.workflow-steps article { min-height: 520px; padding: 2rem; display: flex; flex-direction: column; border: 1px solid var(--line-dark); background: #0c192b; }
.step-top { display: flex; justify-content: space-between; color: #6e8199; font-family: var(--mono); font-size: .6rem; text-transform: uppercase; letter-spacing: .1em; }
.step-top span { color: var(--cyan); }
.workflow-steps h3 { margin-top: 3.5rem; font-size: 1.7rem; letter-spacing: -.04em; }
.workflow-steps article > p { margin-top: 1rem; color: #9dacbf; font-size: .88rem; line-height: 1.7; }
.mail-sample, .analysis-sample, .confirm-sample { margin-top: auto; padding: 1rem; border: 1px solid rgba(255,255,255,.09); background: rgba(255,255,255,.025); }
.mail-sample { display: flex; flex-direction: column; gap: .45rem; }
.mail-sample small { color: #6f8198; font-family: var(--mono); font-size: .52rem; }
.mail-sample strong { font-size: .72rem; }.mail-sample span { color: var(--cyan); font-family: var(--mono); font-size: .57rem; }
.analysis-sample { display: flex; flex-direction: column; gap: .7rem; }
.analysis-sample span { display: flex; justify-content: space-between; gap: 1rem; }
.analysis-sample small { color: #6f8198; font-size: .55rem; }.analysis-sample b { font-family: var(--mono); font-size: .55rem; font-weight: 500; }
.confirm-sample { display: flex; align-items: center; justify-content: space-between; gap: 1rem; font-size: .62rem; }
.confirm-sample button { padding: .55rem .7rem; border: 0; color: var(--navy); background: var(--lime); font-size: .55rem; pointer-events: none; }

/* Capabilities */
.capabilities { background: #e9edf3; }
.capabilities-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(4rem, 9vw, 9rem); align-items: start; }
.capabilities-intro { position: sticky; top: calc(var(--header) + 3rem); }
.capabilities-intro h2 { margin-top: 2rem; }
.capabilities-intro > p:not(.eyebrow) { max-width: 500px; margin-top: 1.7rem; color: var(--muted); line-height: 1.7; }
.capabilities-intro .text-link { margin-top: 2rem; }
.capability-groups { border-top: 1px solid #cbd2dc; }
.capability-groups article { min-height: 310px; padding: 2.2rem 0; display: grid; grid-template-columns: 66px 1fr; gap: 1.5rem; border-bottom: 1px solid #cbd2dc; }
.cap-icon { width: 48px; height: 48px; display: grid; place-items: center; color: var(--white); background: var(--blue); font-family: var(--mono); font-size: .74rem; }
.capability-groups small { color: var(--blue-dark); font-family: var(--mono); font-size: .6rem; letter-spacing: .1em; text-transform: uppercase; }
.capability-groups h3 { margin-top: .7rem; font-size: clamp(1.5rem, 2.2vw, 2.15rem); letter-spacing: -.045em; }
.capability-groups p { max-width: 600px; margin-top: .8rem; color: var(--muted); line-height: 1.7; }
.capability-groups ul { margin: 1.5rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: .6rem 1rem; list-style: none; }
.capability-groups li { padding-top: .6rem; border-top: 1px solid #cbd2dc; color: #475468; font-size: .77rem; }

/* Security */
.security { position: relative; color: var(--white); background: #0b1728; overflow: hidden; }
.security-orbit { position: absolute; width: 720px; height: 720px; left: -320px; top: -180px; border: 1px solid rgba(81,221,210,.16); border-radius: 50%; }
.security-orbit::before, .security-orbit::after { content: ''; position: absolute; inset: 90px; border: 1px solid rgba(81,221,210,.1); border-radius: 50%; }
.security-orbit::after { inset: 210px; }
.security-layout { position: relative; display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(4rem, 9vw, 9rem); }
.security h2 { margin-top: 2rem; }
.security-lead { max-width: 570px; margin-top: 1.8rem; color: #9dacbf; line-height: 1.7; }
.security-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line-dark); border-left: 1px solid var(--line-dark); }
.security-grid article { min-height: 230px; padding: 1.6rem; border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.security-grid article > span { font-family: var(--mono); font-size: .63rem; color: var(--cyan); }
.security-grid h3 { margin-top: 3rem; font-size: 1.05rem; }
.security-grid p { margin-top: .7rem; color: #8fa0b7; font-size: .8rem; line-height: 1.65; }

/* Pilot */
.pilot { background: var(--white); }
.pilot-steps { margin: 5rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.pilot-steps li { min-height: 270px; padding: 1.6rem; display: flex; flex-direction: column; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.pilot-steps > li > span { color: var(--blue-dark); font-family: var(--mono); font-size: .62rem; }
.pilot-steps li div { margin-top: auto; }
.pilot-steps h3 { font-size: 1.15rem; letter-spacing: -.03em; }
.pilot-steps p { margin-top: .75rem; color: var(--muted); font-size: .8rem; line-height: 1.65; }
.pilot-note { margin-top: 1rem; padding: 1.5rem; display: grid; grid-template-columns: 1fr 1fr auto; gap: 2rem; align-items: center; color: var(--white); background: var(--navy); }
.pilot-note div { display: flex; flex-direction: column; gap: .4rem; }
.pilot-note small { color: #71839b; font-family: var(--mono); font-size: .56rem; text-transform: uppercase; }
.pilot-note strong { font-size: .75rem; font-weight: 600; }
.button-light { color: var(--navy); background: var(--lime); border-color: var(--lime); }
.button-light:hover { background: var(--cyan); border-color: var(--cyan); }

/* FAQ */
.faq { background: var(--paper); }
.faq-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(4rem, 9vw, 9rem); }
.faq h2 { margin-top: 2rem; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; cursor: pointer; list-style: none; font-size: .95rem; font-weight: 650; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { color: var(--blue-dark); font-family: var(--mono); font-size: 1.1rem; transition: transform .2s ease; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details p { max-width: 720px; padding: 0 3rem 1.5rem 0; color: var(--muted); font-size: .9rem; line-height: 1.75; }

/* Contact */
.contact { padding: clamp(6rem, 10vw, 10rem) 0; color: var(--white); background: var(--blue); }
.contact-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(4rem, 9vw, 9rem); align-items: start; }
.contact h2 { margin-top: 2rem; }
.contact-copy > p:not(.eyebrow) { max-width: 600px; margin-top: 1.7rem; color: #dbe2ff; line-height: 1.7; }
.contact-direct { margin-top: 3rem; display: flex; flex-direction: column; gap: .5rem; }
.contact-direct small { color: #ccd7ff; font-family: var(--mono); font-size: .58rem; text-transform: uppercase; letter-spacing: .1em; }
.contact-direct a { width: fit-content; padding-bottom: .2rem; border-bottom: 1px solid currentColor; font-size: 1.05rem; font-weight: 700; }
.contact-form { padding: clamp(1.5rem, 3vw, 2.5rem); color: var(--ink); background: var(--white); }
.form-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.contact-form label { margin-bottom: 1rem; display: flex; flex-direction: column; gap: .55rem; color: #354258; font-size: .66rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.contact-form input, .contact-form textarea, .contact-form select { width: 100%; border: 1px solid var(--line); border-radius: 0; padding: .85rem .9rem; color: var(--ink); background: #f7f8fa; outline: none; font-size: .84rem; font-weight: 500; text-transform: none; letter-spacing: 0; transition: border-color .18s ease, box-shadow .18s ease; }
.contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(85,119,255,.12); }
.contact-form textarea { resize: vertical; min-height: 120px; }
.contact-form .button { width: 100%; margin-top: .25rem; }
.honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
.form-message { display: none; margin-top: 1rem; padding: .8rem; font-size: .78rem; line-height: 1.5; }
.form-message.success { display: block; color: #0b6641; background: #e4f8ee; border: 1px solid #bcebd3; }
.form-message.error { display: block; color: #9d2631; background: #ffebed; border: 1px solid #ffc8cd; }
.form-note { margin-top: 1rem !important; color: #778395; font-size: .68rem; line-height: 1.6; }
.form-note a { text-decoration: underline; }

/* Footer */
.site-footer { padding: 5rem 0 1.5rem; color: var(--white); background: var(--navy); }
.footer-top { display: grid; grid-template-columns: 1.5fr repeat(3, .5fr); gap: 4rem; }
.brand-footer { margin-bottom: 1.2rem; }
.footer-top > div:first-child > p { max-width: 330px; color: #7e8fa7; font-size: .8rem; line-height: 1.65; }
.footer-top > div:not(:first-child) { display: flex; flex-direction: column; gap: .8rem; }
.footer-top small { margin-bottom: .35rem; color: #60738e; font-family: var(--mono); font-size: .56rem; text-transform: uppercase; letter-spacing: .1em; }
.footer-top > div:not(:first-child) a { color: #aab6c8; font-size: .72rem; transition: color .18s ease; }
.footer-top > div:not(:first-child) a:hover { color: var(--cyan); }
.footer-bottom { margin-top: 4rem; padding-top: 1.2rem; display: flex; justify-content: space-between; border-top: 1px solid var(--line-dark); color: #60738e; font-family: var(--mono); font-size: .55rem; text-transform: uppercase; letter-spacing: .08em; }

@media (max-width: 1180px) {
  .desktop-nav { display: none; }
  .login-link { margin-left: auto; }
  .hero-layout { grid-template-columns: .85fr 1.15fr; gap: 3rem; }
  .product-stage { min-width: 650px; transform: none; }
  .app-body { grid-template-columns: 110px 1fr; }
  .split-head { grid-template-columns: .45fr 1.55fr; }
  .split-head > p:last-child { grid-column: 2; }
}

@media (max-width: 920px) {
  :root { --header: 66px; }
  .shell { width: min(100% - 40px, 1240px); }
  .login-link, .header-actions .button-small { display: none; }
  .menu-toggle { display: grid; }
  .mobile-nav { position: fixed; inset: var(--header) 0 auto; padding: 1rem 20px 1.4rem; display: flex; flex-direction: column; color: var(--white); background: rgba(7,17,31,.98); border-bottom: 1px solid var(--line-dark); transform: translateY(-120%); visibility: hidden; transition: transform .25s ease, visibility .25s; }
  .site-header.open .mobile-nav { transform: none; visibility: visible; }
  .mobile-nav a { padding: 1rem 0; border-bottom: 1px solid var(--line-dark); font-size: .9rem; }
  .mobile-nav a:last-child { color: var(--cyan); border-bottom: 0; }
  .hero { padding-top: calc(var(--header) + 60px); }
  .hero-layout { display: flex; flex-direction: column; align-items: stretch; }
  .hero-copy { padding: 1rem 0 0; }
  .product-stage { width: 100%; min-width: 0; margin-bottom: 5rem; transform: none; }
  .context-grid { grid-template-columns: 1fr; padding-block: 1.5rem; gap: 1.2rem; }
  .context-grid > div { justify-content: flex-start; }
  .capabilities-layout, .security-layout, .faq-layout, .contact-layout { grid-template-columns: 1fr; }
  .capabilities-intro { position: static; }
  .workflow-steps { grid-template-columns: 1fr; }
  .workflow-steps article { min-height: 430px; }
  .pilot-steps { grid-template-columns: repeat(2, 1fr); }
  .pilot-note { grid-template-columns: 1fr 1fr; }
  .pilot-note .button { grid-column: 1 / -1; }
  .footer-top { grid-template-columns: 1.3fr repeat(3, .7fr); gap: 2rem; }
}

@media (max-width: 620px) {
  .shell { width: min(100% - 32px, 1240px); }
  .section { padding: 5.5rem 0; }
  .hero { min-height: auto; }
  .hero h1 { font-size: clamp(3.25rem, 15vw, 5rem); }
  .hero-lead { font-size: 1rem; }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .hero-facts { grid-template-columns: 1fr; }
  .hero-facts div { min-height: 55px; }
  .hero-facts div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--line-dark); }
  .product-stage { width: 100%; min-width: 0; transform: none; }
  .app-search, .app-sidebar, .ai-card { display: none; }
  .app-body { min-height: 380px; grid-template-columns: 1fr; }
  .app-main { padding: .8rem; }
  .app-heading button { padding: .45rem .55rem; }
  .signal-row { gap: .35rem; }
  .signal-row article { padding: .55rem; display: flex; flex-direction: column; align-items: flex-start; gap: .25rem; }
  .signal-row i { width: 5px; height: 5px; }
  .signal-row span { font-size: .43rem; }
  .signal-row strong { font-size: .52rem; }
  .work-grid { grid-template-columns: 1fr; }
  .pipeline-card { min-height: 230px; }
  .stage-label span:last-child { display: none; }
  .stage-footer { gap: 1.2rem; }
  .context-grid > div { gap: .4rem; }
  .context-grid span { padding: .45rem .55rem; font-size: .5rem; }
  .section-head h2, .capabilities-intro h2, .security h2, .faq h2, .contact h2 { font-size: clamp(2.8rem, 13vw, 4.2rem); }
  .split-head { grid-template-columns: 1fr; gap: 1.6rem; }
  .split-head > p:last-child { grid-column: auto; }
  .friction-list { margin-top: 3.5rem; }
  .friction-list article { grid-template-columns: 3rem 1fr; gap: 1rem; }
  .friction-list h3, .friction-list p { grid-column: 2; }
  .workflow-steps article { min-height: 460px; padding: 1.5rem; }
  .capability-groups article { grid-template-columns: 48px 1fr; gap: 1rem; }
  .cap-icon { width: 40px; height: 40px; }
  .capability-groups ul { grid-template-columns: 1fr; }
  .security-grid { grid-template-columns: 1fr; }
  .security-grid article { min-height: 190px; }
  .security-grid h3 { margin-top: 2rem; }
  .pilot-steps { grid-template-columns: 1fr; }
  .pilot-steps li { min-height: 220px; }
  .pilot-note { grid-template-columns: 1fr; }
  .pilot-note .button { grid-column: auto; }
  .faq-list summary { font-size: .85rem; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .contact-form { padding: 1.25rem; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .footer-top > div:first-child { grid-column: 1 / -1; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: .7rem; }
}

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

::selection { color: var(--navy); background: var(--cyan); }
