:root {
  color-scheme: dark;
  --ink: #030303;
  --ink-soft: #070707;
  --paper: #f4efe8;
  --paper-dim: #d8cfc4;
  --signal: #ff6400;
  --signal-secondary: #ffa500;
  --signal-dark: #ffa500;
  --line-dark: rgba(255, 255, 255, 0.1);
  --line-light: rgba(3, 3, 3, 0.14);
  --font-body: "Newsreader", Georgia, serif;
  --font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
  --page-gutter: clamp(1.25rem, 4vw, 4.5rem);
  --chapter-space: clamp(8rem, 16vw, 15rem);
  --content-width: 1200px;
  --focus-inner: #030303;
  --focus-outer: #ff6400;
  --secondary-hover-light: #9c3e00;
  --danger: #d2483e;
  --ease-mass: cubic-bezier(0.22, 1, 0.36, 1);
  --avatar-person: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='25' r='11'/%3E%3Cpath d='M11 64c0-13 9.4-21 21-21s21 8 21 21z'/%3E%3C/svg%3E");
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background: var(--ink);
}

body {
  min-width: 320px;
  margin: 0;
  overflow-x: hidden;
  background: var(--ink);
  color: var(--paper);
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body::before {
  position: fixed;
  z-index: 30;
  inset: 0;
  pointer-events: none;
  content: "";
  opacity: 0.026;
  background-image:
    repeating-radial-gradient(circle at 0 0, transparent 0, rgba(255, 255, 255, 0.72) 1px, transparent 2px, transparent 5px),
    repeating-linear-gradient(113deg, transparent 0 7px, rgba(0, 0, 0, 0.62) 8px 9px);
  background-size: 11px 11px, 17px 17px;
}

button,
input {
  font: inherit;
}

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

button:focus-visible,
a:focus-visible,
summary:focus-visible,
input:focus-visible {
  outline: 2px solid var(--focus-inner);
  outline-offset: 2px;
  box-shadow: 0 0 0 5px var(--focus-outer);
}

a {
  color: inherit;
}

img {
  display: block;
  max-width: 100%;
}

.overflow-guard {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.marketing-page,
.editorial-page,
.features-page {
  min-height: 70vh;
}

.marketing-page {
  background:
    radial-gradient(circle at 50% 4%, rgba(255, 100, 0, 0.065), transparent 25rem),
    var(--ink);
  color: var(--paper);
}

.editorial-page,
.features-page {
  background: var(--paper);
  color: var(--ink);
}

.section,
.page,
.features-inner {
  width: min(var(--content-width), calc(100% - (2 * var(--page-gutter))));
  margin-inline: auto;
}

.page,
.section {
  padding-block: clamp(7rem, 12vw, 11rem);
}

.eyebrow {
  margin: 0 0 1.25rem;
  color: currentColor;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 1.3;
  text-transform: uppercase;
  font-family: var(--font-mono);
}

.eyebrow::before {
  display: inline-block;
  width: 1.8rem;
  height: 1px;
  margin: 0 0.7rem 0.22em 0;
  background: currentColor;
  content: "";
}

h1,
h2,
h3,
p {
  text-wrap: pretty;
}

h1,
h2,
h3 {
  margin-top: 0;
  font-family: var(--font-body);
  font-weight: 500;
  letter-spacing: -0.045em;
}

p {
  margin-top: 0;
}

.section-heading {
  max-width: 52rem;
  margin: 0 auto clamp(3rem, 7vw, 6rem);
  text-align: center;
}

.section-heading.left {
  margin-left: 0;
  text-align: left;
}

.section-heading h1,
.about-manifesto h1,
.industry-detail-hero h1 {
  margin-bottom: 1.7rem;
  font-size: clamp(3.2rem, 6.8vw, 7.2rem);
  line-height: 0.94;
}

.section-heading h2,
.final-cta h2,
.industry-page-cta h2 {
  margin-bottom: 1.25rem;
  font-size: clamp(2.4rem, 4.7vw, 5.25rem);
  line-height: 0.96;
}

.section-heading > p:last-child,
.about-manifesto > p:last-child,
.industry-detail-hero > p:last-child {
  max-width: 43rem;
  color: rgba(3, 3, 3, 0.66);
  font-size: clamp(1rem, 1.45vw, 1.2rem);
}

/* Shell */
.site-header {
  position: sticky;
  z-index: 20;
  top: 1rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  width: min(1180px, calc(100% - (2 * var(--page-gutter))));
  min-height: 4.25rem;
  margin: 1rem auto -5.25rem;
  border: 1px solid var(--line-dark);
  border-radius: 0.75rem;
  padding: 0.55rem 0.65rem 0.55rem 1rem;
  background: rgba(3, 3, 3, 0.88);
  color: var(--paper);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
  backdrop-filter: blur(18px) saturate(120%);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  color: var(--paper);
  font-size: 0.9rem;
  font-weight: 650;
  letter-spacing: -0.01em;
  text-decoration: none;
  white-space: nowrap;
  font-family: var(--font-mono);
}

.brand-mark {
  display: block;
  width: 2rem;
  height: 2rem;
}

.workflow-number,
.industry-index,
.plan-badge,
.billing-availability,
.features-step-number,
.stage-number,
.stage-current,
.form-card label {
  font-family: var(--font-mono);
}

.primary-nav {
  display: flex;
  justify-content: center;
  gap: clamp(0.8rem, 2vw, 1.7rem);
  min-width: 0;
  padding-inline: 1rem;
}

.primary-nav a,
.site-footer a {
  color: inherit;
  font-size: 0.78rem;
  font-weight: 550;
  text-decoration: none;
  font-family: var(--font-mono);
}

.primary-nav a {
  position: relative;
  padding-block: 0.55rem;
}

.primary-nav a::after {
  position: absolute;
  right: 0;
  bottom: 0.22rem;
  left: 0;
  height: 1px;
  background: var(--signal);
  content: "";
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 350ms var(--ease-mass);
}

.primary-nav a:hover::after,
.primary-nav a:focus-visible::after {
  transform: scaleX(1);
  transform-origin: left;
}

.header-actions,
.hero-actions,
.features-actions,
.actions,
.industry-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

.header-actions {
  justify-content: flex-end;
}

.button {
  min-height: 2.8rem;
  border: 1px solid transparent;
  border-radius: 0.35rem;
  padding: 0.74rem 1.15rem;
  cursor: pointer;
  font-weight: 650;
  line-height: 1;
  font-family: var(--font-mono);
  transition:
    color 350ms var(--ease-mass),
    background-color 350ms var(--ease-mass),
    border-color 350ms var(--ease-mass),
    transform 350ms var(--ease-mass);
}

.button:hover {
  transform: translateY(-2px);
}

.button:active {
  transform: translateY(0) scale(0.985);
}

.button.primary {
  border-color: var(--signal);
  background: var(--signal);
  color: var(--ink);
}

.button.primary:hover {
  border-color: var(--paper);
  background: var(--paper);
}

.button.secondary {
  border-color: currentColor;
  background: transparent;
  color: inherit;
}

.button.secondary:hover {
  border-color: var(--signal);
  color: var(--secondary-hover-light);
}

.marketing-page .button.secondary:hover,
.features-hero .button.secondary:hover,
.features-final-cta .button.secondary:hover {
  color: var(--signal);
}

.nav-toggle {
  display: none;
}

/* Attention chapter */
.cinematic-hero {
  position: relative;
  display: grid;
  min-height: min(62rem, 100dvh);
  place-items: center;
  isolation: isolate;
  padding: clamp(8rem, 14vw, 11rem) var(--page-gutter) clamp(7rem, 12vw, 10rem);
  overflow: clip;
  text-align: center;
}

.cinematic-hero::before {
  position: absolute;
  z-index: -2;
  top: -18rem;
  left: 50%;
  width: min(88vw, 76rem);
  aspect-ratio: 1;
  border: 1px solid rgba(255, 100, 0, 0.1);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 100, 0, 0.08), rgba(3, 3, 3, 0) 63%);
  content: "";
  transform: translateX(-50%);
}

.hero-copy {
  position: relative;
  z-index: 2;
  display: grid;
  justify-items: center;
  width: 100%;
}

.hero-copy .eyebrow {
  color: var(--signal);
}

.hero-title {
  max-width: 1200px;
  margin: 0 auto;
  font-size: clamp(3.25rem, 7.4vw, 8rem);
  font-weight: 500;
  line-height: 0.91;
  letter-spacing: -0.062em;
  text-wrap: balance;
}

.hero-intro {
  max-width: 42rem;
  margin: clamp(1.8rem, 4vw, 3rem) auto 0;
  color: rgba(244, 239, 232, 0.68);
  font-size: clamp(1rem, 1.5vw, 1.25rem);
}

.hero-actions {
  justify-content: center;
  margin-top: 2rem;
}

.vault-emblem {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  pointer-events: none;
}

.vault-emblem-svg {
  width: clamp(320px, 46vw, 620px);
  height: auto;
  color: rgba(244, 239, 232, 0.08);
}

