/* NullKit tool workspace refresh
   Extends the approved compact card-grid language across every interactive route. */

.suite-page,
.pdf-suite-page,
body.page-photo-metadata {
  --ink: var(--nk-text);
  --ink-soft: var(--nk-text-soft);
  --muted: var(--nk-text-faint);
  --midnight: var(--nk-bg);
  --midnight-2: var(--nk-surface-soft);
  --panel: var(--nk-surface);
  --panel-raised: var(--nk-surface-soft);
  --line: var(--nk-line);
  --line-strong: var(--nk-line-strong);
  --teal: var(--nk-blue);
  --teal-deep: var(--nk-blue);
  --blue: var(--nk-blue);
  --blue-soft: color-mix(in srgb, var(--nk-blue) 48%, white);
  --good: var(--nk-green);
  --warning: var(--nk-amber);
  --suite-canvas: var(--nk-bg);
  --suite-surface: var(--nk-surface);
  --suite-raised: var(--nk-surface-soft);
  --suite-soft: var(--nk-surface-soft);
  --suite-border: var(--nk-line);
  --suite-border-strong: var(--nk-line-strong);
  --suite-amber: var(--nk-amber);
  color: var(--nk-text);
  font-family: var(--nk-font-display);
}

.suite-page,
.page-photo-metadata,
.page-photo-metadata main {
  background: var(--nk-bg);
}

.suite-page .eyebrow,
.page-photo-metadata .eyebrow {
  margin-bottom: 8px;
  color: var(--nk-blue);
  font-family: var(--nk-font-mono);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.suite-page .breadcrumbs,
.page-photo-metadata .breadcrumbs {
  display: flex;
  align-items: center;
  color: var(--nk-text-faint);
  font-family: var(--nk-font-mono);
  font-size: .7rem;
  gap: 8px;
}

.suite-page .breadcrumbs a,
.page-photo-metadata .breadcrumbs a {
  color: var(--nk-text-soft);
  text-decoration: none;
}

.suite-page .breadcrumbs a:hover,
.page-photo-metadata .breadcrumbs a:hover { color: var(--nk-text); }

/* Tool intro */
.suite-page .suite-hero {
  padding-block: 38px 28px;
}

.suite-page .suite-hero .breadcrumbs { margin-bottom: 22px; }

.suite-page .suite-hero-grid {
  align-items: end;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .46fr);
  gap: 52px;
}

.suite-page .suite-hero h1 {
  max-width: 920px;
  margin: 0 0 12px;
  color: var(--nk-text);
  font-family: var(--nk-font-display);
  font-size: clamp(2.8rem, 4.2vw, 4.25rem);
  font-weight: 700;
  letter-spacing: -.055em;
  line-height: .96;
}

.suite-page .suite-hero .direct-answer {
  max-width: 850px;
  margin: 0;
  color: var(--nk-text-soft);
  font-size: 1rem;
  line-height: 1.55;
}

.suite-page .suite-proof {
  display: grid;
  padding: 16px 18px;
  border: 1px solid var(--nk-line);
  border-radius: 10px;
  background: var(--nk-surface-soft);
  box-shadow: none;
  gap: 10px;
}

.suite-page .suite-proof span,
.suite-page .suite-local-badge {
  color: var(--nk-text-soft);
  font-family: var(--nk-font-mono);
  font-size: .68rem;
}

.suite-page .suite-proof i,
.suite-page .suite-local-badge i {
  color: var(--nk-blue);
  font-size: 1rem;
}

/* Primary workspace */
.suite-page .suite-tool-section { padding-bottom: 78px; }

.suite-page .suite-tool {
  overflow: hidden;
  border: 1px solid var(--nk-line-strong);
  border-radius: 12px;
  background: var(--nk-surface);
  box-shadow: 0 18px 54px color-mix(in srgb, var(--nk-text) 7%, transparent);
}

.suite-page .suite-tool-header {
  min-height: 78px;
  padding: 17px 24px;
  border-bottom: 1px solid var(--nk-line);
  background: var(--nk-surface);
}

