.page-shell { min-height: 100vh; }
.page-header { padding: 82px 0 86px; border-bottom: 1px solid var(--line); }
.page-header-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 48px; align-items: end; }
.page-eyebrow { color: var(--lime); font: 500 10px var(--mono); letter-spacing: .15em; }
.page-header h1 { max-width: 900px; margin-top: 26px; font-size: clamp(48px, 7vw, 92px); }
.page-header h1 em { color: var(--lime); font-style: normal; }
.page-header-lede { max-width: 590px; color: var(--muted); font-size: 18px; line-height: 1.7; }
.page-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.page-section { padding: 108px 0 0; }
.page-section:last-of-type { padding-bottom: 128px; }
.page-section-head { display: grid; grid-template-columns: .72fr 1.28fr; gap: 48px; }
.page-section-head h2 { max-width: 730px; }
.page-section-head p { max-width: 560px; margin-top: 24px; color: var(--muted); line-height: 1.75; }
.page-kicker { padding-top: 10px; color: var(--lime-dim); font: 500 10px var(--mono); letter-spacing: .14em; }
.page-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 56px; background: var(--line); border: 1px solid var(--line); }
.page-card { position: relative; min-height: 220px; padding: 26px; background: var(--panel); }
.page-card h3 { margin-top: 42px; font-size: 21px; letter-spacing: -.05em; }
.page-card p { margin-top: 13px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.page-card .card-code { color: var(--lime); font: 500 10px var(--mono); letter-spacing: .1em; }
.page-card.card-cyan { background: linear-gradient(135deg, rgba(114,232,209,.12), transparent 67%), var(--panel); }
.page-card.card-cyan .card-code { color: var(--cyan); }
.page-card.card-orange { background: linear-gradient(135deg, rgba(255,157,88,.12), transparent 67%), var(--panel); }
.page-card.card-orange .card-code { color: var(--orange); }
.feature-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 48px; background: var(--line); border: 1px solid var(--line); }
.feature-item { min-height: 170px; padding: 25px; background: var(--bg); }
.feature-item h3 { font-size: 18px; letter-spacing: -.04em; }
.feature-item p { max-width: 390px; margin-top: 12px; color: var(--muted); font-size: 13px; line-height: 1.62; }
.feature-item .feature-icon { display: block; margin-bottom: 35px; color: var(--lime); font: 17px var(--mono); }
.feature-item.cyan .feature-icon { color: var(--cyan); }
.feature-item.orange .feature-icon { color: var(--orange); }
.workflow { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 53px; background: var(--line); border: 1px solid var(--line); }
.workflow::before { content: ''; position: absolute; z-index: 2; top: 54px; left: 12%; right: 12%; height: 1px; background: linear-gradient(90deg, var(--lime), var(--cyan), var(--orange)); opacity: .45; }
.workflow-step { position: relative; z-index: 3; min-height: 205px; padding: 22px; background: var(--panel); }
.workflow-step span { color: var(--lime); font: 500 10px var(--mono); }
.workflow-step h3 { margin-top: 44px; font-size: 18px; }
.workflow-step p { margin-top: 10px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.callout-panel { display: grid; grid-template-columns: .7fr 1.3fr; gap: 48px; padding: 35px; background: linear-gradient(120deg, rgba(196,255,104,.14), transparent 70%), var(--panel); border: 1px solid rgba(196,255,104,.26); }
.callout-panel h2 { font-size: clamp(32px, 4vw, 57px); }
.callout-panel p { max-width: 590px; color: var(--muted); line-height: 1.7; }
.callout-panel .page-actions { margin-top: 25px; }
.product-page .page-header { background: radial-gradient(circle at 80% 28%, rgba(196,255,104,.09), transparent 34%); }
.product-page.product-iris .page-header { background: radial-gradient(circle at 80% 28%, rgba(114,232,209,.11), transparent 34%); }
.product-page.product-layer8 .page-header { background: radial-gradient(circle at 80% 28%, rgba(255,157,88,.1), transparent 34%); }
.product-mark-large { display: flex; align-items: center; gap: 20px; }
.product-mark-large img { width: 77px; height: 77px; padding: 10px; border: 1px solid var(--line); background: rgba(7,16,13,.55); }
.product-mark-large b { color: var(--lime); font: 500 11px var(--mono); letter-spacing: .11em; }
.product-iris .product-mark-large b { color: var(--cyan); }
.product-layer8 .product-mark-large b { color: var(--orange); }
.product-page .page-header h1 { margin-top: 33px; }
.product-page .page-header h1 em { color: var(--lime); }
.product-iris .page-header h1 em { color: var(--cyan); }
.product-layer8 .page-header h1 em { color: var(--orange); }
.compliance-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; margin-top: 36px; }
.compliance-chip { padding: 13px 10px; text-align: center; color: var(--muted); border: 1px solid var(--line); font: 10px var(--mono); }
.compliance-chip:hover { color: var(--lime); border-color: rgba(196,255,104,.5); }
.faq-list { margin-top: 48px; border-top: 1px solid var(--line); }
.faq-item { display: grid; grid-template-columns: 40px 1fr; gap: 18px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.faq-item > span { color: var(--lime); font: 10px var(--mono); }
.faq-item h3 { font-size: 17px; letter-spacing: -.035em; }
.faq-item p { max-width: 740px; margin-top: 9px; color: var(--muted); font-size: 13px; line-height: 1.65; }
.notice { margin-top: 32px; padding: 20px 22px; border-left: 2px solid var(--orange); background: rgba(255,157,88,.07); }
.notice b { display: block; color: var(--orange); font: 500 10px var(--mono); letter-spacing: .1em; }
.notice p { margin-top: 10px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.contact-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 48px; align-items: start; }
.contact-aside h2 { margin-top: 26px; }
.contact-aside > p { max-width: 390px; margin-top: 22px; color: var(--muted); line-height: 1.7; }
.contact-aside .contact-email { margin-top: 32px; font-size: 18px; letter-spacing: -.04em; }
.contact-form { padding: 30px; background: var(--panel); border: 1px solid var(--line); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.form-field { display: flex; flex-direction: column; gap: 8px; }
.form-field.full { grid-column: 1 / -1; }
.form-field label { color: var(--muted); font: 10px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.form-field input, .form-field select, .form-field textarea { width: 100%; padding: 13px 14px; color: var(--ink); background: #0a1511; border: 1px solid var(--line); border-radius: 0; outline: none; font: 13px var(--sans); }
.form-field textarea { min-height: 135px; resize: vertical; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: var(--lime); box-shadow: 0 0 0 3px rgba(196,255,104,.08); }
.form-field.is-error input, .form-field.is-error select, .form-field.is-error textarea { border-color: var(--orange); }
.form-field.is-error label { color: var(--orange); }
.form-consent { display: flex; align-items: flex-start; gap: 10px; grid-column: 1 / -1; color: var(--muted); font-size: 11px; line-height: 1.5; }
.form-consent input { margin-top: 3px; accent-color: var(--lime); }
.form-actions { display: flex; align-items: center; gap: 18px; grid-column: 1 / -1; margin-top: 4px; }
.form-status { margin: 0; font-size: 12px; line-height: 1.5; }
.form-status.is-success { color: var(--lime); }
.form-status.is-error { color: var(--orange); }
.form-summary { flex: 1 1 100%; padding: 11px 13px; color: var(--muted); background: rgba(196,255,104,.05); border-left: 2px solid var(--lime); font: 11px/1.55 var(--mono); }
.form-mailto { color: var(--lime); font: 10px var(--mono); white-space: nowrap; }.form-mailto:hover { color: var(--ink); }.form-mailto span { margin-left: 7px; }
.trust-note-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 46px; background: var(--line); border: 1px solid var(--line); }
.trust-note { min-height: 188px; padding: 24px; background: var(--panel); }
.trust-note b { color: var(--lime); font: 500 10px var(--mono); letter-spacing: .1em; }
.trust-note h3 { margin-top: 35px; font-size: 18px; }
.trust-note p { margin-top: 11px; color: var(--muted); font-size: 12px; line-height: 1.58; }
.site-footer a:hover { color: var(--lime); }
.language-switch { margin-left: auto; color: var(--lime); font: 500 10px var(--mono); letter-spacing: .1em; }
.header-tools { display: flex; align-items: center; gap: 18px; }
.breadcrumb { margin-top: 20px; color: var(--dim); font: 10px var(--mono); letter-spacing: .08em; }
.breadcrumb a:hover { color: var(--lime); }
.muted-block { color: var(--muted); line-height: 1.75; }
.demo-shell { margin-top: 54px; overflow: hidden; background: linear-gradient(135deg, rgba(196,255,104,.08), transparent 48%), var(--panel); border: 1px solid rgba(196,255,104,.24); }
.demo-topline { display: flex; justify-content: space-between; gap: 20px; padding: 16px 20px; border-bottom: 1px solid var(--line); color: var(--dim); font: 10px var(--mono); letter-spacing: .12em; }
.demo-topline b { color: var(--lime); font-weight: 400; }
.demo-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); }
.demo-tab { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 17px 20px; color: var(--muted); background: var(--bg); border: 0; text-align: left; cursor: pointer; font: inherit; transition: color .25s ease, background .25s ease, box-shadow .25s ease; }
.demo-tab:hover, .demo-tab:focus-visible { color: var(--ink); background: rgba(196,255,104,.06); outline: none; }
.demo-tab:focus-visible { box-shadow: inset 0 0 0 2px var(--lime); }
.demo-tab.is-active { color: var(--ink); background: rgba(196,255,104,.1); box-shadow: inset 0 -2px 0 var(--lime); }
.demo-tab img { width: 38px; height: 38px; padding: 5px; border: 1px solid var(--line); }
.demo-tab span { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.demo-tab strong { color: var(--ink); font-size: 14px; letter-spacing: -.03em; }
.demo-tab small { color: var(--dim); font: 9px var(--mono); letter-spacing: .05em; text-transform: uppercase; }
.demo-tab i { margin-left: auto; color: var(--lime); font: 10px var(--mono); font-style: normal; }
.demo-panel { display: grid; grid-template-columns: .68fr 1.32fr; gap: 36px; padding: 36px; }
.demo-panel[hidden] { display: none; }
.demo-panel-copy { display: flex; flex-direction: column; align-items: flex-start; }
.demo-status { display: inline-flex; align-items: center; gap: 8px; color: var(--lime); font: 500 9px var(--mono); letter-spacing: .1em; }
.demo-status i { width: 6px; height: 6px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 5px rgba(196,255,104,.1); }
.demo-status-cyan, .demo-status-cyan i { color: var(--cyan); }.demo-status-cyan i { background: var(--cyan); box-shadow: 0 0 0 5px rgba(114,232,209,.1); }
.demo-status-orange, .demo-status-orange i { color: var(--orange); }.demo-status-orange i { background: var(--orange); box-shadow: 0 0 0 5px rgba(255,157,88,.1); }
.demo-panel-copy h3 { margin-top: 58px; font-size: clamp(28px, 3vw, 44px); line-height: 1.02; letter-spacing: -.07em; }
.demo-panel-copy h3 em { color: var(--lime); font-style: normal; }.demo-panel[data-demo-panel="iris"] h3 em { color: var(--cyan); }.demo-panel[data-demo-panel="layer8"] h3 em { color: var(--orange); }
.demo-panel-copy p { max-width: 340px; margin-top: 20px; color: var(--muted); font-size: 13px; line-height: 1.65; }
.demo-panel-copy .text-link { margin-top: 27px; }
.demo-dashboard { min-height: 260px; padding: 20px; background: rgba(7,16,13,.7); border: 1px solid rgba(196,255,104,.18); }
.demo-metric-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); }
.demo-metric-grid div { display: flex; flex-direction: column; gap: 7px; padding: 14px; background: rgba(13,24,20,.9); }
.demo-metric-grid strong { color: var(--lime); font: 500 25px var(--mono); }.demo-dashboard-cyan .demo-metric-grid strong { color: var(--cyan); }.demo-dashboard-orange .demo-metric-grid strong { color: var(--orange); }
.demo-metric-grid span { color: var(--dim); font: 8px var(--mono); letter-spacing: .08em; }
.demo-signal-map { position: relative; min-height: 145px; overflow: hidden; margin-top: 16px; background: radial-gradient(circle at 50% 50%, rgba(196,255,104,.12), transparent 52%); }
.demo-dashboard-cyan .demo-signal-map { background: radial-gradient(circle at 50% 50%, rgba(114,232,209,.12), transparent 52%); }.demo-dashboard-orange .demo-signal-map { background: radial-gradient(circle at 50% 50%, rgba(255,157,88,.12), transparent 52%); }
.demo-signal-map::before, .demo-signal-map::after { content: ''; position: absolute; inset: 50% 8%; height: 1px; background: var(--line); }.demo-signal-map::after { transform: rotate(90deg); }
.demo-signal-map b { position: absolute; top: 50%; left: 50%; z-index: 3; transform: translate(-50%, -50%); color: var(--ink); text-align: center; font: 500 10px/1.35 var(--mono); letter-spacing: .08em; }
.demo-ring { position: absolute; top: 50%; left: 50%; border: 1px solid rgba(196,255,104,.38); border-radius: 50%; transform: translate(-50%, -50%); }.demo-ring.ring-a { width: 112px; height: 70px; }.demo-ring.ring-b { width: 74px; height: 112px; transform: translate(-50%, -50%) rotate(42deg); border-color: rgba(114,232,209,.35); }
.demo-node, .demo-person, .demo-wave { position: absolute; z-index: 2; width: 8px; height: 8px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 14px var(--lime); }.demo-node.node-a { top: 28%; left: 28%; }.demo-node.node-b { top: 26%; right: 24%; }.demo-node.node-c { bottom: 24%; left: 38%; }.demo-node.node-d { bottom: 18%; right: 34%; }.demo-dashboard-cyan .demo-wave { width: 13px; height: 13px; border: 1px solid var(--cyan); background: transparent; box-shadow: none; }.demo-wave.wave-a { top: 29%; left: 27%; }.demo-wave.wave-b { bottom: 25%; right: 26%; }.demo-dashboard-orange .demo-person { width: 24px; height: 24px; border: 1px solid var(--orange); background: transparent; box-shadow: none; border-radius: 50% 50% 42% 42%; }.demo-person.person-a { top: 23%; left: 25%; }.demo-person.person-b { top: 31%; right: 26%; }.demo-person.person-c { bottom: 18%; left: 47%; }
.demo-rail { display: flex; align-items: center; gap: 10px; margin-top: 16px; color: var(--dim); font: 9px var(--mono); letter-spacing: .1em; }.demo-rail i { display: block; flex: 1; height: 1px; background: linear-gradient(90deg, var(--lime), transparent); }.demo-dashboard-cyan .demo-rail i { background: linear-gradient(90deg, var(--cyan), transparent); }.demo-dashboard-orange .demo-rail i { background: linear-gradient(90deg, var(--orange), transparent); }
.risk-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 54px; background: var(--line); border: 1px solid var(--line); }
.risk-card { position: relative; min-height: 250px; padding: 25px; background: var(--panel); transition: transform .25s ease, background .25s ease; }.risk-card:hover { z-index: 1; transform: translateY(-5px); background: var(--panel-2); }.risk-card > span, .deliverable-card > span, .audience-path > span { color: var(--lime); font: 500 10px var(--mono); letter-spacing: .11em; }.risk-card h3 { margin-top: 50px; font-size: 25px; line-height: 1.05; letter-spacing: -.06em; }.risk-card h3 em { color: var(--lime); font-style: normal; }.risk-card p { max-width: 240px; margin-top: 15px; color: var(--muted); font-size: 12px; line-height: 1.55; }.risk-card b { position: absolute; right: 23px; bottom: 23px; color: var(--ink); font: 500 10px var(--mono); }.risk-card-cyan { background: linear-gradient(135deg, rgba(114,232,209,.08), transparent 65%), var(--panel); }.risk-card-cyan > span, .risk-card-cyan h3 em { color: var(--cyan); }.risk-card-orange { background: linear-gradient(135deg, rgba(255,157,88,.08), transparent 65%), var(--panel); }.risk-card-orange > span, .risk-card-orange h3 em { color: var(--orange); }
.deliverables-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 54px; background: var(--line); border: 1px solid var(--line); }.deliverable-card { min-height: 210px; padding: 24px; background: var(--panel); }.deliverable-card h3 { margin-top: 48px; font-size: 19px; letter-spacing: -.05em; }.deliverable-card p { margin-top: 12px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.audience-path-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 54px; background: var(--line); border: 1px solid var(--line); }.audience-path { min-height: 255px; padding: 28px; background: var(--panel); }.audience-path h3 { margin-top: 58px; font-size: 26px; letter-spacing: -.06em; }.audience-path p { max-width: 390px; margin: 14px 0 26px; color: var(--muted); font-size: 13px; line-height: 1.6; }.audience-enterprise { background: linear-gradient(135deg, rgba(196,255,104,.12), transparent 65%), var(--panel); }.audience-mssp { background: linear-gradient(135deg, rgba(114,232,209,.1), transparent 65%), var(--panel); }.audience-mssp > span { color: var(--cyan); }
.button:focus-visible, .text-link:focus-visible, .product-link:focus-visible, .header-cta:focus-visible, .main-nav a:focus-visible, .language-switch:focus-visible { outline: 2px solid var(--lime); outline-offset: 4px; }
@media (max-width: 900px) {
  .page-header, .page-section { padding-top: 70px; }
  .page-header-grid, .page-section-head, .callout-panel, .contact-layout { grid-template-columns: 1fr; gap: 30px; }
  .page-grid { grid-template-columns: 1fr 1fr; }
  .workflow { grid-template-columns: 1fr 1fr; }
  .workflow::before { display: none; }
  .compliance-grid { grid-template-columns: repeat(3, 1fr); }
  .trust-note-grid { grid-template-columns: 1fr 1fr; }
  .demo-panel { grid-template-columns: 1fr; }
  .deliverables-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
  .page-header { padding: 57px 0 65px; }
  .page-header h1 { font-size: 52px; }
  .page-header-lede { font-size: 15px; }
  .page-section, .page-section:last-of-type { padding: 74px 0 0; }
  .page-grid, .feature-list, .workflow, .trust-note-grid { grid-template-columns: 1fr; }
  .page-card { min-height: 180px; }
  .feature-item { min-height: 150px; }
  .callout-panel { padding: 24px; }
  .product-mark-large img { width: 60px; height: 60px; }
  .compliance-grid { grid-template-columns: repeat(2, 1fr); }
  .faq-item { grid-template-columns: 27px 1fr; gap: 10px; }
  .contact-form { padding: 21px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-field.full, .form-consent, .form-actions { grid-column: auto; }
  .form-actions { align-items: flex-start; flex-direction: column; }
  .header-tools { gap: 10px; }
  .language-switch { font-size: 9px; }
  .demo-topline { align-items: flex-start; flex-direction: column; gap: 8px; font-size: 9px; }
  .demo-tabs { grid-template-columns: 1fr; }
  .demo-tab { padding: 13px 15px; }
  .demo-panel { padding: 23px; }
  .demo-panel-copy h3 { margin-top: 39px; font-size: 31px; }
  .demo-dashboard { padding: 13px; }
  .demo-metric-grid { grid-template-columns: 1fr; }
  .demo-metric-grid div { padding: 10px 12px; flex-direction: row; align-items: baseline; justify-content: space-between; }
  .demo-metric-grid strong { font-size: 20px; }
  .demo-rail { font-size: 8px; gap: 6px; }
  .risk-grid, .deliverables-grid, .audience-path-grid { grid-template-columns: 1fr; }
  .risk-card, .deliverable-card, .audience-path { min-height: 205px; }
}

/* Final presentation pass: make the first fold read like a client briefing. */
.cookie-banner .button-ghost {
  color: var(--lime);
  background: rgba(196, 255, 104, .08);
  border-color: rgba(196, 255, 104, .68);
}

.cookie-banner .button-ghost:hover {
  color: #0b140e;
  background: var(--lime);
  border-color: var(--lime);
}

.cookie-banner-copy p {
  max-width: 880px;
}

.hero-lede {
  max-width: 560px;
}

.hero-proof span {
  color: var(--muted);
}

.graph-callout span {
  letter-spacing: .02em;
}

.visual-topline .live-label {
  white-space: nowrap;
}

@media (max-width: 620px) {
  .visual-topline {
    gap: 10px;
  }

  .visual-topline > span:first-child {
    max-width: 62%;
    line-height: 1.35;
  }

  .visual-topline .live-label {
    font-size: .6875rem;
  }

  .hero-proof {
    flex-wrap: wrap;
  }
}

/* Shared page surfaces use readable text first; compact monospace remains metadata only. */
.page-eyebrow, .page-kicker, .page-card .card-code, .workflow-step span, .product-mark-large b, .faq-item > span, .notice b, .feature-item .feature-icon, .trust-note b { font-size: var(--text-meta); }
.page-section-head p, .page-card p, .feature-item p, .workflow-step p, .faq-item p, .notice p, .trust-note p { font-size: var(--text-body); line-height: 1.65; }
.page-card h3, .feature-item h3, .workflow-step h3, .faq-item h3, .trust-note h3 { line-height: 1.2; }
.compliance-chip { font-size: var(--text-meta); }
.form-field label { font-size: var(--text-small); letter-spacing: .07em; }
.form-field input, .form-field select, .form-field textarea { font-size: var(--text-body); line-height: 1.5; }
.form-consent, .form-status { font-size: var(--text-small); line-height: 1.55; }
.form-summary, .form-mailto { font-size: var(--text-small); line-height: 1.55; }
.language-switch, .breadcrumb { font-size: var(--text-meta); }
.demo-topline, .demo-status, .demo-tab small, .demo-metric-grid span, .demo-rail { font-size: var(--text-meta); }
.demo-tab strong { font-size: var(--text-small); }
.demo-panel-copy p { font-size: var(--text-body); line-height: 1.65; }
.risk-card > span, .risk-card b, .deliverable-card > span, .audience-path > span { font-size: var(--text-meta); }
.risk-card p, .deliverable-card p, .audience-path p { font-size: var(--text-body); line-height: 1.65; }

@media (max-width: 620px) {
  .page-header-lede, .page-section-head p, .page-card p, .feature-item p, .workflow-step p, .faq-item p, .notice p, .trust-note p { font-size: var(--text-body); }
  .form-field label { font-size: .8125rem; }
  .demo-topline, .demo-status, .demo-tab small, .demo-metric-grid span, .demo-rail, .risk-card > span, .risk-card b, .deliverable-card > span, .audience-path > span { font-size: var(--text-meta); }
  .risk-card p, .deliverable-card p, .audience-path p { font-size: var(--text-body); }
}

/* Product technical snapshot: visible, scannable detail without turning the page into a datasheet. */
.product-snapshot { padding-top: 0; }
.product-snapshot .page-section-head { align-items: end; }
.product-snapshot-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 48px; background: var(--line); border: 1px solid var(--line); }
.product-snapshot-card { min-height: 190px; padding: 23px; background: var(--panel); }
.product-snapshot-card > span { color: var(--lime); font: 500 var(--text-meta) var(--mono); letter-spacing: .1em; }
.product-snapshot-card:nth-child(2) > span { color: var(--cyan); }
.product-snapshot-card:nth-child(3) > span { color: var(--orange); }
.product-snapshot-card h3 { margin-top: 38px; font-size: 18px; line-height: 1.15; }
.product-snapshot-card p { margin-top: 11px; color: var(--muted); font-size: var(--text-small); line-height: 1.6; }
.product-snapshot-note { margin-top: 17px; padding-left: 14px; border-left: 2px solid var(--lime); color: var(--muted); font-size: var(--text-small); line-height: 1.6; }
@media (max-width: 900px) { .product-snapshot-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .product-snapshot-grid { grid-template-columns: 1fr; } .product-snapshot-card { min-height: 160px; } }