.vault-tick,
.vault-spoke {
  stroke: currentColor;
}

.vault-tick-indicator {
  stroke: var(--signal);
  opacity: 0.35;
}

.vault-dial {
  transform-origin: 150px 150px;
  transition: transform 900ms var(--ease-mass);
}

/* Interest chapter */
.product-story {
  position: relative;
  padding: var(--chapter-space) var(--page-gutter);
  background: var(--paper-dim);
  color: var(--ink);
}

.product-story::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 0;
  height: clamp(6rem, 14vw, 11rem);
  background: linear-gradient(to bottom, var(--ink) 0%, transparent 100%);
  content: "";
  pointer-events: none;
}

.product-story > * {
  position: relative;
  z-index: 1;
}

.chapter-heading {
  width: min(var(--content-width), 100%);
  margin: 0 auto clamp(4rem, 9vw, 8rem);
}

.chapter-heading h2 {
  max-width: 62rem;
  margin-bottom: 1.8rem;
  font-size: clamp(3.1rem, 7vw, 7.5rem);
  line-height: 0.9;
}

.chapter-heading > p:last-child {
  max-width: 43rem;
  color: rgba(3, 3, 3, 0.64);
  font-size: clamp(1rem, 1.5vw, 1.25rem);
}

.product-bento {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(15rem, auto));
  grid-auto-flow: dense;
  width: min(var(--content-width), 100%);
  margin-inline: auto;
  border-top: 1px solid var(--line-light);
  border-left: 1px solid var(--line-light);
}

.bento-item {
  position: relative;
  min-width: 0;
  min-height: 15rem;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  overflow: clip;
  border-right: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
  border-radius: 0;
  background: rgba(255, 255, 255, 0.16);
}

.bento-item > * {
  position: relative;
  z-index: 2;
}

.bento-item h3 {
  max-width: 19rem;
  margin-bottom: 1rem;
  font-size: clamp(1.7rem, 3vw, 3rem);
  line-height: 0.98;
}

.bento-item > p:last-child {
  max-width: 29rem;
  margin-bottom: 0;
  color: rgba(3, 3, 3, 0.64);
}

.bento-vault {
  grid-area: span 2 / span 2;
  min-height: 31rem;
  padding-bottom: 17rem;
  background: var(--ink);
  color: var(--paper);
}

.bento-vault > p:last-child {
  color: rgba(244, 239, 232, 0.62);
}

.bento-vault::after {
  position: absolute;
  right: clamp(1.5rem, 5vw, 4rem);
  bottom: -7rem;
  width: clamp(18rem, 32vw, 30rem);
  aspect-ratio: 1;
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMjAgMjIwIj4KICA8Y2lyY2xlIGN4PSIxMTAiIGN5PSIxMTAiIHI9Ijk4IiBmaWxsPSJub25lIiBzdHJva2U9InJnYmEoMjQ0LDIzOSwyMzIsMC4xNikiIHN0cm9rZS13aWR0aD0iMS41Ii8+CiAgPGNpcmNsZSBjeD0iMTEwIiBjeT0iMTEwIiByPSI3MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJyZ2JhKDI0NCwyMzksMjMyLDAuMTIpIiBzdHJva2Utd2lkdGg9IjEiLz4KICA8ZyBmaWxsPSJyZ2JhKDI0NCwyMzksMjMyLDAuMjgpIj4KICAgIDxjaXJjbGUgY3g9IjExMCIgY3k9IjEyIiByPSIzLjQiLz4KICAgIDxjaXJjbGUgY3g9IjE4MCIgY3k9IjQwIiByPSIzLjQiLz4KICAgIDxjaXJjbGUgY3g9IjIwOCIgY3k9IjExMCIgcj0iMy40Ii8+CiAgICA8Y2lyY2xlIGN4PSIxODAiIGN5PSIxODAiIHI9IjMuNCIvPgogICAgPGNpcmNsZSBjeD0iMTEwIiBjeT0iMjA4IiByPSIzLjQiLz4KICAgIDxjaXJjbGUgY3g9IjQwIiBjeT0iMTgwIiByPSIzLjQiLz4KICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTEwIiByPSIzLjQiLz4KICAgIDxjaXJjbGUgY3g9IjQwIiBjeT0iNDAiIHI9IjMuNCIvPgogIDwvZz4KICA8cmVjdCB4PSI3OC4xIiB5PSI3OC4xIiB3aWR0aD0iNjMuOCIgaGVpZ2h0PSI2My44IiByeD0iMTQuNSIgZmlsbD0iIzAzMDMwMyIgc3Ryb2tlPSIjZmY2NDAwIiBzdHJva2Utd2lkdGg9IjUuOCIvPgogIDxsaW5lIHgxPSIxMTAiIHkxPSIxMTAiIHgyPSIxMjcuNCIgeTI9IjkyLjYiIHN0cm9rZT0iI2ZmNjQwMCIgc3Ryb2tlLXdpZHRoPSI1LjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogIDxjaXJjbGUgY3g9IjEyNy40IiBjeT0iOTIuNiIgcj0iNy4yNSIgZmlsbD0iI2ZmNjQwMCIvPgogIDxwYXRoIGQ9Ik04OS43IDExMi45IFYxMzAuMyBIMTA3LjEiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmNjQwMCIgc3Ryb2tlLXdpZHRoPSI1LjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K") no-repeat center / contain;
  content: "";
}

.bento-collaboration {
  grid-column: span 2;
  padding-right: min(28vw, 18rem);
}

.bento-collaboration-avatars {
  position: absolute;
  right: 2rem;
  bottom: 2rem;
  display: flex;
}

.bento-collaboration-avatars span {
  position: relative;
  display: block;
  width: 4.5rem;
  aspect-ratio: 1;
  margin-left: -1.1rem;
  overflow: hidden;
  border: 3px solid #f7f3ee;
  border-radius: 50%;
  background: var(--ink);
  color: var(--paper);
}

.bento-collaboration-avatars span:first-child {
  margin-left: 0;
}

.bento-collaboration-avatars span::before {
  position: absolute;
  inset: 0;
  background: currentColor;
  -webkit-mask: var(--avatar-person) no-repeat center / cover;
  mask: var(--avatar-person) no-repeat center / cover;
  content: "";
}

.bento-collaboration-avatars span:nth-child(2) {
  background: var(--signal);
  color: rgba(3, 3, 3, 0.86);
}

.bento-collaboration-avatars span:nth-child(3) {
  background: var(--paper-dim);
  color: rgba(3, 3, 3, 0.62);
}

.bento-collaboration-avatars .is-invite {
  display: grid;
  place-items: center;
  border: 2px dashed rgba(3, 3, 3, 0.32);
  background: #f7f3ee;
  color: var(--ink);
}

.bento-collaboration-avatars .is-invite::before {
  position: static;
  width: 1.4rem;
  height: 1.4rem;
  -webkit-mask: none;
  mask: none;
  background:
    linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat,
    linear-gradient(currentColor, currentColor) center / 2px 100% no-repeat;
}

.bento-keys,
.bento-activity {
  background: #eee7de;
}

.bento-keys {
  padding-right: clamp(4.5rem, 9vw, 6rem);
}

.bento-keys::after {
  position: absolute;
  right: 0.75rem;
  top: 50%;
  width: 4.5rem;
  height: 2.7rem;
  transform: translateY(-50%);
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMDAgMTIwIj4KICA8cGF0aCBkPSJNMjAsNjAgQzIwLDMwIDYwLDEwIDEwMCwxMCBDMTQwLDEwIDE4MCwzMCAxODAsNjAgQzE4MCw5MCAxNDAsMTEwIDEwMCwxMTAgQzYwLDExMCAyMCw5MCAyMCw2MCBaIiBmaWxsPSJub25lIiBzdHJva2U9IiMwMzAzMDMiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogIDxjaXJjbGUgY3g9IjEwMCIgY3k9IjYwIiByPSIxOSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDMwMzAzIiBzdHJva2Utd2lkdGg9IjQiLz4KICA8Y2lyY2xlIGN4PSIxMDAiIGN5PSI2MCIgcj0iNS41IiBmaWxsPSIjMDMwMzAzIi8+CiAgPGxpbmUgeDE9IjEyIiB5MT0iMTQiIHgyPSIxODgiIHkyPSIxMDYiIHN0cm9rZT0iI2ZmNjQwMCIgc3Ryb2tlLXdpZHRoPSI2IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KPC9zdmc+Cg==") no-repeat center / contain;
  content: "";
}

.bento-activity::after {
  position: absolute;
  right: 1.75rem;
  bottom: 2rem;
  left: 1.75rem;
  height: 4.2rem;
  background: repeating-linear-gradient(to bottom, var(--line-light) 0 1px, transparent 1px 1.35rem);
  content: "";
}

/* Desire chapters */
.vault-workflow {
  padding: var(--chapter-space) var(--page-gutter);
  background:
    radial-gradient(circle at 20% 45%, rgba(255, 100, 0, 0.055), transparent 25rem),
    var(--ink);
  color: var(--paper);
}