.suite-page .suite-tool-header h2 {
  max-width: 850px;
  margin: 0;
  color: var(--nk-text);
  font-family: var(--nk-font-display);
  font-size: clamp(1.1rem, 1.65vw, 1.45rem);
  font-weight: 650;
  letter-spacing: -.025em;
  line-height: 1.25;
}

.suite-page .suite-local-badge {
  padding: 7px 10px;
  border: 1px solid color-mix(in srgb, var(--nk-green) 28%, var(--nk-line));
  border-radius: 7px;
  background: var(--nk-green-soft);
  color: var(--nk-green);
}

.suite-page .suite-local-badge i { color: inherit; }

.suite-page .suite-status {
  min-height: 36px;
  margin: 0;
  padding: 9px 24px;
  border-bottom: 1px solid var(--nk-line);
  background: var(--nk-surface-soft);
  color: var(--nk-text-faint);
  font: .69rem/1.45 var(--nk-font-mono);
}

.suite-page .suite-status::before {
  width: 6px;
  height: 6px;
  background: var(--nk-green);
  box-shadow: none;
}

.suite-page .suite-status.is-busy::before { background: var(--nk-amber); }

.suite-page .suite-error {
  margin: 16px 22px 0;
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--nk-red) 36%, var(--nk-line));
  border-radius: 8px;
  background: var(--nk-red-soft);
  color: var(--nk-red);
}

.suite-page .suite-workspace,
.suite-page .suite-workspace-text {
  min-height: 510px;
  grid-template-columns: minmax(320px, .88fr) minmax(0, 1.12fr);
}

.suite-page .suite-controls,
.suite-page .suite-output {
  padding: clamp(24px, 3vw, 38px);
}

.suite-page .suite-controls {
  border-right: 1px solid var(--nk-line);
  background: var(--nk-surface-soft);
  gap: 18px;
}

.suite-page .suite-controls > form { border-top-color: var(--nk-line); }

.suite-page .suite-output {
  background: var(--nk-surface);
  color: var(--nk-text);
}

