:root {
  --ink: #0b1625;
  --muted: #5e6b78;
  --paper: #f3f1ea;
  --white: #ffffff;
  --blue: #1669e8;
  --blue-dark: #0e4da9;
  --line: #cbd1d7;
  --lime: #d9f99d;
  --font-sans: Inter, "Helvetica Neue", Arial, sans-serif;
  --font-serif: Georgia, "Times New Roman", serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
img { display: block; max-width: 100%; }
button, input, textarea { font: inherit; }

.skip-link {
  position: fixed;
  left: 12px;
  top: -80px;
  z-index: 100;
  background: var(--ink);
  color: #fff;
  padding: 12px 16px;
}
.skip-link:focus { top: 12px; }

.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  min-height: 72px;
  padding: 0 4vw;
  border-bottom: 1px solid var(--line);
  background: rgba(243, 241, 234, .94);
  backdrop-filter: blur(14px);
}
.brand { display: inline-flex; align-items: center; text-decoration: none; width: max-content; }
.brand img { width: 190px; height: auto; }
.nav { display: flex; gap: 28px; align-items: center; }
.nav a { font-size: 13px; font-weight: 700; text-decoration: none; }
.nav a:hover { text-decoration: underline; text-underline-offset: 5px; }
.nav-cta { justify-self: end; }
.menu-button { display: none; border: 0; background: transparent; padding: 10px; }

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 20px;
  border: 1px solid var(--ink);
  border-radius: 0;
  background: var(--ink);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}
.button:hover { background: var(--blue); border-color: var(--blue); }
.button:active { transform: translateY(1px); }
.button.light { background: transparent; color: var(--ink); }
.button.light:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
.button.white { background: #fff; color: var(--ink); border-color: #fff; }
.button.white:hover { background: var(--lime); border-color: var(--lime); }

.eyebrow {
  margin: 0 0 22px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
  min-height: calc(100vh - 72px);
  border-bottom: 1px solid var(--line);
}
.hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(64px, 8vw, 130px) 6vw 80px 5vw;
}
.hero h1 {
  max-width: 800px;
  margin: 0;
  font-family: var(--font-serif);
  font-size: clamp(58px, 7.8vw, 126px);
  font-weight: 400;
  line-height: .88;
  letter-spacing: -.065em;
}
.hero h1 em { color: var(--blue); font-style: italic; }
.lead {
  max-width: 610px;
  margin: 36px 0 0;
  font-size: clamp(18px, 1.55vw, 24px);
  line-height: 1.5;
  color: #334155;
}
.hero-actions { display: flex; gap: 12px; margin-top: 38px; flex-wrap: wrap; }
.hero-note { margin-top: 18px; font-size: 12px; color: var(--muted); }