.workflow-intro {
  width: min(var(--content-width), 100%);
  margin: 0 auto clamp(3.5rem, 8vw, 6rem);
}

.workflow-intro .eyebrow {
  color: var(--signal);
}

.workflow-intro h2 {
  max-width: 46rem;
  margin-bottom: 1.5rem;
  font-size: clamp(2.6rem, 5vw, 4.6rem);
  line-height: 0.96;
}

.workflow-intro > p:last-child {
  max-width: 40rem;
  color: rgba(244, 239, 232, 0.62);
}

.workflow-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: min(var(--content-width), 100%);
  margin: 0 auto;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line-dark);
  border-left: 1px solid var(--line-dark);
}

.workflow-card {
  min-height: 18rem;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border-right: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}

.workflow-icon {
  display: block;
  width: 2.75rem;
  height: 2.75rem;
  margin-bottom: clamp(2.5rem, 6vw, 4.5rem);
}

.workflow-number {
  display: block;
  margin-bottom: 0.6rem;
  color: var(--signal);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.workflow-card h3 {
  margin-bottom: 0.8rem;
  font-size: clamp(1.3rem, 2vw, 1.6rem);
  line-height: 1.05;
}

.workflow-card p {
  color: rgba(244, 239, 232, 0.62);
}

.local-key-statement {
  position: relative;
  padding: var(--chapter-space) var(--page-gutter);
  overflow: clip;
  border-top: 1px solid var(--line-dark);
  background:
    radial-gradient(circle at 82% 30%, rgba(255, 100, 0, 0.09), transparent 30rem),
    var(--ink);
  color: var(--paper);
}

.local-key-statement::after {
  position: absolute;
  right: -18vw;
  bottom: -35vw;
  width: min(65rem, 75vw);
  aspect-ratio: 1;
  border: 1px solid rgba(255, 100, 0, 0.3);
  border-radius: 50%;
  box-shadow:
    0 0 0 4vw rgba(255, 100, 0, 0.05),
    0 0 0 8vw rgba(255, 100, 0, 0.035),
    0 0 0 12vw rgba(255, 100, 0, 0.02);
  content: "";
  animation: local-key-pulse 7s ease-in-out infinite;
}

@keyframes local-key-pulse {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.06);
    opacity: 0.8;
  }
}

.local-key-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: clamp(3rem, 8vw, 6rem);
  width: min(var(--content-width), 100%);
  margin-inline: auto;
  align-items: center;
}

.local-key-copy .eyebrow {
  color: var(--signal);
}

.local-key-copy h2 {
  max-width: 32rem;
  margin-bottom: 2rem;
  font-size: clamp(2.8rem, 5vw, 5.2rem);
  line-height: 0.95;
}

.local-key-copy > p {
  max-width: 34rem;
  font-size: clamp(1.05rem, 1.5vw, 1.3rem);
  color: rgba(244, 239, 232, 0.62);
}

.local-key-cta-lead {
  margin-top: 1.5rem;
  color: rgba(244, 239, 232, 0.5);
  font-size: 1rem;
}

.local-key-copy .button {
  display: block;
  width: max-content;
  margin-top: 1.25rem;
}

.local-key-proof {
  display: grid;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.local-key-proof-item {
  border: 1px solid var(--line-dark);
  border-radius: 0.35rem;
  padding: 1.5rem;
  background: var(--ink-soft);
}

.local-key-proof-item h3 {
  margin-bottom: 0.5rem;
  color: var(--paper);
  font-size: 1.25rem;
  font-weight: 650;
}

.local-key-proof-item p {
  max-width: 26rem;
  color: rgba(244, 239, 232, 0.6);
}

.industry-outcomes {
  position: relative;
  padding: var(--chapter-space) var(--page-gutter);
  background: var(--paper-dim);
  color: var(--ink);
}

.industry-outcomes::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 0;
  height: clamp(6rem, 14vw, 11rem);
  background: linear-gradient(to bottom, var(--ink) 0%, transparent 100%);
  content: "";
  pointer-events: none;
}

.industry-outcomes > * {
  position: relative;
  z-index: 1;
}

.industry-accordion {
  display: flex;
  width: min(var(--content-width), 100%);
  min-height: 36rem;
  margin-inline: auto;
  border-block: 1px solid var(--line-light);
}

.industry-slice {
  display: flex;
  flex: 0.7 1 0;
  min-width: 5.75rem;
  border-right: 1px solid var(--line-light);
  overflow: clip;
}

.industry-slice:first-child {
  border-left: 1px solid var(--line-light);
}

.industry-slice.active {
  flex-grow: 4;
}

.industry-trigger {
  display: flex;
  flex: 0 0 5.75rem;
  align-items: center;
  justify-content: flex-end;
  gap: 1.1rem;
  min-width: 5.75rem;
  border: 0;
  padding: 1.5rem 1.25rem;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font-size: 1.05rem;
  font-weight: 650;
  letter-spacing: 0.01em;
  text-align: left;
  transition:
    color 350ms var(--ease-mass),
    background-color 350ms var(--ease-mass);
  writing-mode: vertical-rl;
}

.industry-trigger:hover,
.industry-trigger:focus-visible,
.industry-slice.active .industry-trigger {
  background: var(--ink);
  color: var(--signal);
}

.industry-trigger:focus-visible {
  outline-offset: -4px;
  box-shadow: inset 0 0 0 3px var(--focus-outer);
}

@media (min-width: 981px) and (hover: hover) and (pointer: fine) {
  .industry-slice.active .industry-trigger {
    flex: 0 0 12.5rem;
    min-width: 12.5rem;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
    gap: 0.6rem;
    padding: 1.75rem 1.5rem;
    font-size: 1.5rem;
    line-height: 1.2;
    text-align: left;
    overflow-wrap: break-word;
    writing-mode: horizontal-tb;
  }

  .industry-slice.active .industry-index {
    font-size: 0.78rem;
  }
}

.industry-index {
  color: currentColor;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.2em;
}

.industry-panel {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  flex: 1 1 auto;
  min-width: 0;
  background: var(--ink);
  color: var(--paper);
}

.industry-panel[hidden] {
  display: none;
}

.industry-image {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 22rem;
  overflow: clip;
  background:
    radial-gradient(circle, rgba(255, 100, 0, 0.08), transparent 65%),
    var(--ink-soft);
}

.industry-image img {
  width: min(9rem, 34%);
  height: auto;
  opacity: 0.92;
  transform: scale(1);
  transition:
    transform 700ms var(--ease-mass),
    opacity 700ms var(--ease-mass);
}

.industry-slice:hover .industry-image img,
.industry-slice:focus-within .industry-image img {
  opacity: 1;
  transform: scale(1.08);
}

.industry-copy {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1.5rem;
  border-top: 1px solid var(--line-dark);
  padding: 1.5rem;
}

.industry-copy h3 {
  max-width: 24rem;
  margin: 0;
  font-size: clamp(1.35rem, 2.5vw, 2.5rem);
  line-height: 1;
}

.industry-copy a {
  flex: none;
  color: var(--signal);
  font-size: 0.75rem;
  font-weight: 650;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.3rem;
}

.outcome-panel {
  width: min(var(--content-width), 100%);
  margin: clamp(5rem, 9vw, 8rem) auto 0;
  border: 1px solid var(--line-dark);
  padding: clamp(1.5rem, 4vw, 3rem);
  background: var(--ink);
  color: var(--paper);
}

.outcome-list {
  display: grid;
  gap: clamp(1rem, 2.5vw, 1.5rem);
  margin: 0;
  padding: 0;
  list-style: none;
}

.outcome-list-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 1.25rem;
  max-width: 42rem;
  padding-top: clamp(1rem, 2.5vw, 1.5rem);
  border-top: 1px solid var(--line-dark);
}

.outcome-list-item:first-child {
  padding-top: 0;
  border-top: 0;
}

.outcome-list-item p {
  margin: 0;
  font-size: clamp(1.1rem, 1.8vw, 1.6rem);
  line-height: 1.2;
}

.outcome-avatar {
  position: relative;
  display: block;
  width: 3.2rem;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 50%;
  background: var(--signal);
  color: rgba(3, 3, 3, 0.86);
}

.outcome-avatar::before {
  position: absolute;
  inset: 0;
  background: currentColor;
  -webkit-mask: var(--avatar-person) no-repeat center / cover;
  mask: var(--avatar-person) no-repeat center / cover;
  content: "";
}

.outcome-list-item:nth-child(2) .outcome-avatar {
  background: var(--paper-dim);
  color: rgba(3, 3, 3, 0.62);
}

.outcome-list-item:nth-child(3) .outcome-avatar {
  background: var(--signal-secondary);
  color: rgba(3, 3, 3, 0.8);
}