/* A shared output envelope keeps generated content inside the workspace. */
.suite-page .suite-output,
.suite-page .suite-result,
.suite-page .pdf-output,
.suite-page .pdf-result,
.suite-page .assessment-output,
.suite-page .assessment-result,
.suite-page .credential-result {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.suite-page .suite-result > *,
.suite-page .pdf-result > *,
.suite-page .assessment-result > * { max-width: 100%; }

.suite-page .suite-result img,
.suite-page .suite-result canvas,
.suite-page .suite-result svg,
.suite-page .pdf-output img,
.suite-page .pdf-output canvas,
.suite-page .pdf-output svg {
  display: block;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

.suite-page .result-preview,
.suite-page .qr-source-preview,
.suite-page .redaction-stage,
.suite-page .crop-stage,
.suite-page .pdf-canvas-stage,
.suite-page .pdf-interactive-stage,
.suite-page .pdf-compare-stage {
  width: 100%;
  max-width: 100%;
  max-height: min(680px, 72vh);
  overflow: auto;
  overscroll-behavior: contain;
}

.suite-page .payload-card,
.suite-page .checksum-card,
.suite-page .credential-value,
.suite-page .result-textarea,
.suite-page .pdf-markdown-result,
.suite-page .pdf-receipt,
.suite-page .receipt-list,
.suite-page .pdf-facts,
.suite-page .result-facts {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.suite-page .payload-card code,
.suite-page .checksum-card code,
.suite-page .credential-value {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-all;
}

/* Fields and controls */
.suite-page .field-group label,
.suite-page fieldset legend,
.pdf-suite-page .pdf-form-field label,
.page-photo-metadata label {
  color: var(--nk-text);
  font-family: var(--nk-font-mono);
  font-size: .72rem;
  font-weight: 650;
}

.suite-page .field-group small,
.suite-page .control-note,
.suite-page .suite-file-picker label > span,
.suite-page .suite-empty p,
.pdf-suite-page .pdf-local-note p {
  color: var(--nk-text-faint);
  font-size: .72rem;
  line-height: 1.55;
}

.suite-page .field-group input:not([type="range"]),
.suite-page .field-group select,
.suite-page .field-group textarea,
.suite-page .result-textarea,
.pdf-suite-page .pdf-form-field input:not([type="checkbox"]),
.pdf-suite-page .pdf-form-field select,
.pdf-suite-page .pdf-form-field textarea {
  min-height: 46px;
  border: 1px solid var(--nk-line-strong);
  border-radius: 8px;
  background: var(--nk-surface);
  color: var(--nk-text);
  box-shadow: 0 1px 0 color-mix(in srgb, var(--nk-text) 3%, transparent);
}

.suite-page textarea.result-textarea,
.suite-page .field-group textarea { min-height: 116px; }

.suite-page .field-group input:focus-visible,
.suite-page .field-group select:focus-visible,
.suite-page .field-group textarea:focus-visible,
.suite-page .result-textarea:focus-visible {
  border-color: var(--nk-black);
  outline: 3px solid color-mix(in srgb, var(--nk-blue) 13%, transparent);
  outline-offset: 0;
}

.suite-page input[type="range"] { accent-color: var(--nk-black); }

.suite-page .button,
.page-photo-metadata .button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border: 1px solid var(--nk-black);
  border-radius: 8px;
  background: var(--nk-black);
  color: var(--nk-bg);
  font-family: var(--nk-font-display);
  font-size: .86rem;
  font-weight: 600;
  gap: 8px;
  box-shadow: none;
  text-decoration: none;
}

.suite-page .button:hover,
.page-photo-metadata .button:hover {
  background: color-mix(in srgb, var(--nk-black) 84%, var(--nk-bg));
  transform: translateY(-1px);
}

.suite-page .button-secondary,
.page-photo-metadata .button-secondary {
  border-color: var(--nk-line-strong);
  background: var(--nk-surface);
  color: var(--nk-text);
}

.suite-page .button-secondary:hover,
.page-photo-metadata .button-secondary:hover {
  border-color: var(--nk-black);
  background: var(--nk-surface-soft);
}

.suite-page .button:disabled,
.page-photo-metadata .button:disabled {
  border-color: var(--nk-line);
  background: var(--nk-line);
  color: var(--nk-text-faint);
  cursor: not-allowed;
  transform: none;
}

.suite-page .text-button,
.page-photo-metadata .text-button {
  color: var(--nk-text);
  font-family: var(--nk-font-mono);
  font-size: .7rem;
  font-weight: 700;
}

.suite-page .check-control,
.suite-page .assessment-option,
.pdf-suite-page .pdf-radio-stack label,
.pdf-suite-page .pdf-permissions label {
  border-color: var(--nk-line);
  background: var(--nk-surface);
  color: var(--nk-text-soft);
}

.suite-page .check-control:has(input:checked),
.suite-page .assessment-option:has(input:checked),
.pdf-suite-page .pdf-radio-stack label:has(input:checked) {
  border-color: var(--nk-black);
  background: var(--nk-surface);
  color: var(--nk-text);
}

.suite-page .check-control input,
.suite-page .assessment-option input { accent-color: var(--nk-black); }

/* Upload and empty states */
.suite-page .suite-file-picker,
.suite-page .suite-file-picker label { min-height: 280px; }

.suite-page .suite-file-picker label {
  padding: 28px 22px;
  border: 1px dashed var(--nk-line-strong);
  border-radius: 10px;
  background: var(--nk-surface);
  color: var(--nk-text);
}

.suite-page .suite-file-picker label:hover {
  border-color: var(--nk-black);
  background: color-mix(in srgb, var(--nk-blue-soft) 40%, var(--nk-surface));
}

.suite-page .suite-file-picker .picker-icon,
.suite-page .suite-empty > i,
.page-photo-metadata .dropzone-icon,
.page-photo-metadata .choose-guidance-icon {
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--nk-blue) 18%, var(--nk-line));
  border-radius: 9px;
  background: var(--nk-blue);
  color: white;
  font-size: 1.45rem;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.16);
}

.suite-page .suite-file-picker strong,
.suite-page .suite-empty h3 {
  color: var(--nk-text);
  font-family: var(--nk-font-mono);
  font-size: 1rem;
  font-weight: 700;
}

.suite-page .suite-empty { color: var(--nk-text-soft); }