.hero-visual {
  position: relative;
  min-height: 620px;
  overflow: hidden;
  background: var(--blue);
}
.hero-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255,255,255,.14) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.14) 1px, transparent 1px);
  background-size: 72px 72px;
}
.signature-sheet {
  position: absolute;
  left: 10%;
  right: 8%;
  top: 13%;
  min-height: 70%;
  padding: 46px;
  background: #fff;
  box-shadow: 20px 24px 0 rgba(7, 24, 48, .95);
  transform: rotate(-2deg);
}
.sheet-kicker { font-size: 11px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; color: var(--blue); }
.sheet-title { width: 78%; margin: 24px 0 32px; font-family: var(--font-serif); font-size: clamp(28px, 3vw, 50px); line-height: 1; }
.text-line { height: 5px; margin: 11px 0; background: #dfe4e8; }
.text-line.short { width: 63%; }
.sign-box { margin-top: 48px; border: 2px solid var(--blue); padding: 22px; }
.sign-label { font-size: 10px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.sign-mark { margin-top: 13px; font-family: "Segoe Script", cursive; font-size: clamp(28px, 3vw, 48px); color: var(--blue); }
.verified-stamp {
  position: absolute;
  right: -18px;
  bottom: 60px;
  display: grid;
  place-items: center;
  width: 116px;
  height: 116px;
  border: 3px solid var(--ink);
  border-radius: 50%;
  background: var(--lime);
  font-size: 11px;
  font-weight: 900;
  line-height: 1.25;
  text-align: center;
  text-transform: uppercase;
  transform: rotate(8deg);
}

.fact-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid var(--line);
}
.fact { padding: 30px 4vw; border-right: 1px solid var(--line); }
.fact:last-child { border-right: 0; }
.fact b { display: block; font-family: var(--font-serif); font-size: 20px; font-weight: 400; }
.fact span { display: block; margin-top: 6px; font-size: 12px; color: var(--muted); }

.section { padding: clamp(78px, 10vw, 150px) 5vw; border-bottom: 1px solid var(--line); }
.section-head { display: grid; grid-template-columns: .65fr 1.35fr; gap: 6vw; margin-bottom: 70px; }
.section h2 {
  max-width: 920px;
  margin: 0;
  font-family: var(--font-serif);
  font-size: clamp(44px, 5.6vw, 86px);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.045em;
}
.section-intro { max-width: 620px; margin: 20px 0 0; font-size: 18px; line-height: 1.6; color: var(--muted); }

.steps { border-top: 1px solid var(--ink); }
.step {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  align-items: start;
  padding: 32px 0;
  border-bottom: 1px solid var(--line);
}
.step-number { font-family: var(--font-serif); font-size: 34px; color: var(--blue); }
.step h3 { margin: 3px 0 0; font-size: clamp(26px, 2.5vw, 40px); line-height: 1; }
.step p { max-width: 570px; margin: 4px 0 0; line-height: 1.6; color: var(--muted); }

.product-section { background: var(--ink); color: #fff; }
.product-section .eyebrow, .product-section .section-intro { color: #a9b4c1; }
.product-shot {
  overflow: hidden;
  border: 1px solid #324052;
  background: #07111f;
  box-shadow: 0 30px 80px rgba(0,0,0,.34);
}
.product-shot img { width: 100%; }
.demo-console { min-height: 490px; background: #080f22; color: #eef3fb; font-family: var(--font-sans); }
.demo-console-top { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 18px 28px; border-bottom: 1px solid #27334e; background: #060d1c; }
.demo-console-top strong { font-size: 19px; }
.demo-console-top span { color: #aab6ca; font-size: 13px; }
.demo-console-body { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(230px, .7fr); gap: 22px; padding: 32px; }
.demo-console-main > small { color: #95a7c1; font-size: 13px; }
.demo-console-main h3 { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin: 10px 0 28px; font-size: clamp(26px, 2.3vw, 36px); line-height: 1.15; }
.demo-console-main h3 span { padding: 7px 10px; border: 1px solid #8f6b1b; border-radius: 999px; color: #f8d88c; font-size: 12px; font-weight: 700; }
.demo-info { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 14px; }
.demo-info > div, .demo-box, .demo-timeline { border: 1px solid #293653; border-radius: 10px; background: #101b34; }
.demo-info > div { padding: 17px; }
.demo-info b, .demo-info span, .demo-box b, .demo-box span { display: block; }
.demo-info b { margin-bottom: 9px; color: #9aabc3; font-size: 12px; }
.demo-info span { font-size: 16px; }
.demo-box { margin-top: 12px; padding: 20px; }
.demo-box b { margin-bottom: 8px; font-size: 17px; }
.demo-box span { color: #aebbd0; font-size: 14px; line-height: 1.5; }
.demo-timeline { padding: 24px; }
.demo-timeline > b { display: block; margin-bottom: 24px; font-size: 17px; }
.demo-timeline p { display: flex; gap: 12px; align-items: center; margin: 18px 0; color: #c8d3e5; font-size: 14px; }
.demo-timeline i { flex: 0 0 9px; height: 9px; border-radius: 50%; background: #5a97fb; }
.signer-demo { min-height: 415px; background: #f8fafc; color: #13233b; font-family: var(--font-sans); }
.signer-demo-head { display: flex; justify-content: space-between; gap: 12px; padding: 18px 26px; border-bottom: 1px solid #d7dfeb; font-size: 14px; font-weight: 800; }
.signer-demo-head span { color: #60728b; font-size: 12px; font-weight: 600; }
.signer-demo-body { max-width: 670px; margin: 0 auto; padding: 30px 28px 40px; }
.signer-demo-body > small { color: #5c6c84; font-size: 13px; }
.signer-demo-body h2 { margin: 8px 0 4px; font-size: clamp(25px, 2.1vw, 32px); line-height: 1.1; }
.signer-demo-body > p { margin: 0 0 24px; color: #63748b; font-size: 15px; }
.signer-demo-form { display: grid; gap: 10px; padding: 22px; border: 1px solid #d4ddea; border-radius: 10px; background: #fff; }
.signer-demo-form b { font-size: 17px; }
.signer-demo-form span { color: #60728b; font-size: 14px; }
.signer-demo-input { padding: 12px 14px; border: 1px solid #bdcadb; border-radius: 6px; color: #6b7b91; font-size: 15px; }
.signer-demo-button { padding: 12px; border-radius: 6px; background: #1669e8; color: #fff; font-size: 15px; font-weight: 700; text-align: center; }
.product-caption {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid #324052;
  border-top: 0;
}
.product-caption > div { padding: 28px; border-right: 1px solid #324052; }
.product-caption > div:last-child { border-right: 0; }
.product-caption b { display: block; font-size: 18px; }
.product-caption span { display: block; margin-top: 6px; color: #a9b4c1; font-size: 13px; line-height: 1.5; }

.capabilities { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ink); }
.capability { min-height: 270px; padding: 32px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.capability:nth-child(3n) { border-right: 0; }
.capability .index { font-family: var(--font-serif); font-size: 14px; color: var(--blue); }
.capability h3 { margin: 18px 0 12px; font-size: 24px; }
.capability p { margin: 0; color: var(--muted); line-height: 1.55; }

.split-proof { display: grid; grid-template-columns: 1fr 1fr; padding: 0; }
.proof-copy { padding: clamp(70px, 9vw, 140px) 6vw; }
.proof-copy h2 { font-size: clamp(42px, 4.6vw, 72px); }
.proof-list { margin: 52px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--ink); }
.proof-list li { display: flex; gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--line); line-height: 1.4; }
.proof-list li::before { content: "✓"; color: var(--blue); font-weight: 900; }
.proof-visual { position: relative; min-height: 680px; background: #d9f99d; overflow: hidden; }
.proof-visual .phone {
  position: absolute;
  width: min(310px, 67%);
  left: 50%;
  top: 50%;
  padding: 14px;
  border: 2px solid var(--ink);
  border-radius: 34px;
  background: var(--ink);
  box-shadow: 16px 20px 0 rgba(22, 105, 232, .92);
  transform: translate(-50%, -50%) rotate(4deg);
}
.phone-screen { overflow: hidden; border-radius: 22px; background: #fff; }
.phone-bar { height: 30px; background: #eef1f4; }
.phone-doc { padding: 28px 22px 24px; color: var(--ink); }
.phone-doc small { color: var(--muted); }
.phone-doc h4 { margin: 16px 0 28px; font-family: var(--font-serif); font-size: 30px; line-height: 1; }
.phone-doc .mini-sign { margin: 30px 0 16px; padding: 24px 12px; border: 2px dashed var(--blue); font-family: "Segoe Script", cursive; font-size: 28px; color: var(--blue); text-align: center; }
.phone-doc .mini-button { padding: 14px; background: var(--blue); color: #fff; font-size: 12px; font-weight: 800; text-align: center; }

.contact { display: grid; grid-template-columns: 1fr 1fr; padding: 0; background: var(--blue); color: #fff; }
.contact-copy { padding: clamp(72px, 9vw, 140px) 6vw; }
.contact h2 { font-size: clamp(50px, 6vw, 92px); }
.contact-copy p { max-width: 540px; font-size: 18px; line-height: 1.6; color: #dbeafe; }
.contact-form { padding: clamp(72px, 9vw, 140px) 6vw; border-left: 1px solid rgba(255,255,255,.35); }
.field { margin-bottom: 28px; }
.field label { display: block; margin-bottom: 8px; font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.field input, .field textarea {
  width: 100%;
  padding: 13px 0;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.6);
  border-radius: 0;
  outline: 0;
  background: transparent;
  color: #fff;
}
.field input:focus, .field textarea:focus { border-bottom-color: #fff; box-shadow: 0 2px 0 #fff; }
.field textarea { min-height: 90px; resize: vertical; }
.form-status { min-height: 22px; margin-top: 15px; font-size: 13px; color: #dbeafe; }

.footer {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 40px;
  padding: 38px 5vw;
  background: #07111f;
  color: #b9c3cf;
}
.footer strong { color: #fff; }
.footer-links { display: flex; gap: 24px; font-size: 13px; }
.footer a { color: inherit; text-underline-offset: 4px; }

.concept-switcher {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 30;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 7px;
  border: 1px solid rgba(255,255,255,.25);
  background: #07111f;
  color: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,.2);
}
.concept-switcher span { padding: 0 8px; font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.concept-switcher a { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid #3b4756; text-decoration: none; font-size: 12px; font-weight: 900; }
.concept-switcher a.active, .concept-switcher a:hover { background: #fff; color: var(--ink); }

/* Concept 02: product first */
body.product-first { --paper: #07111f; --ink: #f8fafc; --muted: #aab4bf; --line: #2a3747; background: var(--paper); }
.product-first .topbar { background: rgba(7,17,31,.93); }
.product-first .brand img { filter: none; }
.product-first .button { background: #fff; color: #07111f; border-color: #fff; }
.product-first .button:hover { background: var(--lime); border-color: var(--lime); }
.product-first .button.light { background: transparent; color: #fff; border-color: #667386; }
.product-first .button.light:hover { background: #fff; color: #07111f; }
.product-first .hero { grid-template-columns: .9fr 1.1fr; }
.product-first .hero-copy { padding-left: 5vw; }
.product-first .hero h1 { font-family: var(--font-sans); font-size: clamp(54px, 6.8vw, 108px); font-weight: 800; line-height: .9; letter-spacing: -.075em; }
.product-first .lead { color: #aab4bf; }
.product-first .hero-visual { display: flex; align-items: center; padding: 8vw 0 8vw 5vw; background: #0e2035; }
.product-first .hero-visual::before { background-size: 80px 80px; opacity: .25; }
.dashboard-window { position: relative; width: 115%; border: 1px solid #425268; background: #050c16; box-shadow: -28px 35px 0 #1669e8; }
.dashboard-window::before { content: "ED SIGN / AMBIENTE DI LAVORO"; display: block; padding: 12px 16px; border-bottom: 1px solid #425268; color: #8fa0b2; font-size: 10px; font-weight: 900; letter-spacing: .13em; }
.product-first .fact b, .product-first .section h2, .product-first .step-number { font-family: var(--font-sans); }
.product-first .fact b { font-weight: 700; }
.product-first .capability { min-height: 250px; }
.product-first .capability h3 { margin-top: 18px; }
.product-first .white-zone { background: #eef1f4; color: #07111f; }
.product-first .white-zone .section-intro, .product-first .white-zone .capability p, .product-first .white-zone .step p { color: #5d6976; }
.product-first .footer { border-top: 1px solid #2a3747; }
@media (max-width: 760px) {
  .demo-console-top { padding: 15px 18px; }
  .demo-console-body { grid-template-columns: 1fr; padding: 20px; }
  .demo-info { grid-template-columns: 1fr; }
  .demo-timeline { padding: 18px; }
  .signer-demo-body { padding: 24px 18px 30px; }
}

/* Concept 03: direct response */
body.direct { --paper: #fbfdfb; --ink: #06140f; --muted: #52635b; --line: #d4ddd8; --blue: #087a43; --blue-dark: #056336; --lime: #c9f7d8; }
.direct .topbar { background: rgba(3, 20, 15, .96); color: #fff; border-bottom-color: #1d3b31; }
.direct .hero { grid-template-columns: 1fr; min-height: 760px; text-align: center; }
.direct .hero-copy { align-items: center; padding: 90px 5vw 80px; }
.direct .hero h1 { max-width: 1060px; font-family: var(--font-sans); font-size: clamp(54px, 8vw, 118px); font-weight: 900; line-height: .88; letter-spacing: -.075em; }
.direct .hero h1 em { font-style: normal; }
.direct .lead { max-width: 760px; }
.direct .hero-visual { min-height: 520px; margin: 0 5vw 70px; background: #eef2f5; border: 1px solid var(--ink); overflow: visible; }
.direct .hero-visual::before { display: none; }
.flow-demo { display: grid; grid-template-columns: repeat(3, 1fr); min-height: 520px; }
.flow-card { position: relative; display: flex; flex-direction: column; justify-content: space-between; padding: 32px; border-right: 1px solid var(--ink); text-align: left; }
.flow-card:last-child { border-right: 0; }
.flow-card:nth-child(2) { background: var(--blue); color: #fff; }
.flow-card:nth-child(3) { background: var(--lime); }
.flow-n { font-size: 12px; font-weight: 900; letter-spacing: .12em; }
.flow-icon { display: grid; place-items: center; width: 84px; height: 84px; border: 2px solid currentColor; border-radius: 50%; font-size: 34px; }
.flow-card h3 { margin: 0; font-size: clamp(28px, 3vw, 48px); line-height: .95; }
.flow-card p { margin: 14px 0 0; line-height: 1.5; opacity: .76; }
.direct .fact-strip { background: var(--ink); color: #fff; border-color: #30363d; }
.direct .fact { border-color: #30363d; }
.direct .fact b { font-family: var(--font-sans); font-weight: 800; }
.direct .fact span { color: #aab4bf; }
.direct .section h2 { font-family: var(--font-sans); font-weight: 900; letter-spacing: -.065em; }

/* Concept gallery */
body.gallery { background: #e8e9e5; }
.gallery-wrap { max-width: 1500px; margin: 0 auto; padding: 46px 4vw 80px; }
.gallery-head { display: grid; grid-template-columns: 1fr .65fr; gap: 6vw; align-items: end; padding-bottom: 48px; border-bottom: 1px solid #87909a; }
.gallery-head h1 { max-width: 900px; margin: 0; font-family: var(--font-serif); font-size: clamp(54px, 7vw, 110px); font-weight: 400; line-height: .9; letter-spacing: -.06em; }
.gallery-head p { margin: 0; font-size: 18px; line-height: 1.6; color: #52606c; }
.concept-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 34px; }
.concept-card { display: flex; flex-direction: column; min-height: 640px; border: 1px solid #87909a; background: #fff; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.concept-card:hover { transform: translateY(-5px); box-shadow: 12px 14px 0 #1669e8; }
.concept-preview { position: relative; height: 390px; overflow: hidden; border-bottom: 1px solid #87909a; }
.concept-card .meta { display: flex; flex: 1; flex-direction: column; padding: 28px; }
.concept-card .meta small { font-weight: 900; letter-spacing: .14em; text-transform: uppercase; color: #1669e8; }
.concept-card .meta h2 { margin: 40px 0 10px; font-size: 30px; }
.concept-card .meta p { margin: 0; color: #596674; line-height: 1.55; }
.concept-card .open { margin-top: auto; padding-top: 30px; font-size: 13px; font-weight: 900; text-transform: uppercase; }
.preview-a { background: #f3f1ea; }
.preview-a .mini-title { position: absolute; left: 26px; top: 52px; width: 70%; font-family: var(--font-serif); font-size: 52px; line-height: .86; letter-spacing: -.06em; }
.preview-a .mini-paper { position: absolute; right: -16px; bottom: -30px; width: 62%; height: 215px; background: #1669e8; transform: rotate(-4deg); box-shadow: -12px 12px 0 #07111f; }
.preview-b { background: #07111f; color: #fff; }
.preview-b .mini-title { position: absolute; left: 26px; top: 46px; width: 82%; font-size: 49px; font-weight: 900; line-height: .86; letter-spacing: -.07em; }
.preview-b .mini-screen { position: absolute; left: 70px; right: -40px; bottom: -15px; height: 190px; border: 1px solid #506176; background: #102239; box-shadow: -12px 12px 0 #1669e8; }
.preview-c { display: grid; grid-template-columns: repeat(3, 1fr); }
.preview-c div { display: flex; align-items: flex-end; padding: 18px; border-right: 1px solid #0a0d12; font-size: 26px; font-weight: 900; line-height: .9; }
.preview-c div:nth-child(2) { background: #1669e8; color: #fff; }
.preview-c div:nth-child(3) { background: #d9f99d; border: 0; }
.gallery-foot { margin-top: 28px; color: #596674; font-size: 13px; }

.reveal,.reveal.visible { opacity: 1; transform: none; }

@media (max-width: 1080px) {
  .topbar { grid-template-columns: 1fr auto; }
  .nav { display: none; position: absolute; left: 0; right: 0; top: 72px; flex-direction: column; align-items: stretch; padding: 20px 5vw; border-bottom: 1px solid var(--line); background: var(--paper); }
  .nav.open { display: flex; }
  .nav-cta { display: none; }
  .menu-button { display: block; color: inherit; }
  .hero, .product-first .hero { grid-template-columns: 1fr; }
  .hero-visual { min-height: 620px; }
  .fact-strip { grid-template-columns: repeat(2, 1fr); }
  .fact:nth-child(2) { border-right: 0; }
  .fact:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .section-head { grid-template-columns: 1fr; gap: 15px; }
  .step { grid-template-columns: 1fr; }
  .step p { grid-column: auto; }
  .capabilities { grid-template-columns: repeat(2, 1fr); }
  .capability:nth-child(3n) { border-right: 1px solid var(--line); }
  .capability:nth-child(2n) { border-right: 0; }
  .split-proof, .contact { grid-template-columns: 1fr; }
  .contact-form { border-left: 0; border-top: 1px solid rgba(255,255,255,.35); }
  .gallery-head { grid-template-columns: 1fr; }
  .concept-grid { grid-template-columns: 1fr; }
  .concept-card { min-height: 520px; }
}

@media (max-width: 640px) {
  .topbar { min-height: 64px; padding: 0 20px; }
  .brand img { width: 154px; }
  .nav { top: 64px; }
  .hero-copy { padding: 68px 22px 56px; }
  .hero h1, .direct .hero h1 { font-size: 54px; }
  .hero-visual { min-height: 460px; }
  .signature-sheet { left: 8%; right: 7%; top: 10%; padding: 28px; }
  .verified-stamp { width: 88px; height: 88px; right: -8px; bottom: 36px; font-size: 9px; }
  .fact-strip { grid-template-columns: 1fr; }
  .fact, .fact:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--line); }
  .section { padding: 74px 22px; }
  .section h2 { font-size: 44px; }
  .step { grid-template-columns: 1fr; gap: 12px; }
  .product-caption { grid-template-columns: 1fr; }
  .product-caption > div { border-right: 0; border-bottom: 1px solid #324052; }
  .capabilities { grid-template-columns: 1fr; }
  .capability, .capability:nth-child(3n) { min-height: auto; border-right: 0; }
  .capability h3 { margin-top: 18px; }
  .proof-copy, .contact-copy, .contact-form { padding: 72px 22px; }
  .proof-visual { min-height: 550px; }
  .footer { grid-template-columns: 1fr; padding: 36px 22px; }
  .footer-links { flex-wrap: wrap; }
  .concept-switcher span { display: none; }
  .direct .hero { min-height: auto; }
  .direct .hero-copy { padding: 70px 22px 54px; }
  .direct .hero-visual { margin: 0 22px 50px; }
  .flow-demo { grid-template-columns: 1fr; }
  .flow-card { min-height: 300px; border-right: 0; border-bottom: 1px solid var(--ink); }
  .gallery-wrap { padding: 28px 18px 60px; }
  .gallery-head h1 { font-size: 52px; }
  .preview-c div { padding: 12px 8px; font-size: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

/* ED Sign product tour */
.direct-product { background: #0a0d12; color: #fff; }
.direct-product .eyebrow, .direct-product .section-intro { color: #aab4bf; }
.software-showcase { border: 1px solid #35404c; background: #101720; box-shadow: 18px 22px 0 var(--blue); }
.software-chrome { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 44px; padding: 0 16px; border-bottom: 1px solid #35404c; color: #8d99a7; }
.window-dots { display: flex; gap: 6px; }.window-dots i { width: 9px; height: 9px; border: 1px solid #718096; border-radius: 50%; }
.window-address { font-size: 10px; font-weight: 700; letter-spacing: .08em; }.demo-badge { justify-self: end; padding: 5px 8px; border: 1px solid #516071; color: #c5ced8; font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.screen-tabs { display: grid; grid-template-columns: repeat(3,1fr); border-bottom: 1px solid #35404c; }.screen-tab { padding: 20px 24px; border: 0; border-right: 1px solid #35404c; background: #101720; color: #8d99a7; text-align: left; cursor: pointer; font-size: 14px; font-weight: 800; }.screen-tab:last-child{border-right:0}.screen-tab span{margin-right:10px;color:#647384;font-family:var(--font-serif);font-weight:400}.screen-tab:hover{color:#fff;background:#151f2b}.screen-tab.active{background:#fff;color:#0a0d12}.screen-tab.active span{color:var(--blue)}
.software-panels,.software-panel{min-height:640px}.software-panels{background:#e9edf1;color:#101820}.software-panel[hidden]{display:none}.software-note{margin:38px 0 0;color:#8d99a7;font-size:12px;text-align:center}
.fake-app-shell{display:grid;grid-template-columns:205px 1fr;min-height:640px}.fake-sidebar{display:flex;flex-direction:column;padding:25px 18px;background:#0f1b29;color:#fff}.fake-product-mark{display:flex;align-items:center;gap:10px;margin-bottom:45px}.fake-product-mark b{display:grid;place-items:center;width:32px;height:32px;border:1px solid #4285ee;border-radius:50%;font-family:var(--font-serif)}.fake-product-mark span{font-size:13px;font-weight:900}.fake-sidebar nav{display:grid;gap:7px}.fake-sidebar nav a{display:flex;justify-content:space-between;padding:12px 13px;color:#8391a2;font-size:12px;font-weight:700;text-decoration:none}.fake-sidebar nav a.selected{border-left:2px solid #4b8df8;background:#172b43;color:#fff}.fake-sidebar nav em{min-width:20px;padding:2px 5px;border-radius:10px;background:#24466e;color:#8fc0ff;font-size:9px;font-style:normal;text-align:center}.fake-profile{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:20px;border-top:1px solid #2b3b4c}.fake-profile>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#27466a;font-size:10px}.fake-profile b,.fake-profile small{display:block}.fake-profile b{font-size:10px}.fake-profile small{margin-top:3px;color:#7f8d9e;font-size:8px}
.fake-workspace{padding:38px;overflow:hidden}.fake-app-head{display:flex;justify-content:space-between;align-items:center}.fake-app-head small{color:#75808d;font-size:10px}.fake-app-head h3{margin:5px 0 0;font-size:24px}.fake-app-head button,.document-editor footer button,.audit-card>button{border:0;background:var(--blue);color:#fff;padding:12px 15px;font-size:10px;font-weight:900}.fake-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:30px 0 22px}.fake-metrics article{padding:18px;border:1px solid #d0d6dc;background:#fff}.fake-metrics span,.fake-metrics small{display:block;color:#6f7b87;font-size:9px}.fake-metrics b{display:block;margin:12px 0 8px;font-size:28px}.fake-table-wrap{border:1px solid #d0d6dc;background:#fff}.fake-table-title{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid #e2e6e9}.fake-table-title b,.fake-table-title span{display:block}.fake-table-title b{font-size:12px}.fake-table-title span{margin-top:3px;color:#7d8792;font-size:9px}.fake-table-title a{color:var(--blue);font-size:9px;font-weight:900}.fake-row{display:grid;grid-template-columns:1.35fr 1fr .55fr .6fr;align-items:center;gap:12px;min-height:56px;padding:8px 20px;border-bottom:1px solid #edf0f2;font-size:9px}.fake-row:last-child{border-bottom:0}.fake-row-head{min-height:34px;background:#f7f8f9;color:#7e8893;font-size:8px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.fake-row>span:first-child{display:flex;align-items:center;gap:9px}.fake-row b{font-size:9px}.avatar{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;font-size:8px;font-style:normal}.avatar.blue{background:#dbeafe;color:#1d4ed8}.avatar.sand{background:#fef3c7;color:#92400e}.avatar.green{background:#d1fae5;color:#047857}.status{display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%}.status.signed{background:#10b981}.status.pending{background:#f59e0b}.status.draft{background:#94a3b8}
.wizard-layout{display:grid;grid-template-columns:280px 1fr;min-height:640px}.wizard-steps{padding:35px 28px;border-right:1px solid #ccd3da;background:#f7f8f9}.wizard-steps>p{margin:0 0 34px;font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.wizard-steps ol{margin:0;padding:0;list-style:none}.wizard-steps li{position:relative;display:flex;gap:12px;min-height:82px;color:#8c96a1}.wizard-steps li:not(:last-child)::after{content:"";position:absolute;left:14px;top:31px;width:1px;height:43px;background:#cbd2d9}.wizard-steps li>span{z-index:1;display:grid;place-items:center;flex:0 0 29px;height:29px;border:1px solid #c0c8d0;border-radius:50%;background:#f7f8f9;font-size:10px;font-weight:900}.wizard-steps li.done>span{border-color:var(--blue);background:var(--blue);color:#fff}.wizard-steps li.current{color:#111827}.wizard-steps li.current>span{border:2px solid var(--blue);color:var(--blue)}.wizard-steps b,.wizard-steps small{display:block}.wizard-steps b{margin-top:2px;font-size:11px}.wizard-steps small{margin-top:5px;font-size:8px}.document-editor{display:grid;grid-template-rows:auto 1fr auto;min-width:0}.document-editor>header{display:flex;justify-content:space-between;align-items:center;padding:22px 28px;border-bottom:1px solid #ccd3da;background:#fff}.document-editor header small{color:#798490;font-size:9px}.document-editor header h3{margin:4px 0 0;font-size:18px}.zoom-tools{padding:8px 12px;border:1px solid #d0d6dc;font-size:9px}.document-canvas{display:grid;place-items:center;padding:32px;background:#dce2e7}.fake-document{width:min(430px,90%);min-height:390px;padding:37px 42px;background:#fff;box-shadow:0 8px 28px rgba(15,23,42,.14)}.doc-logo{font-family:var(--font-serif);font-size:17px;font-weight:900}.doc-logo span{margin-left:5px;font:800 7px var(--font-sans);letter-spacing:.06em;text-transform:uppercase}.fake-document h4{max-width:290px;margin:42px 0 8px;font-family:var(--font-serif);font-size:23px;line-height:1.05}.fake-document>p{margin:0;color:#65717e;font-size:8px}.doc-lines{margin:38px 0}.doc-lines i{display:block;height:3px;margin:9px 0;background:#e4e7ea}.doc-lines i.short{width:63%}.doc-signatures{display:grid;grid-template-columns:1fr 1fr;gap:20px}.doc-signatures>div{min-height:76px;padding:11px;border:1px solid #d7dce1}.doc-signatures small{display:block;font-size:6px;font-weight:900}.doc-signatures span{display:block;margin-top:28px;color:#9aa3ac;font:italic 11px var(--font-serif)}.doc-signatures .drop-sign{border:2px solid var(--blue);background:#eff6ff}.drop-sign b{display:block;margin-top:12px;color:var(--blue);font-size:11px}.doc-signatures .drop-sign span{margin-top:4px;color:#6c90be;font:7px var(--font-sans)}.document-editor footer{display:flex;justify-content:space-between;padding:18px 28px;border-top:1px solid #ccd3da;background:#fff}.document-editor footer button.subtle{border:1px solid #cbd2d9;background:#fff;color:#26323e}
.audit-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(35px,6vw,90px);align-items:center;min-height:640px;padding:45px clamp(35px,6vw,90px)}.preview-label{display:flex;justify-content:space-between;margin-bottom:15px;color:#687583;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.fake-device{width:min(250px,90%);margin:0 auto;padding:8px;border:2px solid #111827;border-radius:27px;background:#111827;box-shadow:13px 15px 0 var(--blue)}.device-top{width:70px;height:13px;margin:0 auto -4px;border-radius:0 0 9px 9px;background:#111827}.device-body{min-height:430px;padding:28px 20px 20px;border-radius:19px;background:#fff;text-align:center}.mobile-brand{margin-bottom:30px;color:#1e293b;font-family:var(--font-serif);font-size:15px;font-weight:900}.device-body>small{color:#7b8792;font-size:7px;text-transform:uppercase}.device-body h3{margin:8px 0 5px;font-size:17px}.device-body p{margin:0;color:#6b7783;font-size:8px}.mobile-doc{margin:25px 0 20px}.mobile-doc i{display:block;height:3px;margin:7px 0;background:#e3e7ea}.mobile-doc i.short{width:67%}.mobile-signature{padding:17px 8px;border:1px dashed var(--blue);color:var(--blue);font:19px "Segoe Script",cursive}.device-body button{width:100%;margin-top:13px;padding:12px;border:0;background:var(--blue);color:#fff;font-size:8px;font-weight:900;text-transform:uppercase}.device-body .secure-note{display:block;margin-top:12px;font-size:6px;text-transform:none}.audit-card{padding:35px;border:1px solid #cbd2d9;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.09)}.audit-card header{display:flex;justify-content:space-between;align-items:start;padding-bottom:25px;border-bottom:1px solid #e0e5e9}.audit-card header small{color:#7a8591;font-size:8px;font-weight:900;letter-spacing:.08em}.audit-card h3{margin:6px 0 0;font-size:24px}.complete-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#d1fae5;color:#047857;font-weight:900}.audit-person{display:flex;align-items:center;gap:12px;margin:24px 0}.audit-person>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#dbeafe;color:#1d4ed8;font-size:10px;font-weight:900}.audit-person b,.audit-person small{display:block}.audit-person b{font-size:11px}.audit-person small{margin-top:4px;color:#798590;font-size:8px}.audit-timeline{margin:0 0 25px;padding:0;list-style:none}.audit-timeline li{position:relative;display:flex;gap:12px;min-height:55px}.audit-timeline li:not(:last-child)::after{content:"";position:absolute;left:6px;top:15px;width:1px;height:31px;background:#b9dfd0}.audit-timeline li>span{z-index:1;flex:0 0 13px;height:13px;border:3px solid #fff;border-radius:50%;background:#10b981;box-shadow:0 0 0 1px #10b981}.audit-timeline b,.audit-timeline small{display:block}.audit-timeline b{font-size:10px}.audit-timeline small{margin-top:4px;color:#7c8792;font-size:8px}
@media(max-width:980px){.fake-app-shell{grid-template-columns:150px 1fr}.fake-workspace{padding:24px}.fake-metrics{grid-template-columns:repeat(2,1fr)}.fake-metrics article:nth-child(n+3){display:none}.wizard-layout{grid-template-columns:210px 1fr}.audit-layout{padding:35px;gap:45px}}
@media(max-width:640px){.software-showcase{margin:0 -10px;box-shadow:8px 10px 0 var(--blue)}.software-chrome{grid-template-columns:1fr auto}.window-address{display:none}.screen-tabs{display:flex;overflow-x:auto}.screen-tab{flex:0 0 auto;min-width:160px;padding:17px 16px;white-space:nowrap}.software-panels,.software-panel{min-height:auto}.fake-app-shell{grid-template-columns:1fr;min-height:auto}.fake-sidebar{display:none}.fake-workspace{padding:20px 14px}.fake-app-head h3{font-size:19px}.fake-app-head button{padding:10px;font-size:8px}.fake-metrics{grid-template-columns:repeat(2,1fr)}.fake-metrics article{padding:13px}.fake-row{grid-template-columns:1.4fr .8fr;padding:8px 12px}.fake-row>span:nth-child(2),.fake-row>span:nth-child(3){display:none}.wizard-layout{grid-template-columns:1fr;min-height:auto}.wizard-steps{display:none}.document-editor>header{padding:18px}.zoom-tools{display:none}.document-canvas{padding:20px 10px}.fake-document{width:100%;min-height:350px;padding:27px 25px}.document-editor footer{padding:15px 18px}.audit-layout{grid-template-columns:1fr;min-height:auto;padding:35px 20px 45px}.fake-device{width:220px}.audit-card{padding:25px 20px}}
/* ED Sign official palette */
.direct .topbar .brand img { width: 176px; max-height: 58px; object-fit: contain; }
.direct .topbar .button { background: var(--blue); border-color: var(--blue); color: #fff; }
.direct .topbar .button:hover { background: #0b9653; border-color: #0b9653; }
.direct .nav { color: #fff; }
.direct .menu-button { color: #fff; }
.direct .fact-strip { background: #03140f; }
.direct .product-section, .direct-product { background: #03140f; }
.direct .software-showcase { background: #071d16; border-color: #24483b; box-shadow-color: #087a43; }
.direct .software-chrome, .direct .screen-tabs { border-color: #24483b; }
.direct .screen-tab { background: #071d16; border-color: #24483b; color: #91a79e; }
.direct .screen-tab:hover { background: #0b291f; color: #fff; }
.direct .screen-tab.active { background: #fff; color: #06140f; }
.direct .fake-sidebar { background: #082119; }
.direct .fake-sidebar nav a.selected { background: #10382b; border-left-color: #16c96d; }
.direct .fake-sidebar nav em { background: #164b39; color: #a6f4cc; }
.direct .fake-profile > span { background: #1a4a39; }
.direct .avatar.blue { background: #d9f7e7; color: #087a43; }
.direct .contact { background: #087a43; }
.direct .contact-copy p, .direct .form-status { color: #d9f7e7; }
.direct .footer { background: #03140f; }
@media (max-width: 1080px) { .direct .nav { background: #03140f; } }
/* Refined ED Sign landing */
.refined-hero { display: grid; grid-template-columns: minmax(0,.9fr) minmax(520px,1.1fr); min-height: calc(100vh - 72px); border-bottom: 1px solid var(--line); background: #fbfdfb; }
.refined-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: 90px 5vw; }
.refined-hero h1 { max-width: 760px; margin: 0; font-size: clamp(58px,6.7vw,106px); font-weight: 900; line-height: .9; letter-spacing: -.07em; }
.refined-hero h1 em { color: var(--blue); font-style: normal; }
.refined-hero .lead { max-width: 650px; margin-top: 32px; font-size: clamp(17px,1.4vw,21px); }
.refined-hero .hero-actions { align-items: center; }
.refined-hero .button { background: var(--blue); border-color: var(--blue); }
.refined-hero .button:hover { background: var(--blue-dark); border-color: var(--blue-dark); }
.text-link { display: inline-flex; align-items: center; gap: 10px; padding: 13px 5px; color: var(--ink); font-size: 14px; font-weight: 900; text-underline-offset: 5px; }
.text-link span { color: var(--blue); font-size: 20px; text-decoration: none; }
.hero-trust { display: flex; gap: 9px; align-items: center; margin: 22px 0 0; color: var(--muted); font-size: 12px; }
.hero-trust span { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: #d9f7e7; color: var(--blue); font-size: 10px; font-weight: 900; }
.refined-hero-stage { position: relative; display: grid; place-items: center; min-height: 680px; padding: clamp(45px,6vw,90px); overflow: hidden; background: #03140f; }
.refined-hero-stage::before { content:""; position:absolute; inset:0; background-image: linear-gradient(rgba(88,178,137,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(88,178,137,.08) 1px,transparent 1px); background-size: 58px 58px; mask-image: linear-gradient(to bottom,black,transparent 92%); }
.hero-app-card { position: relative; z-index: 1; width: min(560px,100%); border: 1px solid #d7dfda; background: #fff; box-shadow: 18px 22px 0 #087a43; color: #0b1712; }
.hero-app-card>header { display:flex; justify-content:space-between; align-items:center; padding: 15px 18px; border-bottom:1px solid #e3e8e5; }
.hero-card-brand { display:flex; align-items:center; gap:9px; font-size:12px; font-weight:900; }.hero-card-brand img { width:30px; height:30px; border-radius:8px; }
.hero-app-card .demo-badge { color:#596b62; border-color:#cdd7d2; }
.hero-document { padding: clamp(28px,4vw,48px); }
.hero-document-meta { display:flex; justify-content:space-between; align-items:center; color:#728079; font-size:9px; font-weight:900; letter-spacing:.09em; }.status-pill { padding:6px 9px; border-radius:20px; background:#fff6d9; color:#8b6504; letter-spacing:0; }
.hero-document h2 { max-width:390px; margin:34px 0 8px; font-family:var(--font-serif); font-size:clamp(30px,3vw,46px); font-weight:400; line-height:1; letter-spacing:-.04em; }.hero-document>p { margin:0; color:#6b7871; font-size:11px; }
.hero-document-lines { margin:36px 0; }.hero-document-lines i { display:block; height:4px; margin:10px 0; background:#e4e8e6; }.hero-document-lines i.short { width:67%; }
.hero-signature { padding:18px 20px; border:2px solid var(--blue); background:#f1fbf5; }.hero-signature small { display:block; color:#63756b; font-size:8px; font-weight:900; letter-spacing:.09em; }.hero-signature strong { display:block; margin-top:10px; color:var(--blue); font:28px "Segoe Script",cursive; }
.hero-app-card>footer { display:flex; align-items:center; gap:12px; padding:16px 18px; border-top:1px solid #e3e8e5; background:#f7faf8; }.success-dot { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#d9f7e7; color:var(--blue); font-size:11px; font-weight:900; }.hero-app-card footer b,.hero-app-card footer small { display:block; }.hero-app-card footer b { font-size:10px; }.hero-app-card footer small { margin-top:3px; color:#718078; font-size:8px; }.hero-app-card footer button { margin-left:auto; width:30px; height:30px; border:1px solid #cbd6d0; background:#fff; color:var(--blue); }
.hero-floating-note { position:absolute; z-index:2; right:4%; bottom:8%; display:grid; gap:4px; min-width:205px; padding:14px 17px; border-left:3px solid #2ae181; background:#fff; color:#0b1712; box-shadow:0 14px 30px rgba(0,0,0,.25); }.hero-floating-note b { font-size:10px; }.hero-floating-note span { color:#69766f; font-size:8px; }
.assurance-bar { display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid var(--line); background:#fff; }.assurance-bar>div { padding:25px 5vw; border-right:1px solid var(--line); }.assurance-bar>div:last-child { border-right:0; }.assurance-bar b,.assurance-bar span { display:block; }.assurance-bar b { font-size:14px; }.assurance-bar span { margin-top:5px; color:var(--muted); font-size:11px; }
.compact-flow { padding: clamp(85px,10vw,145px) 5vw; background:#fbfdfb; border-bottom:1px solid var(--line); }
.compact-flow-head { display:grid; grid-template-columns:.55fr 1.45fr; gap:5vw; align-items:start; margin-bottom:62px; }.compact-flow-head h2 { max-width:880px; margin:0; font-size:clamp(44px,5.4vw,82px); font-weight:900; line-height:.94; letter-spacing:-.065em; }
.flow-path { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--ink); }.flow-path article { position:relative; min-height:260px; padding:30px 34px 20px 0; border-right:1px solid var(--line); }.flow-path article:not(:first-child){padding-left:34px}.flow-path article:last-child{border-right:0}.flow-path article:not(:last-child)::after{content:"→";position:absolute;right:-16px;top:26px;z-index:1;display:grid;place-items:center;width:31px;height:31px;border:1px solid var(--ink);border-radius:50%;background:#fbfdfb;color:var(--blue);font-size:14px}.flow-path span{color:var(--blue);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.flow-path h3{max-width:300px;margin:72px 0 13px;font-size:clamp(23px,2.2vw,34px);line-height:1.02}.flow-path p{max-width:360px;margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.outcome-section { padding:clamp(85px,10vw,145px) 5vw; border-bottom:1px solid var(--line); background:#fff; }.outcome-intro { display:grid; grid-template-columns:.55fr 1.45fr; gap:5vw; margin-bottom:65px; }.outcome-intro h2 { max-width:930px; margin:0; font-size:clamp(43px,5.4vw,80px); font-weight:900; line-height:.95; letter-spacing:-.065em; }.outcome-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--ink); }.outcome-grid article { min-height:245px; padding:35px 35px 20px 0; border-right:1px solid var(--line); }.outcome-grid article:not(:first-child){padding-left:35px}.outcome-grid article:last-child{border-right:0}.outcome-grid h3{max-width:330px;margin:0 0 20px;font-size:24px;line-height:1.1}.outcome-grid p{max-width:360px;margin:0;color:var(--muted);font-size:14px;line-height:1.65}
@media(max-width:980px){.refined-hero{grid-template-columns:1fr}.refined-hero-copy{padding:85px 6vw}.refined-hero-stage{min-height:650px}.compact-flow-head,.outcome-intro{grid-template-columns:1fr;gap:14px}.flow-path,.outcome-grid{grid-template-columns:1fr}.flow-path article,.flow-path article:not(:first-child),.outcome-grid article,.outcome-grid article:not(:first-child){min-height:auto;padding:30px 0;border-right:0;border-bottom:1px solid var(--line)}.flow-path article:last-child,.outcome-grid article:last-child{border-bottom:0}.flow-path article:not(:last-child)::after{display:none}.flow-path h3{margin-top:24px}.outcome-grid h3{max-width:600px}}
@media(max-width:640px){.refined-hero-copy{padding:70px 22px 55px}.refined-hero h1{font-size:52px}.refined-hero-stage{min-height:540px;padding:45px 24px 60px}.hero-app-card{box-shadow:9px 11px 0 #087a43}.hero-document{padding:27px 24px}.hero-document h2{font-size:31px}.hero-floating-note{right:16px;bottom:20px;min-width:180px}.assurance-bar{grid-template-columns:1fr}.assurance-bar>div{padding:20px 22px;border-right:0;border-bottom:1px solid var(--line)}.assurance-bar>div:last-child{border-bottom:0}.compact-flow,.outcome-section{padding:75px 22px}.compact-flow-head h2,.outcome-intro h2{font-size:43px}.flow-path h3{font-size:26px}}
.fake-product-mark img { width: 32px; height: 32px; border-radius: 8px; object-fit: cover; }
.contact-direct { margin: 18px 0 0; color: #d9f7e7; font-size: 12px; }
.contact-direct a { color: #fff; font-weight: 800; text-underline-offset: 4px; }

/* ED Sign multi-page identity */
.nav a.current { color: #6bf0aa; text-decoration: underline; text-underline-offset: 6px; }
.footer-brand { width: 135px; max-height: 45px; object-fit: contain; margin-bottom: 10px; }
.page-hero { display:grid; grid-template-columns:1.25fr .75fr; min-height:630px; border-bottom:1px solid var(--line); background:#fbfdfb; }
.page-hero>div:first-child { display:flex; flex-direction:column; justify-content:center; padding:95px 6vw; }
.page-hero h1 { max-width:950px; margin:0; font-size:clamp(54px,6.7vw,102px); font-weight:900; line-height:.9; letter-spacing:-.07em; }
.page-hero>div:first-child>p:last-of-type { max-width:690px; margin:32px 0 0; color:var(--muted); font-size:clamp(17px,1.45vw,22px); line-height:1.55; }
.page-hero-mark { display:grid; place-items:center; overflow:hidden; background:#03140f; }
.page-hero-mark::before { content:""; position:absolute; width:260px; height:260px; border:1px solid #1c503c; border-radius:50%; box-shadow:0 0 0 70px rgba(18,100,67,.12),0 0 0 140px rgba(18,100,67,.07); }
.page-hero-mark { position:relative; }.page-hero-mark img { position:relative; z-index:1; width:min(250px,54%); height:auto; object-fit:contain; filter:drop-shadow(0 24px 35px rgba(0,0,0,.4)); }.page-hero-mark>span { position:relative;z-index:1;display:grid;place-items:center;width:190px;height:190px;border:2px solid #38df88;border-radius:50%;color:#38df88;font-size:70px;font-weight:900 }
.inner-section { padding:clamp(85px,10vw,145px) 5vw; border-bottom:1px solid var(--line); background:#fff; }
.inner-intro { display:grid; grid-template-columns:.55fr 1.45fr; gap:5vw; margin-bottom:70px; }.inner-intro h2 { max-width:940px; margin:0; font-size:clamp(43px,5.3vw,80px); font-weight:900; line-height:.95; letter-spacing:-.065em; }
.feature-rows { border-top:1px solid var(--ink); }.feature-rows article { display:grid; grid-template-columns:.75fr 1.25fr .75fr; gap:35px; align-items:start; padding:32px 0; border-bottom:1px solid var(--line); }.feature-rows h3,.feature-rows p,.feature-rows span { margin:0; }.feature-rows h3 { font-size:25px; }.feature-rows p { color:var(--muted); line-height:1.65; }.feature-rows span { color:var(--blue); font-size:10px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.identity-band { padding:clamp(80px,9vw,130px) 8vw; background:#03140f; color:#fff; }.identity-band .eyebrow { color:#83bca3; }.identity-band h2 { max-width:1050px; margin:0; font-size:clamp(45px,6vw,88px); line-height:.94; letter-spacing:-.065em; }.identity-band>p:not(.eyebrow) { max-width:680px; margin:30px 0; color:#b7c9c0; font-size:18px; line-height:1.65; }
.statement-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--ink); }.statement-grid article { min-height:230px; padding:34px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.statement-grid article:nth-child(3n){border-right:0}.statement-grid h3 { margin:0 0 16px; font-size:23px; }.statement-grid p { margin:0; color:var(--muted); line-height:1.65; }
.legal-note { padding:clamp(85px,10vw,145px) 8vw; background:#dff8e9; }.legal-note h2 { max-width:1000px; margin:0; font-size:clamp(44px,5.5vw,82px); line-height:.95; letter-spacing:-.06em; }.legal-note>p:last-child { max-width:850px; margin:34px 0 0; color:#2e5141; font-size:17px; line-height:1.75; }
.integration-list { border-top:1px solid var(--ink); }.integration-list article { display:grid; grid-template-columns:1fr auto; gap:50px; align-items:center; padding:34px 0; border-bottom:1px solid var(--line); }.integration-list h3 { margin:0 0 10px; font-size:28px; }.integration-list p { max-width:720px; margin:0; color:var(--muted); line-height:1.6; }.integration-list>article>span { padding:8px 11px; border:1px solid #8fb5a3; color:var(--blue); font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.manifesto { max-width:1000px; }.manifesto p { margin:0; padding:25px 0; border-bottom:1px solid var(--line); font-size:clamp(23px,2.5vw,38px); font-weight:700; line-height:1.25; letter-spacing:-.025em; }.brand-principles { padding:0 5vw 100px; background:#fff; }.brand-principles article { border-top:0; }.page-cta { display:flex; justify-content:space-between; align-items:center; gap:40px; padding:70px 5vw; border-bottom:1px solid var(--line); background:#c9f7d8; }.page-cta h2 { max-width:850px; margin:0; font-size:clamp(35px,4.5vw,64px); line-height:.98; letter-spacing:-.05em; }.page-cta .button { flex:0 0 auto; background:#03140f; }
.direct-email { display:inline-block; margin-top:30px; color:var(--blue); font-size:20px; font-weight:900; text-underline-offset:6px; }.contact-page { display:grid; grid-template-columns:1fr 1fr; background:#fff; }.contact-page>div { padding:clamp(75px,9vw,130px) 6vw; }.contact-page h2 { max-width:600px; margin:0; font-size:clamp(43px,5vw,76px); line-height:.95; letter-spacing:-.06em; }.contact-page>div>p:last-child { max-width:520px; color:var(--muted); line-height:1.65; }.light-form { border-left:1px solid var(--line); background:#f4f7f5; color:var(--ink); }.light-form .field input,.light-form .field textarea { border-bottom-color:#9ba9a1; color:var(--ink); }.light-form .field input:focus,.light-form .field textarea:focus { border-bottom-color:var(--blue); box-shadow:0 2px 0 var(--blue); }.light-form .form-status { color:var(--blue); }
@media(max-width:980px){.page-hero{grid-template-columns:1fr;min-height:auto}.page-hero-mark{min-height:430px}.inner-intro{grid-template-columns:1fr;gap:15px}.feature-rows article{grid-template-columns:1fr 1.4fr}.feature-rows span{grid-column:2}.contact-page{grid-template-columns:1fr}.light-form{border-left:0;border-top:1px solid var(--line)}}
@media(max-width:640px){.page-hero>div:first-child{padding:75px 22px}.page-hero h1{font-size:50px}.page-hero-mark{min-height:340px}.page-hero-mark img{width:min(190px,58vw);height:auto;object-fit:contain}.inner-section{padding:75px 22px}.inner-intro h2{font-size:42px}.feature-rows article{grid-template-columns:1fr;gap:13px}.feature-rows span{grid-column:auto}.statement-grid{grid-template-columns:1fr}.statement-grid article,.statement-grid article:nth-child(3n){min-height:auto;border-right:0}.identity-band,.legal-note{padding:75px 22px}.identity-band h2,.legal-note h2{font-size:42px}.integration-list article{grid-template-columns:1fr;gap:18px}.integration-list>article>span{width:max-content}.brand-principles{padding:0 22px 70px}.page-cta{align-items:flex-start;flex-direction:column;padding:55px 22px}.contact-page>div,.light-form{padding:70px 22px}.footer-brand{width:125px}}

/* Production content, forms and legal pages */
:focus-visible { outline: 3px solid #25d876; outline-offset: 4px; }
.button:disabled { cursor: wait; opacity: .62; }
.hp-field { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.privacy-check { display: flex; gap: 12px; align-items: flex-start; margin: 24px 0; font-size: 12px; line-height: 1.55; }
.privacy-check input { flex: 0 0 auto; width: 18px; height: 18px; margin: 1px 0 0; accent-color: #087a43; }
.privacy-check a { font-weight: 800; text-underline-offset: 3px; }
.light-form .privacy-check a { color: #087a43; }
.form-status { min-height: 1.5em; }
.form-status.success { color: #d9f7e7; font-weight: 800; }
.form-status.error { color: #ffe6a7; font-weight: 800; }
.light-form .form-status.success { color: #087a43; }
.light-form .form-status.error { color: #9b2c2c; }

.faq-section { display: grid; grid-template-columns: .72fr 1.28fr; gap: 7vw; padding: clamp(85px,10vw,145px) 5vw; border-bottom: 1px solid var(--line); background: #fbfdfb; }
.pricing-section { padding: clamp(85px,10vw,145px) 5vw; border-bottom: 1px solid var(--line); background: #f3f7f4; }
.pricing-intro { display: grid; grid-template-columns: 1fr .8fr; gap: 8vw; align-items: end; margin-bottom: 46px; }
.pricing-intro h2 { max-width: 720px; margin: 8px 0 0; font: 900 clamp(42px,5vw,72px)/.98 var(--font-sans); letter-spacing: -.055em; }
.pricing-intro>p { max-width: 570px; margin: 0; color: var(--muted); font-size: 18px; line-height: 1.7; }
.pricing-grid { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--line); background: var(--paper); }
.price-card { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 38px 34px 34px; border-right: 1px solid var(--line); }
.price-card:last-child { border-right: 0; }
.price-card.featured { background: #06261d; color: white; }
.plan-badge { position: absolute; top: 0; right: 0; padding: 9px 13px; background: #38df88; color: #02120d; font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.price-card-head { min-height: 104px; padding-right: 62px; }
.price-card-head h3 { margin: 0 0 10px; font: 800 30px/1 var(--font-sans); letter-spacing: -.03em; }
.price-card-head p { margin: 0; color: var(--muted); line-height: 1.5; }
.price-card.featured .price-card-head p,.price-card.featured .activation { color: #b8d1c7; }
.price { display: flex; align-items: baseline; gap: 7px; margin: 26px 0; padding: 25px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.price-card.featured .price { border-color: #345147; }
.price span { font-size: 13px; font-weight: 800; letter-spacing: .05em; }
.price strong { font: 800 54px/1 var(--font-sans); letter-spacing: -.05em; }
.price small { color: var(--muted); }
.price-card.featured .price small { color: #b8d1c7; }
.price-card ul { display: grid; gap: 11px; min-height: 278px; margin: 0 0 26px; padding: 0; list-style: none; }
.price-card li { position: relative; padding-left: 20px; font-size: 14px; line-height: 1.45; }
.price-card li::before { position: absolute; left: 0; color: var(--blue); content: "✓"; font-weight: 800; }
.activation { min-height: 42px; margin: auto 0 20px; color: var(--muted); font-size: 13px; }
.price-card .button { justify-content: center; width: 100%; }
.price-card .button.outline { border: 1px solid #113e30; background: transparent; color: #113e30; }
.price-card.featured .button { background: #38df88; color: #02120d; }
.pricing-terms { display: grid; grid-template-columns: repeat(4,1fr); gap: 26px; padding-top: 28px; color: var(--muted); font-size: 13px; line-height: 1.55; }
.pricing-terms p { margin: 0; }
.pricing-terms strong { color: var(--ink); }
.faq-intro h2 { max-width: 560px; margin: 0; font-size: clamp(42px,4.6vw,70px); line-height: .96; letter-spacing: -.055em; }
.faq-list { border-top: 1px solid var(--ink); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { position: relative; padding: 26px 48px 26px 0; cursor: pointer; list-style: none; font-size: 20px; font-weight: 800; line-height: 1.25; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; right: 4px; top: 22px; color: var(--blue); font-size: 28px; font-weight: 400; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list p { max-width: 720px; margin: 0; padding: 0 52px 28px 0; color: var(--muted); line-height: 1.7; }

.company-facts { display: grid; grid-template-columns: .75fr 1.25fr; gap: 7vw; padding: clamp(80px,9vw,125px) 5vw; border-top: 1px solid var(--line); background: #f4f7f5; }
.company-facts h2 { margin: 0; font-size: clamp(40px,5vw,72px); line-height: .96; letter-spacing: -.055em; }
.company-facts dl { margin: 0; border-top: 1px solid var(--ink); }
.company-facts dl > div { display: grid; grid-template-columns: 150px 1fr; gap: 24px; padding: 25px 0; border-bottom: 1px solid var(--line); }
.company-facts dt { color: var(--muted); font-size: 11px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.company-facts dd { margin: 0; font-size: 17px; line-height: 1.55; }
.company-facts a { color: var(--blue); font-weight: 800; text-underline-offset: 4px; }

.legal-hero { padding: clamp(85px,10vw,140px) max(5vw,22px) 70px; border-bottom: 1px solid var(--line); background: #dff8e9; }
.legal-hero h1 { max-width: 980px; margin: 0; font-size: clamp(54px,7vw,104px); line-height: .9; letter-spacing: -.07em; }
.legal-hero > p:last-child { margin: 28px 0 0; color: #2e5141; font-size: 13px; }
.legal-content { max-width: 1040px; margin: 0 auto; padding: 70px max(5vw,22px) 120px; }
.legal-content section { display: grid; grid-template-columns: 280px 1fr; gap: 60px; padding: 36px 0; border-bottom: 1px solid var(--line); }
.legal-content h2 { margin: 0; font-size: 25px; line-height: 1.1; }
.legal-content p, .legal-content ul { margin: 0; color: var(--muted); line-height: 1.75; }
.legal-content p + p { margin-top: 16px; }
.legal-content ul { padding-left: 20px; }
.legal-content a { color: var(--blue); font-weight: 700; text-underline-offset: 4px; }
.message-page { display: grid; place-items: center; min-height: calc(100vh - 72px); padding: 80px 5vw; text-align: center; background: #dff8e9; }
.message-page h1 { max-width: 850px; margin: 0; font-size: clamp(55px,8vw,110px); line-height: .9; letter-spacing: -.07em; }
.message-page p:not(.eyebrow) { margin: 28px 0 34px; color: #2e5141; font-size: 18px; }
.footer > div:first-child small { display: block; margin-top: 4px; }
.footer-credit { margin-top: 12px !important; color: #8da49a; }
.footer-credit a { color: #d8e5df; font-weight: 700; text-decoration-thickness: 1px; }
.footer-credit a:hover { color: #6bf0aa; }
.footer-links { flex-wrap: wrap; justify-content: flex-end; }

@media(max-width:980px){.pricing-intro,.faq-section,.company-facts{grid-template-columns:1fr}.pricing-grid{grid-template-columns:1fr}.price-card,.price-card:last-child{border-right:0;border-bottom:1px solid var(--line)}.price-card:last-child{border-bottom:0}.price-card ul{min-height:0}.pricing-terms{grid-template-columns:repeat(2,1fr)}.legal-content section{grid-template-columns:1fr;gap:14px}.footer-links{max-width:620px;justify-content:flex-start}}
@media(max-width:640px){.pricing-section,.faq-section,.company-facts{padding:75px 22px}.pricing-intro h2,.faq-intro h2{font-size:42px}.price-card{padding:34px 24px 28px}.pricing-terms{grid-template-columns:1fr}.faq-list summary{font-size:18px}.company-facts dl>div{grid-template-columns:1fr;gap:8px}.legal-content{padding-top:40px}.legal-content section{padding:28px 0}.legal-hero h1{font-size:52px}.message-page{min-height:calc(100vh - 64px)}}