/* Action chapter */
.application-chapter {
  position: relative;
  display: grid;
  justify-items: center;
  min-height: 48rem;
  align-content: center;
  padding: var(--chapter-space) var(--page-gutter);
  overflow: clip;
  border-top: 1px solid var(--line-dark);
  background: var(--ink);
  color: var(--paper);
  text-align: center;
}

.application-chapter::before,
.application-chapter::after {
  position: absolute;
  border: 1px solid rgba(255, 100, 0, 0.15);
  border-radius: 50%;
  content: "";
}

.application-chapter::before {
  width: min(85vw, 64rem);
  aspect-ratio: 1;
}

.application-chapter::after {
  width: min(60vw, 42rem);
  aspect-ratio: 1;
}

.application-chapter > * {
  position: relative;
  z-index: 1;
}

.application-chapter .eyebrow {
  color: var(--signal);
}

.application-chapter h2 {
  max-width: 64rem;
  margin-bottom: 1.5rem;
  font-size: clamp(3.2rem, 8vw, 8.4rem);
  line-height: 0.9;
}

.application-chapter > p:not(.eyebrow) {
  color: rgba(244, 239, 232, 0.66);
  font-size: 1.15rem;
}

.application-chapter .button {
  margin-top: 1.5rem;
}

/* Shared secondary pages */
.card,
.pricing-card,
.contact-card,
.form-card,
.status-box,
.download-box {
  border: 1px solid var(--line-light);
  border-radius: 0.45rem;
  background: rgba(255, 255, 255, 0.24);
  box-shadow: none;
}

.card,
.contact-card {
  padding: clamp(1.5rem, 3vw, 2.5rem);
}

.card h2,
.card h3,
.contact-card h2,
.pricing-card h2,
.status-box h2,
.form-card h2,
.download-box h3 {
  margin-bottom: 1rem;
  line-height: 1.05;
}

.card p,
.contact-card p,
.pricing-card p,
.status-box p,
.form-card p,
.download-box p {
  color: rgba(3, 3, 3, 0.64);
}

.security-page {
  background:
    linear-gradient(to right, transparent 49.95%, rgba(3, 3, 3, 0.06) 50%, transparent 50.05%),
    var(--paper);
}

.security-intro {
  max-width: 59rem;
}

.security-trust-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(65rem, 100%);
  margin-left: auto;
  border-top: 1px solid var(--line-light);
  border-left: 1px solid var(--line-light);
}

.security-trust-item {
  min-height: 17rem;
  border-right: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
  padding: clamp(1.5rem, 3vw, 2.5rem);
}

.security-trust-item h2 {
  font-size: clamp(1.7rem, 3vw, 3rem);
}

.security-trust-item p {
  color: rgba(3, 3, 3, 0.64);
}

.security-trust-lead {
  grid-column: span 2;
  min-height: 21rem;
  background: var(--ink);
  color: var(--paper);
}

.security-trust-lead p {
  color: rgba(244, 239, 232, 0.64);
}

.security-visibility {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  width: min(65rem, 100%);
  margin: clamp(3rem, 7vw, 6rem) 0 0 auto;
  align-items: start;
}

.security-visibility-copy h2 {
  font-size: clamp(1.9rem, 3.4vw, 3.2rem);
}

.security-visibility-copy > p {
  color: rgba(3, 3, 3, 0.64);
}

.security-visibility-list {
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line-light);
}

.security-visibility-list li {
  border-bottom: 1px solid var(--line-light);
  padding: 0.85rem 0;
}

.key-flow {
  margin: 0;
  background: var(--ink);
  color: var(--paper);
  padding: clamp(1.25rem, 3vw, 2.25rem);
}

.kx-boundary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: clamp(0.75rem, 2vw, 1.5rem);
}

.kx-line {
  width: 0;
  border-left: 1px dashed var(--signal-secondary);
}