.suite-page .suite-file-summary,
.suite-page .payload-card,
.suite-page .receipt-list article,
.suite-page .result-facts,
.suite-page .pdf-facts,
.suite-page .pdf-operation-card {
  border-color: var(--nk-line);
  border-radius: 9px;
  background: var(--nk-surface-soft);
  color: var(--nk-text);
}

.suite-page .summary-icon {
  border-color: var(--nk-line);
  background: var(--nk-blue-soft);
  color: var(--nk-blue);
}

.suite-page .icon-button {
  border-color: var(--nk-line);
  background: var(--nk-surface);
  color: var(--nk-text);
}

/* Results */
.suite-page .result-heading h3,
.suite-page .suite-result h3,
.suite-page .assessment-result h4 {
  color: var(--nk-text);
}

.suite-page .result-pill,
.suite-page .assessment-level {
  border-color: color-mix(in srgb, var(--nk-green) 28%, var(--nk-line));
  background: var(--nk-green-soft);
  color: var(--nk-green);
  font-family: var(--nk-font-mono);
}

.suite-page .result-preview,
.suite-page .qr-preview,
.suite-page .qr-source-preview,
.suite-page .redaction-stage,
.suite-page .pdf-canvas-stage,
.suite-page .pdf-compare-stage {
  border-color: var(--nk-line);
  background: var(--nk-surface-soft);
}

.suite-page .qr-preview {
  width: min(100%, 248px);
  max-width: 248px;
  max-height: 248px;
  aspect-ratio: 1;
  margin-inline: auto;
  padding: 12px;
  overflow: hidden;
}

.suite-page .qr-preview canvas,
.suite-page .qr-preview img,
.suite-page .qr-preview svg {
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  max-height: 100%;
}

.suite-page .payload-card code,
.suite-page .credential-value {
  border-color: var(--nk-line);
  background: var(--nk-surface);
  color: var(--nk-text);
}

.suite-page .assessment-warning,
.pdf-suite-page .pdf-safety-panel,
.suite-page .warning-list > * {
  border-color: color-mix(in srgb, var(--nk-amber) 30%, var(--nk-line));
  background: var(--nk-amber-soft);
  color: var(--nk-amber);
}

.suite-page .assessment-nav { background: transparent; }
.suite-page .progress-track { background: var(--nk-line); }
.suite-page .progress-track span { background: var(--nk-black); }

/* PDF tools */
.pdf-suite-page {
  --pdf-panel: var(--nk-surface);
  --pdf-panel-soft: var(--nk-surface-soft);
  --pdf-focus: var(--nk-blue);
  --pdf-warning: var(--nk-amber);
}

.pdf-suite-page .pdf-local-note {
  padding: 11px 24px;
  border-bottom-color: var(--nk-line);
  background: var(--nk-blue-soft);
}

.pdf-suite-page .pdf-local-note > span {
  color: var(--nk-text-soft);
  font-family: var(--nk-font-mono);
}

.pdf-suite-page .pdf-local-note i { color: var(--nk-blue); }

.pdf-suite-page .pdf-workspace {
  min-height: 560px;
  grid-template-columns: minmax(340px, .88fr) minmax(0, 1.12fr);
}

.pdf-suite-page .pdf-mini-picker label {
  border-color: var(--nk-line-strong);
  background: var(--nk-surface);
  color: var(--nk-text);
}

.pdf-suite-page .pdf-file-list li,
.pdf-suite-page .pdf-page-card,
.pdf-suite-page .pdf-change-list,
.pdf-suite-page .pdf-receipt {
  border-color: var(--nk-line);
  background: var(--nk-surface-soft);
  color: var(--nk-text);
}

.pdf-suite-page .pdf-page-grid {
  max-width: 100%;
  overflow: auto;
}

.pdf-suite-page .pdf-markdown-result textarea,
.pdf-suite-page .pdf-form-fields,
.pdf-suite-page .pdf-change-list,
.pdf-suite-page .pdf-compare-summary { max-width: 100%; min-width: 0; }

.pdf-suite-page .pdf-safety-panel h3 { color: var(--nk-amber); }
.pdf-suite-page .pdf-safety-panel p { color: var(--nk-text-soft); }

/* Supporting content across standard tool and PDF routes */
.suite-page > .section {
  color: var(--nk-text);
}