/* Product surfaces: keep the table geometry stable and expose the product accent on every capability row. */
.workflow { overflow: hidden; }
.workflow-step { min-width: 0; border-right: 1px solid rgba(139, 210, 154, .12); }
.workflow-step:last-child { border-right: 0; }
.workflow-step span { position: relative; z-index: 4; display: inline-block; padding-right: 9px; background: var(--panel); }
.workflow-step p { max-width: 100%; overflow-wrap: anywhere; }
.feature-item { box-shadow: inset 2px 0 0 var(--lime); }
.feature-item.cyan { box-shadow: inset 2px 0 0 var(--cyan); }
.feature-item.orange { box-shadow: inset 2px 0 0 var(--orange); }
@media (max-width: 900px) { .workflow-step { border-right: 0; } }
@media (max-width: 620px) { .workflow { overflow: visible; } .workflow-step { border-right: 0; border-bottom: 1px solid rgba(139, 210, 154, .12); } .workflow-step:last-child { border-bottom: 0; } }

/* Form feedback stays explicit and readable for keyboard and screen-reader users. */
.form-field.is-error input, .form-field.is-error select, .form-field.is-error textarea, .form-consent.is-error input { border-color: var(--orange); }
.form-field .field-error, .form-consent .field-error { display: block; margin-top: 6px; color: var(--orange); font-size: var(--text-small); line-height: 1.45; }
.form-consent { position: relative; }
.form-consent.is-error { color: var(--orange); }
.form-consent input:focus-visible { outline: 2px solid var(--lime); outline-offset: 3px; }
.form-summary { overflow-wrap: anywhere; }