.kx-side-label {
  margin: 0 0 1rem;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.kx-side-device .kx-side-label {
  color: var(--signal);
}

.kx-side-us .kx-side-label {
  color: rgba(244, 239, 232, 0.5);
}

.kx-rows {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kx-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.75rem;
  align-items: start;
  border: 1px solid var(--line-dark);
  padding: 0.8rem 0.9rem;
}

.kx-side-device .kx-row:first-child {
  border-color: var(--signal);
}

.kx-row strong {
  display: block;
  font-weight: 500;
  font-size: 1.05rem;
}

.kx-row span {
  color: rgba(244, 239, 232, 0.62);
  font-size: 0.9rem;
}

.kx-side-us .kx-row {
  border-style: dashed;
  color: rgba(244, 239, 232, 0.55);
}

.kx-icon {
  display: inline-grid;
  place-items: center;
  width: 1.5rem;
  height: 1.5rem;
  flex: none;
  color: var(--signal);
}

.kx-icon svg {
  width: 100%;
  height: 100%;
}

.kx-icon-remove,
.kx-side-us .kx-icon {
  color: rgba(244, 239, 232, 0.45);
}

.key-flow figcaption,
.kx-figure figcaption {
  margin-top: 1.75rem;
  color: rgba(244, 239, 232, 0.5);
  font-size: 0.9rem;
}

.key-system {
  margin: clamp(3rem, 7vw, 6rem) 0 0;
  background: var(--ink);
  color: var(--paper);
  padding: clamp(1.5rem, 4vw, 3.5rem);
}

.key-system-intro {
  max-width: 40rem;
  margin-bottom: clamp(3rem, 6vw, 5rem);
}

.key-system-intro h2 {
  scroll-margin-top: 7rem;
  font-size: clamp(1.9rem, 3.6vw, 3.4rem);
}

.key-system-intro > p:not(.eyebrow) {
  color: rgba(244, 239, 232, 0.64);
}

.kx-figure {
  margin: 0 0 clamp(3rem, 6vw, 5rem);
  border: 1px solid var(--line-dark);
  background: var(--ink-soft);
  padding: clamp(2rem, 5vw, 4rem);
}

.kx-figure-head {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 0.9rem;
  align-items: baseline;
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.kx-figure-head h3 {
  margin: 0;
  font-size: clamp(1.4rem, 2.4vw, 2.1rem);
}

.kx-figure-tag {
  color: var(--signal);
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
}

.kx-nodes {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(1rem, 3vw, 2rem);
  margin: 0;
  padding: 0;
  list-style: none;
}

.kx-nodes-stack {
  flex-direction: column;
  align-items: flex-start;
}

.kx-node {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 0.6rem;
}

.kx-nodes-stack .kx-node {
  flex-direction: row;
  gap: 1rem;
}

.kx-node-disc {
  position: relative;
  display: grid;
  place-items: center;
  width: 4.25rem;
  height: 4.25rem;
  border: 1px solid var(--signal);
  border-radius: 50%;
}

.kx-node-disc .kx-icon {
  width: 2rem;
  height: 2rem;
}

.kx-node-key {
  position: absolute;
  right: -0.4rem;
  bottom: -0.2rem;
  display: grid;
  place-items: center;
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 50%;
  background: var(--signal);
}

.kx-node-key .kx-icon {
  width: 1.1rem;
  height: 1.1rem;
  color: var(--ink);
}

.kx-nodes-stack {
  padding-left: 1.5rem;
  border-left: 1px solid var(--signal);
}

.kx-nodes-stack .kx-node {
  position: relative;
}

.kx-nodes-stack .kx-node::before {
  content: "";
  position: absolute;
  left: -1.5rem;
  top: 2.1rem;
  width: 1.5rem;
  height: 1px;
  background: var(--signal);
}

.kx-nodes-stack .kx-node-off::before {
  background: var(--line-dark);
}

.kx-node-label {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.kx-node-off .kx-node-disc {
  border-style: dashed;
  border-color: var(--line-dark);
}

.kx-node-off .kx-icon,
.kx-node-off .kx-node-label {
  color: rgba(244, 239, 232, 0.45);
}

.kx-icon {
  display: inline-grid;
  place-items: center;
  width: 1.5rem;
  height: 1.5rem;
  flex: none;
  color: var(--signal);
}

.kx-icon svg {
  width: 100%;
  height: 100%;
}

.kx-access {
  display: grid;
  grid-template-columns: auto minmax(3rem, 1fr) auto;
  align-items: center;
  gap: clamp(1rem, 3vw, 2.5rem);
  max-width: 40rem;
  margin: 0 auto;
}

.kx-vault {
  display: grid;
  justify-items: center;
  gap: 0.75rem;
  border: 1px solid var(--signal);
  padding: 1.75rem 2rem;
}

.kx-vault .kx-icon {
  width: 3.5rem;
  height: 3.5rem;
}

.kx-vault strong {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.kx-link {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 0.4rem;
  min-width: 3rem;
  color: var(--signal-secondary);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.kx-access > .kx-link {
  height: 1px;
  background: var(--signal);
}

.kx-link .kx-icon {
  width: 2rem;
  height: 2rem;
}

.kx-flow {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: clamp(1rem, 3vw, 2rem);
}

.kx-flow-three {
  grid-template-columns: 1fr minmax(2rem, 5rem) 1fr minmax(2rem, 5rem) 1fr;
}

.kx-flow-three > .kx-link {
  height: 1px;
  background: var(--signal);
}

.kx-flow-three > .kx-link::after {
  content: "";
  position: absolute;
  right: -1px;
  top: -4px;
  border: 4.5px solid transparent;
  border-left: 7px solid var(--signal);
  border-right: 0;
}

.kx-figure figcaption {
  max-width: 34rem;
  margin: clamp(2rem, 4vw, 3rem) auto 0;
  color: rgba(244, 239, 232, 0.6);
  text-align: center;
}

.kx-barrier {
  margin: 0;
  border-top: 1px dashed var(--signal-secondary);
  padding-top: 1rem;
  color: var(--signal-secondary);
  font-family: var(--font-mono);
  font-size: 0.78rem;
  letter-spacing: 0.04em;
}

@media (max-width: 760px) {
  .kx-boundary,
  .kx-flow,
  .kx-flow-three {
    grid-template-columns: 1fr;
  }

  .kx-line {
    width: auto;
    border-left: 0;
    border-top: 1px dashed var(--signal-secondary);
  }

  .kx-access {
    grid-template-columns: 1fr;
    justify-items: center;
  }

  .kx-access > .kx-link,
  .kx-flow-three > .kx-link {
    width: 1px;
    height: 2rem;
  }

  .kx-flow-three > .kx-link::after {
    top: auto;
    right: auto;
    bottom: -1px;
    left: -4px;
    border: 4.5px solid transparent;
    border-top: 7px solid var(--signal);
    border-bottom: 0;
  }

  .kx-nodes-stack {
    align-items: center;
  }
}

@media (max-width: 900px) {
  .security-visibility {
    grid-template-columns: 1fr;
    width: 100%;
  }
}

.pricing-page {
  background:
    radial-gradient(circle at 50% -5rem, rgba(108, 148, 19, 0.12), transparent 32rem),
    var(--paper);
}

.pricing-intro {
  max-width: 61rem;
}

.pricing-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  align-items: stretch;
  border-top: 1px solid var(--line-light);
  border-left: 1px solid var(--line-light);
}

.pricing-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 35rem;
  border: 0;
  border-right: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
  border-radius: 0;
  padding: clamp(1.5rem, 2.5vw, 2.2rem);
}

.pricing-card.recommended {
  background: var(--ink);
  color: var(--paper);
}

.pricing-card.recommended p {
  color: rgba(244, 239, 232, 0.65);
}

.pricing-card h2 {
  font-size: clamp(2rem, 3vw, 3.1rem);
}

.plan-badge {
  align-self: flex-start;
  margin: 0 0 1.5rem;
  border: 1px solid currentColor;
  border-radius: 0.25rem;
  padding: 0.35rem 0.5rem;
  color: var(--signal-dark);
  font-size: 0.65rem;
  font-weight: 750;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.recommended .plan-badge {
  color: var(--signal);
}

.plan-audience {
  min-height: 6.5rem;
}

.plan-features {
  display: grid;
  gap: 0.85rem;
  margin: 1.5rem 0 2rem;
  padding-left: 1.2rem;
}

.plan-features li::marker {
  color: var(--signal-dark);
}

.billing-availability {
  margin-top: auto;
  font-weight: 650;
}

.pricing-card .button {
  width: 100%;
  margin-top: auto;
}

.pricing-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: clamp(4rem, 8vw, 7rem);
}

.faq-layout {
  display: grid;
  grid-template-columns: minmax(16rem, 0.65fr) minmax(0, 1.35fr);
  gap: clamp(4rem, 10vw, 10rem);
  align-items: start;
}

.faq-intro {
  position: sticky;
  top: 8.5rem;
  margin-bottom: 0;
}

.faq-list {
  display: grid;
  gap: 0;
  max-width: none;
  border-top: 1px solid var(--line-light);
}

.faq-list details {
  border: 0;
  border-bottom: 1px solid var(--line-light);
  border-radius: 0;
  padding: 1.5rem 0;
  background: transparent;
}

.faq-list summary {
  position: relative;
  padding-right: 3rem;
  cursor: pointer;
  font-size: clamp(1.3rem, 2.3vw, 2rem);
  font-weight: 550;
  list-style: none;
}

.faq-list summary::-webkit-details-marker {
  display: none;
}

.faq-list summary::after {
  position: absolute;
  top: 0;
  right: 0;
  color: var(--signal-dark);
  content: "+";
  font-size: 1.5rem;
  transition: transform 350ms var(--ease-mass);
}

.faq-list details[open] summary::after {
  transform: rotate(45deg);
}

.faq-list details p {
  max-width: 40rem;
  margin: 1.2rem 0 0;
  color: rgba(3, 3, 3, 0.64);
}

.about-page {
  background: var(--ink);
  color: var(--paper);
}

.about-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(17rem, 0.7fr);
  gap: clamp(5rem, 12vw, 12rem);
  align-items: end;
  min-height: 48rem;
}

.about-manifesto h1 {
  max-width: 58rem;
}

.about-manifesto > p:last-child {
  color: rgba(244, 239, 232, 0.62);
}

.about-manifesto .eyebrow {
  color: var(--signal);
}

.contact-card {
  border-color: var(--signal);
  background: var(--signal);
  color: var(--ink);
}

.contact-card p {
  color: rgba(3, 3, 3, 0.68);
}

.contact-card a {
  font-weight: 700;
  text-underline-offset: 0.3rem;
}

.industries-intro {
  max-width: 62rem;
}

.industry-directory {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line-light);
  border-left: 1px solid var(--line-light);
  counter-reset: industry-directory;
  list-style: none;
}

.industry-directory-entry {
  min-height: 17rem;
  border-right: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
  padding: clamp(1.5rem, 3vw, 2.5rem);
  counter-increment: industry-directory;
}

.industry-directory-entry::before {
  display: block;
  margin-bottom: 3rem;
  color: var(--signal-dark);
  content: counter(industry-directory, decimal-leading-zero);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.13em;
}

.industry-directory-entry h2 {
  margin-bottom: 0.8rem;
  font-size: clamp(1.7rem, 3vw, 3rem);
}

.industry-directory-entry p {
  color: rgba(3, 3, 3, 0.63);
}

.industry-page-cta {
  margin-top: clamp(5rem, 10vw, 9rem);
  border: 1px solid var(--line-dark);
  border-radius: 0;
  padding: clamp(3rem, 8vw, 7rem);
  background: var(--ink);
  color: var(--paper);
  text-align: center;
}

.industry-page-cta h2 {
  max-width: 55rem;
  margin-inline: auto;
}

.final-cta .button,
.industry-page-cta .button {
  margin-top: clamp(1.5rem, 3vh, 2.5rem);
}

.industry-detail-page {
  background:
    linear-gradient(115deg, var(--paper) 0 72%, #eadfd3 72% 100%);
}

.industry-detail-hero {
  max-width: 61rem;
  margin-bottom: clamp(5rem, 10vw, 9rem);
}

.industry-page-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--line-light);
  border-left: 1px solid var(--line-light);
}

.industry-benefit-panel {
  min-height: 22rem;
  border: 0;
  border-right: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
  border-radius: 0;
}

.industry-benefit-panel h2 {
  font-size: clamp(1.7rem, 3vw, 3rem);
}

/* Features page */
.features-page {
  background: var(--paper);
}

.features-hero,
.features-final-cta {
  position: relative;
  padding: clamp(11rem, 18vw, 15rem) var(--page-gutter) clamp(7rem, 12vw, 11rem);
  overflow: clip;
  background: var(--ink);
  color: var(--paper);
}

.features-hero::after {
  position: absolute;
  right: -12rem;
  bottom: -18rem;
  width: min(65vw, 50rem);
  aspect-ratio: 1;
  border: 1px solid rgba(255, 100, 0, 0.2);
  border-radius: 50%;
  box-shadow:
    0 0 0 6rem rgba(255, 100, 0, 0.022),
    0 0 0 12rem rgba(255, 100, 0, 0.018);
  content: "";
}

.features-hero .features-inner,
.features-final-cta .features-inner {
  position: relative;
  z-index: 1;
}

.features-hero .eyebrow,
.features-final-cta .eyebrow {
  color: var(--signal);
}

.features-hero h1 {
  max-width: 65rem;
  margin-bottom: 2rem;
  font-size: clamp(3.25rem, 7.4vw, 8rem);
  line-height: 0.92;
}

.features-hero-intro {
  max-width: 47rem;
  margin-bottom: 0;
  color: rgba(244, 239, 232, 0.65);
  font-size: clamp(1rem, 1.5vw, 1.25rem);
}

.features-actions {
  margin-top: 2rem;
}

.features-section,
.features-key-section {
  padding: var(--chapter-space) var(--page-gutter);
}

.features-section-heading {
  max-width: 52rem;
  margin-bottom: clamp(3.5rem, 8vw, 7rem);
}