.suite-page > .section:not(.platform-detail-section) { padding-block: 72px; }

.suite-page .section-heading h2,
.suite-page .two-column h2 {
  margin-bottom: 18px;
  color: var(--nk-text);
  font-family: var(--nk-font-display);
  font-size: clamp(2.35rem, 4.1vw, 4rem);
  font-weight: 700;
  letter-spacing: -.052em;
  line-height: .98;
}

.suite-page .section-intro,
.suite-page .split-heading > p,
.suite-page .two-column p {
  color: var(--nk-text-soft);
}

.suite-page .tool-benefit-grid article,
.suite-page .how-to-grid li,
.suite-page .related-card,
.suite-page .limit-list li,
.suite-page .faq-list details {
  border-color: var(--nk-line);
  border-radius: 10px;
  background: var(--nk-surface);
  color: var(--nk-text);
  box-shadow: none;
}

.suite-page .tool-benefit-grid article { min-height: 150px; }
.suite-page .tool-benefit-grid span,
.suite-page .how-to-grid > li > span,
.suite-page .related-card > span { color: var(--nk-blue); font-family: var(--nk-font-mono); }
.suite-page .tool-benefit-grid h3 { margin-top: 34px; color: var(--nk-text); font-family: var(--nk-font-mono); font-size: 1rem; }

.suite-page .platform-detail-section {
  border-block: 1px solid var(--nk-line);
  background: var(--nk-surface-soft);
}

.suite-page .limit-list li::before { color: var(--nk-red); }

.suite-page .how-to-grid h3,
.suite-page .related-card strong,
.suite-page .faq-list summary {
  color: var(--nk-text);
}

.suite-page .related-card p,
.suite-page .faq-list p,
.suite-page .how-to-grid p { color: var(--nk-text-soft); }

.suite-page .faq-list details[open] { border-color: var(--nk-line-strong); }
.suite-page .reviewed { color: var(--nk-text-faint); font-family: var(--nk-font-mono); }

/* Dedicated metadata tool */
body.page-photo-metadata {
  --tool-canvas: var(--nk-bg);
  --tool-surface: var(--nk-surface);
  --tool-surface-raised: var(--nk-surface-soft);
  --tool-surface-soft: var(--nk-surface-soft);
  --tool-border: var(--nk-line);
  --tool-border-strong: var(--nk-line-strong);
  --tool-amber: var(--nk-amber);
  color: var(--nk-text);
}

.page-photo-metadata .metadata-tool-section {
  width: min(1344px, calc(100% - 64px));
  padding-top: 34px;
}

.page-photo-metadata .photo-tool-intro { padding: 0 0 26px; }
.page-photo-metadata .photo-tool-intro .breadcrumbs { margin-bottom: 22px; }

.page-photo-metadata .photo-tool-intro h1 {
  max-width: 900px;
  margin-bottom: 12px;
  color: var(--nk-text);
  font-family: var(--nk-font-display);
  font-size: clamp(2.8rem, 4.2vw, 4.25rem);
  font-weight: 700;
  letter-spacing: -.055em;
  line-height: .96;
}

.page-photo-metadata .photo-tool-intro .direct-answer {
  color: var(--nk-text-soft);
  font-size: 1rem;
  line-height: 1.55;
}

.page-photo-metadata .metadata-proof {
  display: grid;
  padding: 15px 17px;
  border: 1px solid var(--nk-line);
  border-radius: 10px;
  background: var(--nk-surface-soft);
  color: var(--nk-text-soft);
  font-family: var(--nk-font-mono);
  font-size: .67rem;
  gap: 9px;
}

.page-photo-metadata .metadata-proof i { color: var(--nk-violet); }