/* Slightly more generous presentation surfaces for an enterprise briefing. */
.page-card, .feature-item, .trust-note, .deliverable-card, .audience-path { overflow-wrap: anywhere; }
.page-card p, .feature-item p, .workflow-step p, .faq-item p, .trust-note p, .notice p, .callout-panel p { max-width: 100%; }

/* Legal and company identity surfaces: readable, calm and explicit about draft status. */
.legal-hero { background: radial-gradient(circle at 82% 26%, rgba(196,255,104,.08), transparent 36%); }
.legal-content { padding-bottom: 128px; }
.legal-copy { max-width: 920px; }
.legal-callout { padding: 22px 24px; border-left: 2px solid var(--lime); background: rgba(196,255,104,.07); }
.legal-callout b, .legal-meta span, .company-details span { display: block; color: var(--lime); font: 500 var(--text-meta) var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.legal-callout p { margin-top: 10px; color: var(--muted); font-size: var(--text-body); line-height: 1.7; }
.legal-section { margin-top: 52px; padding-top: 30px; border-top: 1px solid var(--line); }
.legal-section h2 { font-size: clamp(24px, 3vw, 36px); line-height: 1.12; letter-spacing: -.06em; }
.legal-section p, .legal-section li { max-width: 760px; margin-top: 17px; color: var(--muted); font-size: var(--text-body); line-height: 1.75; }
.legal-section p + p { margin-top: 12px; }
.legal-section strong { color: var(--ink); font-weight: 600; }
.legal-section a, .company-details a, .cookie-banner a { color: var(--lime); text-decoration: underline; text-decoration-color: rgba(196,255,104,.45); text-underline-offset: 3px; }
.legal-section a:hover, .company-details a:hover, .cookie-banner a:hover { color: var(--ink); }
.legal-details { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 27px 0 0; background: var(--line); border: 1px solid var(--line); }
.legal-details div { min-width: 0; padding: 20px; background: var(--panel); }
.legal-details dt { color: var(--dim); font: 500 var(--text-meta) var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.legal-details dd { margin: 12px 0 0; color: var(--ink); font-size: var(--text-body); line-height: 1.5; overflow-wrap: anywhere; }
.legal-meta { display: flex; align-items: baseline; gap: 14px; margin-top: 26px; }
.legal-meta strong { color: var(--muted); font-size: var(--text-small); font-weight: 500; }
.legal-next { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-top: 64px; padding-top: 25px; border-top: 1px solid var(--line); }
.legal-next > span { color: var(--dim); font: 500 var(--text-meta) var(--mono); letter-spacing: .08em; }
.company-details { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 44px; background: var(--line); border: 1px solid var(--line); }
.company-details > div { min-width: 0; min-height: 116px; padding: 20px; background: var(--panel); }
.company-details strong { display: block; margin-top: 17px; color: var(--ink); font-size: var(--text-body); line-height: 1.45; overflow-wrap: anywhere; }
.company-details-compact { grid-template-columns: 1fr 1fr; margin-top: 28px; background: transparent; border: 0; gap: 16px; }
.company-details-compact > div { min-height: 0; padding: 0; background: transparent; }
.company-details-compact strong { margin-top: 8px; color: var(--muted); font-size: var(--text-small); }
.footer-legal-links { display: inline-flex; flex-wrap: wrap; gap: 0; }
.cookie-banner { position: fixed; right: 16px; bottom: 16px; left: 16px; z-index: 140; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px; max-width: 1080px; margin: 0 auto; padding: 18px 20px; color: var(--ink); background: rgba(9, 23, 17, .97); border: 1px solid rgba(196,255,104,.38); box-shadow: 0 18px 60px rgba(0,0,0,.38), 0 0 32px rgba(196,255,104,.08); backdrop-filter: blur(14px); }
.cookie-banner[hidden] { display: none; }
.cookie-banner-copy { min-width: 0; }
.cookie-banner-copy strong { display: block; color: var(--lime); font-size: var(--text-small); }
.cookie-banner-copy p { display: inline; margin: 6px 10px 0 0; color: var(--muted); font-size: var(--text-small); line-height: 1.55; }
.cookie-banner-copy a { display: inline-block; margin-top: 6px; font-size: var(--text-small); }
.cookie-banner button { min-width: 88px; min-height: 44px; }
.cookie-banner button:focus-visible { outline: 2px solid var(--lime); outline-offset: 4px; }
@media (max-width: 900px) { .company-details { grid-template-columns: 1fr 1fr; } .legal-details { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) {
  .legal-meta, .legal-next { align-items: flex-start; flex-direction: column; }
  .legal-details, .company-details { grid-template-columns: 1fr; }
  .company-details-compact { grid-template-columns: 1fr 1fr; }
  .legal-next .button { width: 100%; justify-content: space-between; }
  .cookie-banner { grid-template-columns: 1fr; gap: 13px; right: 10px; bottom: 10px; left: 10px; padding: 17px; }
  .cookie-banner button { width: 100%; }
}

/* Final type safety pass: keep page headers and legal metadata from colliding at large sizes. */
.page-header h1 + .page-header-lede {
  margin-top: 22px;
}

.page-header h1 {
  line-height: 1.02;
}

.legal-page .page-header h1 {
  max-width: 780px;
  font-size: clamp(44px, 5.2vw, 76px);
  line-height: 1.04;
}

.legal-page .page-header-lede {
  max-width: 620px;
}

.legal-meta {
  flex-wrap: wrap;
  row-gap: 8px;
}

@media (max-width: 620px) {
  .page-header h1 + .page-header-lede {
    margin-top: 18px;
  }

  .legal-page .page-header h1 {
    font-size: clamp(39px, 12vw, 58px);
  }
}

/* Contact feedback: keep the action, local summary and mail fallback in a stable reading order. */
.form-actions {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(220px, 1.15fr) minmax(165px, .9fr);
  align-items: start;
  gap: 18px 22px;
}

.form-actions > button {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: start;
  min-height: 52px;
  white-space: nowrap;
}

.form-actions .form-summary {
  grid-column: 2;
  grid-row: 1 / span 2;
  width: 100%;
  min-width: 0;
  padding: 14px 16px;
  font: 400 var(--text-small)/1.6 var(--mono);
}

.form-actions .form-status {
  grid-column: 3;
  grid-row: 1;
  margin: 0;
  max-width: 250px;
  font-size: var(--text-small);
  line-height: 1.55;
}

.form-actions .form-mailto {
  grid-column: 3;
  grid-row: 2;
  align-self: end;
  white-space: normal;
  font: 600 var(--text-small)/1.45 var(--mono);
}

@media (max-width: 900px) {
  .form-actions {
    grid-template-columns: minmax(180px, 200px) minmax(0, 1fr);
  }

  .form-actions .form-status,
  .form-actions .form-mailto {
    grid-column: 2;
  }

  .form-actions .form-status { grid-row: 2; }
  .form-actions .form-mailto { grid-row: 3; align-self: start; }
}

@media (max-width: 620px) {
  .form-actions {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .form-actions > button,
  .form-actions .form-summary,
  .form-actions .form-status,
  .form-actions .form-mailto {
    grid-column: auto;
    grid-row: auto;
    max-width: none;
  }

  .form-actions > button {
    width: 100%;
    justify-content: center;
  }
}