.features-section-heading h2,
.features-key-copy h2,
.features-final-cta h2 {
  margin-bottom: 1.5rem;
  font-size: clamp(2.9rem, 6vw, 6.7rem);
  line-height: 0.92;
}

.features-section-heading > p:last-child,
.features-key-copy > p,
.features-final-cta p {
  max-width: 43rem;
  color: rgba(3, 3, 3, 0.64);
  font-size: clamp(1rem, 1.45vw, 1.2rem);
}

.features-vault-section,
.features-outcomes-section {
  background: var(--paper);
}

.vault-shell {
  border: 1px solid var(--ink);
  border-radius: 0.5rem;
  padding: 0.6rem;
  background: var(--ink);
}

.vault-shell-heading {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 1rem;
  color: var(--paper);
}

.vault-mark {
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border: 1px solid var(--signal);
  border-radius: 0.25rem;
  color: var(--signal);
  font-size: 0.6rem;
  font-weight: 750;
}

.vault-capability-grid,
.features-workflow-list,
.features-outcome-grid {
  margin: 0;
  padding: 0;
  list-style: none;
}

.vault-capability-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line-dark);
  border-left: 1px solid var(--line-dark);
}

.vault-capability {
  min-width: 0;
  min-height: 17rem;
  border-right: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
  padding: 1.4rem;
  background: var(--ink-soft);
  color: var(--paper);
}

.vault-capability h3,
.features-workflow-step h3 {
  margin-bottom: 0.8rem;
  font-size: clamp(1.2rem, 2vw, 1.8rem);
  line-height: 1.05;
}

.vault-capability p,
.features-workflow-step p {
  color: rgba(244, 239, 232, 0.58);
}

.features-workflow-section {
  background: #eee7de;
}

.features-workflow-list {
  display: grid;
  gap: 0;
  border-top: 1px solid var(--line-light);
}

.features-workflow-step {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(12rem, 0.5fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: start;
  min-height: 13rem;
  border-bottom: 1px solid var(--line-light);
  padding: 2rem 0;
  background: transparent;
  color: var(--ink);
}

.features-step-number {
  display: grid;
  width: 2.7rem;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid var(--ink);
  border-radius: 50%;
  font-size: 0.75rem;
}

.features-workflow-step p {
  color: rgba(3, 3, 3, 0.63);
}

.features-step-capabilities {
  color: var(--signal-dark) !important;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-align: right;
  text-transform: uppercase;
}

.features-key-section {
  border-block: 1px solid var(--line-dark);
  background: var(--ink);
  color: var(--paper);
}

.features-key-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(22rem, 0.95fr);
  gap: clamp(4rem, 10vw, 10rem);
  align-items: center;
}

.features-key-copy .eyebrow {
  color: var(--signal);
}

.features-key-copy > p {
  color: rgba(244, 239, 232, 0.64);
}

.features-key-copy .button {
  margin-top: 1rem;
}

.features-key-diagram {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
}

.features-key-node {
  display: grid;
  min-height: 11rem;
  place-content: center;
  border: 1px solid var(--line-dark);
  border-radius: 0.35rem;
  padding: 1.5rem;
  background: var(--ink-soft);
  text-align: center;
}

.features-key-node span {
  margin-top: 0.4rem;
  color: rgba(244, 239, 232, 0.55);
  font-size: 0.75rem;
}

.features-key-arrow {
  color: var(--signal);
  font-size: 1.8rem;
}

.features-outcome-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line-light);
  border-left: 1px solid var(--line-light);
}

.features-outcome-grid li {
  min-height: 18rem;
  border-right: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: transparent;
  font-size: clamp(1.4rem, 2.4vw, 2.3rem);
  font-weight: 500;
  line-height: 1.08;
}

.features-final-cta {
  text-align: center;
}

.features-final-cta h2,
.features-final-cta p {
  max-width: 62rem;
  margin-inline: auto;
}

.features-final-cta p {
  color: rgba(244, 239, 232, 0.64);
}

.features-final-cta .features-actions {
  justify-content: center;
}

/* Application and forms */
.application-page {
  background:
    radial-gradient(circle at 84% 12%, rgba(255, 100, 0, 0.08), transparent 27rem),
    var(--ink);
  color: var(--paper);
}

.application-page .section-heading > p:last-child,
.application-page .card p,
.application-page .status-box p,
.application-page .form-card p {
  color: rgba(244, 239, 232, 0.62);
}

.onboarding {
  max-width: 1180px;
  padding-top: clamp(10rem, 16vw, 14rem);
}

.onboarding-layout {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: clamp(3rem, 7vw, 7rem);
  align-items: start;
}

.onboarding-layout > * {
  min-width: 0;
  max-width: 100%;
}

.onboarding-content {
  min-width: 0;
}

.onboarding-content .section-heading {
  margin-bottom: 3rem;
}

.stage-navigation {
  position: sticky;
  top: 8rem;
}

.stage-navigation ol {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line-dark);
  list-style: none;
}

.stage-navigation li {
  border-bottom: 1px solid var(--line-dark);
}

.stage-navigation button {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) auto;
  gap: 0.7rem;
  align-items: center;
  width: 100%;
  min-height: 3.5rem;
  border: 0;
  border-radius: 0;
  padding: 0.7rem 0;
  background: transparent;
  color: rgba(244, 239, 232, 0.48);
  text-align: left;
  transition:
    color 350ms var(--ease-mass),
    background-color 350ms var(--ease-mass);
}

.stage-navigation li.visited button:not(:disabled) {
  color: var(--paper);
  cursor: pointer;
}

.stage-navigation li.visited button:not(:disabled):hover,
.stage-navigation li.visited button:not(:disabled):focus-visible {
  background: rgba(244, 239, 232, 0.05);
  color: var(--signal);
}

.stage-navigation li.active button {
  color: var(--signal);
}

.stage-navigation li.future button {
  color: rgba(244, 239, 232, 0.38);
}

.stage-navigation button:disabled {
  cursor: not-allowed;
  opacity: 1;
}

.stage-number {
  display: grid;
  width: 1.7rem;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 0.66rem;
  font-weight: 700;
}

.stage-title {
  font-size: 0.82rem;
  font-weight: 600;
}

.stage-current {
  color: var(--signal);
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.subscription-selection {
  display: grid;
  gap: 2.5rem;
}

.subscription-selection fieldset {
  min-width: 0;
  margin: 0;
  border: 0;
  padding: 0;
}

.subscription-selection legend {
  margin-bottom: 1.1rem;
  color: var(--paper);
  font-size: 1.2rem;
  font-weight: 650;
}

.plan-choice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.plan-choice,
.billing-choice {
  position: relative;
  display: flex;
  gap: 0.75rem;
  border: 1px solid var(--line-dark);
  border-radius: 0.35rem;
  padding: 1.1rem;
  background: rgba(244, 239, 232, 0.035);
  color: var(--paper);
  cursor: pointer;
  transition:
    border-color 350ms var(--ease-mass),
    background-color 350ms var(--ease-mass),
    transform 350ms var(--ease-mass);
}

.plan-choice:hover,
.billing-choice:hover,
.plan-choice:focus-within,
.billing-choice:focus-within {
  border-color: var(--signal);
  background: rgba(255, 100, 0, 0.05);
  transform: translateY(-2px);
}

.plan-choice:has(input:checked),
.billing-choice:has(input:checked) {
  border-color: var(--signal);
  background: var(--signal);
  color: var(--ink);
  box-shadow: none;
}

.plan-choice input,
.billing-choice input {
  flex: 0 0 auto;
  width: 1rem;
  height: 1rem;
  margin-top: 0.2rem;
  accent-color: var(--signal-dark);
}

.plan-choice-copy {
  display: grid;
  gap: 0.65rem;
  min-width: 0;
}

.plan-choice-copy .plan-badge {
  margin: 0;
}

.billing-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.recommended-label {
  margin-left: auto;
  color: var(--signal);
  font-size: 0.72rem;
  font-weight: 700;
}

.billing-choice:has(input:checked) .recommended-label {
  color: var(--signal-dark);
}

.selection-error {
  margin: 0.8rem 0 0;
  color: #ff867e;
  font-weight: 650;
}

.form-card,
.status-box {
  display: grid;
  gap: 1.1rem;
  max-width: 46rem;
  border-color: var(--line-dark);
  padding: clamp(1.5rem, 4vw, 2.7rem);
  background: rgba(244, 239, 232, 0.04);
  color: var(--paper);
}

.form-card label {
  display: grid;
  gap: 0.45rem;
  color: rgba(244, 239, 232, 0.74);
  font-size: 0.8rem;
  font-weight: 650;
}

.form-card input {
  width: 100%;
  min-height: 3.2rem;
  border: 1px solid rgba(244, 239, 232, 0.3);
  border-radius: 0.25rem;
  padding: 0.75rem 0.9rem;
  background: rgba(244, 239, 232, 0.07);
  color: var(--paper);
  transition:
    border-color 350ms var(--ease-mass),
    background-color 350ms var(--ease-mass);
}

.form-card input::placeholder {
  color: rgba(244, 239, 232, 0.42);
}

.form-card input:hover {
  border-color: rgba(244, 239, 232, 0.56);
}

.form-card input:focus-visible {
  border-color: var(--signal);
  background: rgba(244, 239, 232, 0.1);
}

.form-card input:user-invalid {
  border-color: #ff867e;
}

.form-card .button,
.status-box .button {
  justify-self: start;
  margin-top: 0.5rem;
}

.status-box.internal {
  border-color: #ffd76d;
  background: rgba(255, 215, 109, 0.08);
}

.plan-summary .plan-features {
  margin-block: 0.5rem;
}

.download-box {
  border-color: var(--line-dark);
  padding: 1.3rem;
  background: rgba(255, 100, 0, 0.06);
  color: var(--paper);
}

.download-box a {
  color: var(--signal);
  font-weight: 700;
  overflow-wrap: anywhere;
}

.application-enquiry,
.register-interest {
  padding-top: clamp(11rem, 17vw, 15rem);
}

.register-interest .section-heading {
  margin-bottom: 3rem;
}

/* Footer */
.site-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: clamp(2rem, 6vw, 6rem);
  align-items: end;
  border-top: 1px solid var(--line-dark);
  padding: clamp(3rem, 7vw, 5rem) var(--page-gutter);
  background: var(--ink);
  color: rgba(244, 239, 232, 0.62);
}