.page-photo-metadata .photo-tool {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.page-photo-metadata .photo-tool-intro { margin: 0; padding: 0 0 26px; border: 0; background: var(--nk-bg); }

.page-photo-metadata .photo-tool-header {
  min-height: 78px;
  padding: 17px 24px;
  border: 1px solid var(--nk-line-strong);
  border-bottom: 0;
  border-radius: 12px 12px 0 0;
  background: var(--nk-surface);
}

.page-photo-metadata .photo-tool-header > div { display: block; }
.page-photo-metadata .photo-tool-header > div h2 { margin: 0; font-size: 1.35rem; }

.page-photo-metadata .photo-tool-header h2,
.page-photo-metadata .tool-state h2,
.page-photo-metadata .tool-state h3 { color: var(--nk-text); }

.page-photo-metadata .tool-progress li { color: var(--nk-text-faint); }
.page-photo-metadata .tool-progress li[aria-current="step"] { color: var(--nk-text); }
.page-photo-metadata .tool-progress li span { border-color: var(--nk-line); background: var(--nk-surface-soft); color: var(--nk-blue); }

.page-photo-metadata .tool-status {
  position: static;
  width: 100%;
  min-height: 36px;
  margin: 0;
  padding: 9px 24px;
  border: 1px solid var(--nk-line);
  background: var(--nk-surface-soft);
  color: var(--nk-text-faint);
  font-family: var(--nk-font-mono);
}

.page-photo-metadata .tool-status::before { background: var(--nk-green); box-shadow: none; }

.page-photo-metadata .tool-state-choose {
  min-height: 510px;
  padding: 0;
  border: 1px solid var(--nk-line-strong);
  border-top: 0;
  border-radius: 0 0 12px 12px;
  background: var(--nk-surface);
  grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr);
  gap: 0;
}

.page-photo-metadata .choose-guidance {
  padding: clamp(26px, 3vw, 40px);
  border-right: 1px solid var(--nk-line);
  background: var(--nk-surface-soft);
  color: var(--nk-text-soft);
}

.page-photo-metadata .choose-guidance-icon { margin-bottom: 28px; }
.page-photo-metadata .choose-guidance h2 { font-size: clamp(2.15rem, 3.5vw, 3.5rem); }

.page-photo-metadata .choose-guidance ul { color: var(--nk-text-soft); }
.page-photo-metadata .choose-demo { border-color: var(--nk-line); background: var(--nk-surface); }

.page-photo-metadata .photo-dropzone {
  margin: clamp(26px, 3vw, 40px);
  border: 1px dashed var(--nk-line-strong);
  border-radius: 10px;
  background: var(--nk-surface);
}

.page-photo-metadata .photo-dropzone:hover,
.page-photo-metadata .photo-dropzone.is-dragover {
  border-color: var(--nk-black);
  background: var(--nk-blue-soft);
}

.page-photo-metadata .dropzone-copy strong { color: var(--nk-text); font-family: var(--nk-font-mono); }
.page-photo-metadata .dropzone-copy span,
.page-photo-metadata .photo-dropzone > p { color: var(--nk-text-faint); }

.page-photo-metadata .review-workspace,
.page-photo-metadata .review-file-panel,
.page-photo-metadata .review-results-panel,
.page-photo-metadata .finding-panel,
.page-photo-metadata .clean-selection,
.page-photo-metadata .cleanup-receipt,
.page-photo-metadata .clean-summary,
.page-photo-metadata .photo-preview-frame,
.page-photo-metadata .file-facts {
  border-color: var(--nk-line);
  background: var(--nk-surface);
  color: var(--nk-text);
}

.page-photo-metadata .review-file-panel,
.page-photo-metadata .review-results-panel { background: var(--nk-surface-soft); }
.page-photo-metadata .finding-panel header {
  border-bottom: 1px solid var(--nk-line);
  background: var(--nk-surface);
  color: var(--nk-text);
}
.page-photo-metadata .finding-panel header h3 { color: var(--nk-text); }
.page-photo-metadata .finding-panel header p { color: var(--nk-blue); }
.page-photo-metadata .finding-icon,
.page-photo-metadata .review-risk-icon {
  border-color: var(--nk-line);
  background: var(--nk-blue-soft);
  color: var(--nk-blue);
}
.page-photo-metadata .finding-content,
.page-photo-metadata .file-facts dd,
.page-photo-metadata .clean-result-copy p { color: var(--nk-text-soft); }

.page-photo-metadata .section { color: var(--nk-text); }
.page-photo-metadata .section h2,
.page-photo-metadata .section h3 { color: var(--nk-text); font-family: var(--nk-font-display); }
.page-photo-metadata .section-intro,
.page-photo-metadata .section-heading > p,
.page-photo-metadata .section p { color: var(--nk-text-soft); }

.page-photo-metadata .principle-card,
.page-photo-metadata .how-to-grid li,
.page-photo-metadata .boundary-cards article,
.page-photo-metadata .privacy-path li,
.page-photo-metadata .faq-list details,
.page-photo-metadata .related-card {
  border-color: var(--nk-line);
  border-radius: 10px;
  background: var(--nk-surface);
  color: var(--nk-text);
}

.page-photo-metadata .platform-detail-section,
.page-photo-metadata .ai-limitations-section {
  border-color: var(--nk-line);
  background: var(--nk-surface-soft);
}

.page-photo-metadata .format-table-wrap,
.page-photo-metadata .format-table th,
.page-photo-metadata .format-table td,
.page-photo-metadata .browser-boundary-note,
.page-photo-metadata .format-policy-note {
  border-color: var(--nk-line);
  background: var(--nk-surface);
  color: var(--nk-text-soft);
}

@media (hover: hover) and (pointer: fine) {
  .suite-page .related-card:hover,
  .suite-page .tool-benefit-grid article:hover,
  .page-photo-metadata .related-card:hover,
  .page-photo-metadata .principle-card:hover {
    border-color: var(--nk-black);
    transform: translateY(-2px);
  }
}

@media (max-width: 960px) {
  .suite-page .suite-hero-grid,
  .page-photo-metadata .photo-tool-intro-grid { grid-template-columns: 1fr; gap: 20px; }
  .suite-page .suite-proof,
  .page-photo-metadata .metadata-proof { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .suite-page .suite-workspace,
  .suite-page .suite-workspace-text,
  .pdf-suite-page .pdf-workspace,
  .page-photo-metadata .tool-state-choose { grid-template-columns: 1fr; }
  .suite-page .suite-controls { border-right: 0; border-bottom: 1px solid var(--nk-line); }
  .suite-page .suite-output { min-height: 380px; }
  .suite-page .qr-preview { width: min(100%, 220px); max-width: 220px; max-height: 220px; }
  .page-photo-metadata .choose-guidance { border-right: 0; border-bottom: 1px solid var(--nk-line); }
}

@media (max-width: 620px) {
  .suite-page .suite-hero { padding-block: 24px 20px; }
  .suite-page .suite-hero .breadcrumbs { margin-bottom: 16px; }
  .suite-page .suite-hero h1,
  .page-photo-metadata .photo-tool-intro h1 { font-size: clamp(2.35rem, 12vw, 3.25rem); }
  .suite-page .suite-proof,
  .page-photo-metadata .metadata-proof { grid-template-columns: 1fr 1fr; padding: 12px; }
  .suite-page .suite-tool-section { width: calc(100% - 28px); }
  .suite-page .suite-tool { border-inline: 1px solid var(--nk-line-strong); border-radius: 10px; }
  .suite-page .suite-tool-header { min-height: 68px; padding: 14px 16px; }
  .suite-page .suite-tool-header h2 { font-size: .98rem; }
  .suite-page .suite-local-badge { font-size: .6rem; }
  .suite-page .suite-status { padding: 9px 16px; }
  .suite-page .suite-controls,
  .suite-page .suite-output { padding: 18px; }
  .suite-page .suite-file-picker,
  .suite-page .suite-file-picker label { min-height: 230px; }
  .suite-page .result-preview,
  .suite-page .qr-source-preview,
  .suite-page .redaction-stage,
  .suite-page .crop-stage,
  .suite-page .pdf-canvas-stage,
  .suite-page .pdf-interactive-stage,
  .suite-page .pdf-compare-stage { max-height: 58vh; }
  .suite-page .section-heading h2,
  .suite-page .two-column h2 { font-size: clamp(2.15rem, 11vw, 3.2rem); }
  .page-photo-metadata .metadata-tool-section { width: calc(100% - 28px); padding-top: 24px; }
  .page-photo-metadata .photo-tool-intro-grid { display: block; }
  .page-photo-metadata .metadata-proof { margin-top: 18px; }
  .page-photo-metadata .photo-tool-header { padding: 14px 16px; }
  .page-photo-metadata .photo-dropzone { margin: 18px; }
}