.footer-column {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

.footer-lead {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.footer-lead p,
.footer-contact,
.site-footer > p {
  margin: 0;
  font-size: 0.78rem;
}

.site-footer nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.2rem;
}

.site-footer a:hover,
.site-footer a:focus-visible {
  color: var(--signal);
}

@media (max-width: 980px) {
  .site-header {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .primary-nav {
    gap: 0.85rem;
  }

  .product-bento {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(4, minmax(15rem, auto));
  }

  .bento-vault {
    grid-area: span 2 / span 2;
  }

  .bento-collaboration {
    grid-column: span 2;
  }

  .faq-layout {
    grid-template-columns: 1fr;
  }

  .faq-intro {
    position: static !important;
    inset: auto !important;
    transform: none !important;
  }

  .workflow-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .industry-accordion {
    min-height: 32rem;
  }

  .pricing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pricing-card {
    min-height: 31rem;
  }

  .pricing-detail-grid,
  .industry-page-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .industry-benefit-panel:last-child {
    grid-column: span 2;
  }

  .security-trust-layout {
    width: 100%;
  }

  .about-grid {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .contact-card {
    max-width: 30rem;
  }

  .onboarding-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .stage-navigation {
    position: static;
  }

  .stage-navigation ol {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-left: 1px solid var(--line-dark);
  }

  .stage-navigation li {
    border-right: 1px solid var(--line-dark);
  }

  .stage-navigation button {
    grid-template-columns: auto minmax(0, 1fr);
    padding: 0.7rem;
  }

  .stage-current {
    display: none;
  }

  .plan-choice-grid {
    grid-template-columns: 1fr;
  }

  .vault-capability-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .features-key-grid {
    grid-template-columns: 1fr;
  }

  .features-workflow-step {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .features-step-capabilities {
    grid-column: 2;
    text-align: left;
  }
}

@media (max-width: 680px) {
  :root {
    --page-gutter: 1.1rem;
    --chapter-space: 7.5rem;
  }

  .site-header {
    grid-template-columns: minmax(0, 1fr) auto;
    width: calc(100% - (2 * var(--page-gutter)));
    min-height: 3.9rem;
    margin-bottom: -4.9rem;
  }

  .nav-toggle {
    position: relative;
    display: grid;
    width: 2.8rem;
    height: 2.8rem;
    place-items: center;
    border: 1px solid var(--line-dark);
    border-radius: 0.3rem;
    background: transparent;
    color: var(--paper);
    cursor: pointer;
  }

  .nav-toggle span {
    position: absolute;
    width: 1.1rem;
    height: 1px;
    background: currentColor;
    transition: transform 450ms var(--ease-mass);
  }

  .nav-toggle span:first-child {
    transform: translateY(-0.22rem);
  }

  .nav-toggle span:last-child {
    transform: translateY(0.22rem);
  }

  .menu-open .nav-toggle span:first-child {
    transform: rotate(45deg);
  }

  .menu-open .nav-toggle span:last-child {
    transform: rotate(-45deg);
  }

  .primary-nav,
  .header-actions {
    display: none;
    grid-column: 1 / -1;
  }

  .menu-open .primary-nav,
  .menu-open .header-actions {
    display: flex;
  }

  .menu-open .primary-nav {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    margin-top: 0.55rem;
    border-top: 1px solid var(--line-dark);
    padding: 0.5rem 0 0;
  }

  .menu-open .primary-nav a {
    min-height: 2.9rem;
    border-bottom: 1px solid var(--line-dark);
    padding: 0.85rem 0.25rem;
  }

  .menu-open .header-actions {
    justify-content: stretch;
    padding-top: 0.7rem;
  }

  .menu-open .header-actions .button {
    width: 100%;
  }

  .cinematic-hero {
    min-height: auto;
    padding-top: 7.5rem;
  }

  .hero-title,
  .features-hero h1 {
    font-size: clamp(3.25rem, 15vw, 5.25rem);
    line-height: 0.92;
  }

  .hero-actions,
  .features-actions {
    width: 100%;
  }

  .hero-actions .button,
  .features-actions .button,
  .application-chapter .button {
    width: 100%;
  }

  .chapter-heading h2,
  .workflow-intro h2,
  .local-key-statement h2,
  .application-chapter h2,
  .features-section-heading h2,
  .features-key-copy h2,
  .features-final-cta h2,
  .section-heading h1,
  .about-manifesto h1,
  .industry-detail-hero h1 {
    font-size: clamp(2.8rem, 13vw, 4.8rem);
    line-height: 0.92;
  }

  .product-bento {
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }

  .bento-vault,
  .bento-collaboration {
    grid-area: auto;
    grid-column: auto;
  }

  .bento-vault {
    min-height: 31rem;
    padding-bottom: 15rem;
  }

  .bento-collaboration {
    min-height: 25rem;
    padding-right: 1.5rem;
    padding-bottom: 9rem;
  }

  .faq-layout,
  .about-grid,
  .features-key-grid {
    grid-template-columns: 1fr;
  }

  .workflow-grid,
  .local-key-layout {
    grid-template-columns: 1fr;
  }

  .local-key-proof {
    margin-top: 3rem;
  }

  .local-key-statement .button {
    width: 100%;
  }

  .industry-accordion {
    display: grid;
    min-height: 0;
    border-top: 1px solid var(--line-light);
    border-bottom: 0;
  }

  .industry-slice,
  .industry-slice:first-child {
    display: grid;
    min-width: 0;
    border-right: 1px solid var(--line-light);
    border-bottom: 1px solid var(--line-light);
    border-left: 1px solid var(--line-light);
  }

  .industry-trigger {
    justify-content: flex-start;
    width: 100%;
    min-width: 0;
    min-height: 3.75rem;
    padding: 1rem;
    writing-mode: horizontal-tb;
  }

  .industry-panel {
    display: grid;
  }

  .industry-image {
    min-height: 16rem;
  }

  .industry-copy {
    align-items: start;
    flex-direction: column;
  }

  .application-chapter {
    min-height: 40rem;
  }

  .security-trust-layout,
  .pricing-grid,
  .pricing-detail-grid,
  .industry-directory,
  .industry-page-benefits,
  .features-outcome-grid,
  .billing-options {
    grid-template-columns: 1fr;
  }

  .security-trust-lead,
  .industry-benefit-panel:last-child {
    grid-column: auto;
  }

  .pricing-card {
    min-height: 0;
  }

  .plan-audience {
    min-height: 0;
  }

  .industry-directory-entry,
  .industry-benefit-panel,
  .features-outcome-grid li {
    min-height: 14rem;
  }

  .industry-detail-page {
    background: var(--paper);
  }

  .stage-navigation {
    order: -1;
  }

  .stage-navigation ol {
    display: flex;
    gap: 0;
    overflow-x: auto;
    border-top: 1px solid var(--line-dark);
    border-left: 0;
    scrollbar-width: thin;
  }

  .stage-navigation li {
    flex: 0 0 8.5rem;
    border-right: 1px solid var(--line-dark);
  }

  .stage-navigation button {
    min-height: 4rem;
  }

  .form-card .button,
  .status-box .button,
  .subscription-selection > .button {
    width: 100%;
    justify-self: stretch;
  }

  .vault-capability-grid {
    grid-template-columns: 1fr;
  }

  .features-workflow-step {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .features-step-capabilities {
    grid-column: auto;
  }

  .features-key-diagram {
    grid-template-columns: 1fr;
  }

  .features-key-arrow {
    transform: rotate(90deg);
    text-align: center;
  }

  .site-footer {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .site-footer nav {
    justify-content: flex-start;
  }
}

@media (max-width: 640px) {
  .features-inner,
  .section,
  .page {
    width: calc(100% - (2 * var(--page-gutter)));
  }
}

@media (hover: none), (pointer: coarse) {
  .industry-accordion {
    display: grid;
    min-height: 0;
    border-top: 1px solid var(--line-light);
    border-bottom: 0;
  }

  .industry-slice,
  .industry-slice:first-child {
    display: grid;
    min-width: 0;
    border-right: 1px solid var(--line-light);
    border-bottom: 1px solid var(--line-light);
    border-left: 1px solid var(--line-light);
  }

  .industry-trigger {
    justify-content: flex-start;
    width: 100%;
    min-width: 0;
    min-height: 3.75rem;
    padding: 1rem;
    writing-mode: horizontal-tb;
  }

  .industry-panel {
    display: grid;
  }

  .industry-image {
    min-height: 16rem;
  }

  .industry-copy {
    align-items: start;
    flex-direction: column;
  }

  .button {
    min-height: 3rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0s !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0s !important;
  }

  .industry-image img,
  .industry-slice:hover .industry-image img,
  .industry-slice:focus-within .industry-image img {
    transform: none;
  }
}

@media print {
  html,
  body,
  .marketing-page,
  .editorial-page,
  .features-page {
    overflow-x: hidden !important;
    background: #fff !important;
    color: #111 !important;
  }

  .overflow-guard {
    overflow: hidden;
  }

  .site-header,
  .site-footer,
  .hero-actions,
  .features-actions,
  .application-chapter .button {
    display: none !important;
  }

  section,
  article {
    break-inside: avoid;
  }
}

/* Joke cookie banner: stores nothing, reappears on every reload. */
.cookie-banner {
  position: fixed;
  left: 1rem;
  bottom: 1rem;
  z-index: 60;
  width: min(26rem, calc(100vw - 2rem));
  padding: 1.25rem;
  border: 1px solid var(--line-dark);
  border-top: 3px solid var(--signal);
  background: var(--ink);
  color: var(--paper);
  box-shadow: 0 1.25rem 3rem rgba(0, 0, 0, 0.5);
  animation: cookie-banner-in 0.45s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.cookie-banner-label {
  margin: 0 0 0.5rem;
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--signal-secondary);
}

.cookie-banner-title {
  margin: 0 0 0.5rem;
  font-size: 1.25rem;
  line-height: 1.2;
}

.cookie-banner-body {
  margin: 0 0 1rem;
  font-size: 0.95rem;
  line-height: 1.45;
  color: var(--paper-dim);
}

.cookie-banner-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.cookie-banner-button {
  padding: 0.6rem 1rem;
  border: 1px solid var(--paper-dim);
  background: transparent;
  color: var(--paper);
  font-family: var(--font-mono);
  font-size: 0.8rem;
  cursor: pointer;
}

.cookie-banner-button.primary {
  border-color: var(--signal);
  background: var(--signal);
  color: var(--ink);
}

@keyframes cookie-banner-in {
  from {
    opacity: 0;
    transform: translateY(1.5rem);
  }
}

@media print {
  .cookie-banner {
    display: none !important;
  }
}

/* App showcase: CSS device frames */
.app-showcase {
  padding: var(--chapter-space) var(--page-gutter);
  overflow: clip;
  border-top: 1px solid var(--line-dark);
  background:
    radial-gradient(circle at 50% 70%, rgba(255, 100, 0, 0.08), transparent 34rem),
    var(--ink);
  color: var(--paper);
}

.app-showcase .chapter-heading {
  margin-inline: auto;
  text-align: center;
}

.showcase-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin: 3rem 0 4rem;
}

.showcase-tab {
  padding: 0.7rem 1.2rem;
  border: 1px solid var(--line-dark);
  border-radius: 999px;
  background: transparent;
  color: var(--paper-dim);
  font: 600 0.72rem/1 var(--font-mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
}

.showcase-tab:hover { border-color: var(--signal); }

.showcase-tab.active {
  border-color: var(--signal);
  background: var(--signal);
  color: var(--ink);
}

.showcase-stage {
  position: relative;
  width: min(64rem, 100%);
  margin-inline: auto;
}

.showcase-panels {
  min-width: 0;
}

.showcase-arrow {
  display: grid;
  width: 3.2rem;
  height: 3.2rem;
  place-items: center;
  border: 1px solid var(--signal);
  border-radius: 50%;
  background: rgba(3, 3, 3, 0.85);
  color: var(--signal);
  font: 500 1.3rem/1 var(--font-mono);
  cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease, transform 160ms var(--ease-mass);
}

.showcase-arrow:hover {
  background: var(--signal);
  color: var(--ink);
}

.showcase-arrow:active { transform: scale(0.94); }

.showcase-stage > .showcase-arrow {
  position: absolute;
  top: 38%;
  z-index: 2;
}

.showcase-stage > .showcase-arrow-prev { left: -4.2rem; }
.showcase-stage > .showcase-arrow-next { right: -4.2rem; }

.showcase-pager {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  margin-top: 1.5rem;
}

.showcase-counter {
  min-width: 4rem;
  color: var(--paper-dim);
  font: 600 0.78rem/1 var(--font-mono);
  letter-spacing: 0.14em;
  text-align: center;
}

.showcase-panel {
  position: relative;
  padding-bottom: 2.5rem;
}

.showcase-panel[hidden] { display: none; }

.device-pair { position: relative; }

.device-macbook { width: 88%; }

.device-macbook-lid {
  padding: 0.7rem 0.7rem 0.9rem;
  border: 1px solid #3a3a3a;
  border-radius: 1.1rem 1.1rem 0.3rem 0.3rem;
  background: #111;
  box-shadow: 0 2.5rem 6rem rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(255, 100, 0, 0.12);
}

.device-macbook-screen {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: 0.35rem;
  background: var(--device-screen-bg, #1c1b1a);
}

.device-light { --device-screen-bg: #faf8f4; }

.device-macbook-screen::before {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 1;
  width: 14%;
  height: 2.2%;
  border-radius: 0 0 0.5rem 0.5rem;
  background: #111;
  transform: translateX(-50%);
  content: "";
}

.device-macbook-screen img,
.device-iphone-screen img {
  display: block;
  width: 100%;
}

.device-macbook-base {
  position: relative;
  width: 112%;
  height: 0.9rem;
  margin-left: -6%;
  border-radius: 0 0 1.2rem 1.2rem / 0 0 0.9rem 0.9rem;
  background: linear-gradient(#4a4a4a, #1d1d1d);
}

.device-macbook-base::before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 18%;
  height: 0.35rem;
  border-radius: 0 0 0.4rem 0.4rem;
  background: #2a2a2a;
  transform: translateX(-50%);
  content: "";
}

.device-iphone {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 25%;
}

.device-iphone-body {
  padding: 0.4rem;
  border: 1px solid #4a4a4a;
  border-radius: 2.2rem;
  background: #0b0b0b;
  box-shadow: 0 2rem 4rem rgba(0, 0, 0, 0.75), 0 0 0 1px rgba(255, 100, 0, 0.15);
}

.device-iphone-screen {
  position: relative;
  overflow: hidden;
  border-radius: 1.85rem;
  /* inset above the screenshot keeps the island clear of app content */
  padding-top: 4.2%;
  background: var(--device-screen-bg, #1c1b1a);
}

.device-iphone-island {
  position: absolute;
  top: 1.2%;
  left: 50%;
  z-index: 1;
  width: 28%;
  height: 2.2%;
  border-radius: 999px;
  background: #000;
  transform: translateX(-50%);
}

/* Features page: framed screenshots under each workflow step */
.features-step-device {
  grid-column: 1 / -1;
  width: 100%;
  padding: 1rem 0 2rem;
}

.features-step-device .device-light .device-macbook-lid,
.features-step-device .device-light .device-iphone-body {
  box-shadow: 0 1.5rem 3rem rgba(3, 3, 3, 0.3), 0 0 0 1px rgba(255, 100, 0, 0.18);
}

.features-step-device .device-iphone { width: 24%; }

@media (max-width: 1100px) {
  .showcase-stage > .showcase-arrow { display: none; }
  .showcase-pager { display: flex; }
}

@media (max-width: 680px) {
  .showcase-panel .device-pair { display: grid; justify-items: center; gap: 2rem; }
  .showcase-panel[hidden] { display: none; }
  .device-macbook { width: 100%; }
  .device-iphone { position: static; width: min(14rem, 62%); }
  .features-step-device { grid-column: 1; }
}

.email-with-copy {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.copy-email {
  display: inline-grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  padding: 0;
  border: 0;
  border-radius: 0.35rem;
  background: transparent;
  color: inherit;
  cursor: pointer;
  opacity: 0.75;
  transition: opacity 150ms ease, background-color 150ms ease;
}

.copy-email:hover,
.copy-email:focus-visible,
.copy-email.copied {
  opacity: 1;
}

.copy-email:focus-visible {
  outline: 2px solid var(--signal);
  outline-offset: 2px;
}
