/* Shared visual foundation for the landing, pricing, owner, and reviewer pages. */
html[data-design="human-minimal"] {
  --ink: #322d36;
  --ink-soft: #59515a;
  --muted: #706771;
  --canvas: #f7f3ee;
  --surface: #fffcf8;
  --surface-subtle: #f0eae3;
  --line: #e2d9d1;
  --line-strong: #bdb0a6;
  --accent: #b64f39;
  --accent-hover: #933e2e;
  --accent-soft: #f5e5dc;
  --deep: #362f37;
  --display: "Iowan Old Style", Charter, "Bitstream Charter", Georgia, serif;
  --sans: "Avenir Next", Avenir, "Century Gothic", sans-serif;
}

html[data-design="human-minimal"] body { font-size: 18px; line-height: 1.65; }
html[data-design="human-minimal"] :is(button, input, select, textarea) { font: inherit; }
html[data-design="human-minimal"] :is(h1, h2, h3) { text-wrap: balance; }
html[data-design="human-minimal"] :is(p, li) { text-wrap: pretty; }
html[data-design="human-minimal"] :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--accent); outline-offset: 5px;
}
.skip-link { position: absolute; top: -100px; left: 20px; z-index: 100; background: var(--surface); padding: 12px 20px; }
.skip-link:focus { top: 12px; }
html[data-design="human-minimal"] :is(.site-header, .flow-header) {
  background: var(--canvas); border-bottom: 0; min-height: 96px;
  padding-inline: max(28px, calc((100vw - 1180px) / 2));
}
html[data-design="human-minimal"] .site-header { position: relative; }
html[data-design="human-minimal"] :is(.brand-name, .flow-brand-name) { font-size: 27px; }
html[data-design="human-minimal"] :is(.brand-product, .flow-brand-product) { font-size: 11px; letter-spacing: .12em; }
html[data-design="human-minimal"] :is(.brand-mark, .flow-brand-mark) { width: 44px; height: 44px; flex-shrink: 0; }
html[data-design="human-minimal"] :is(.site-nav, .flow-help) { font-size: 15px; }
html[data-design="human-minimal"] :is(.button, .primary-button, .secondary-button, .nav-cta) {
  min-height: 52px; font-size: 16px; padding: 13px 25px; line-height: 1.4;
  box-shadow: none; text-align: center;
}
html[data-design="human-minimal"] .text-link { font-size: 16px; }

/* An open editorial landing, with enough room for the photograph and the words. */
html[data-design="human-minimal"] .hero {
  max-width: 1280px; margin: 16px auto 0; padding: 0 28px;
  gap: clamp(32px, 5vw, 76px); grid-template-columns: 1.15fr 1fr; min-height: 0;
}
html[data-design="human-minimal"] .hero-content { padding: 44px 0; }
html[data-design="human-minimal"] .hero-image {
  min-height: 560px; border-radius: 120px 24px 24px 24px;
  background-position: 62% center; transform: none;
}
html[data-design="human-minimal"] .hero-image::after { display: none; }
html[data-design="human-minimal"] .hero h1 { font-size: clamp(3.5rem, 5.6vw, 5.4rem); line-height: 1.04; letter-spacing: -.045em; }
html[data-design="human-minimal"] .hero-lede { font-size: 19px; margin: 26px 0 30px; max-width: 40ch; }
html[data-design="human-minimal"] .hero-actions { flex-wrap: wrap; gap: 20px; }
html[data-design="human-minimal"] .offer-strip { margin-top: 36px; gap: 16px; }
html[data-design="human-minimal"] .offer-strip div { display: block; }
html[data-design="human-minimal"] .offer-strip div + div { padding-left: 16px; }
html[data-design="human-minimal"] .offer-strip dt { font-size: 25px; line-height: 1.35; }
html[data-design="human-minimal"] .offer-strip dd { font-size: 13px; line-height: 1.5; max-width: none; margin-top: 6px; }
html[data-design="human-minimal"] :is(.truth-section, .process-section, .method-section) { max-width: 1180px; }
html[data-design="human-minimal"] .truth-section { padding-block: 100px 64px; }
html[data-design="human-minimal"] .process-section { padding-block: 56px 100px; }
html[data-design="human-minimal"] :is(.truth-grid h2, .section-heading h2, .method-intro h2, .privacy-card h2) {
  font-size: clamp(2.4rem, 4vw, 3.8rem); line-height: 1.12;
}
html[data-design="human-minimal"] :is(.truth-copy, .section-heading > p, .method-intro > p, .privacy-card p) { font-size: 18px; }
html[data-design="human-minimal"] .section-heading { gap: 32px; }
html[data-design="human-minimal"] .process-card { min-height: 0; padding: 26px 22px; }
html[data-design="human-minimal"] .process-card h3 { font-size: 28px; margin: 34px 0 16px; line-height: 1.2; }
html[data-design="human-minimal"] .process-card p { font-size: 16px; }
html[data-design="human-minimal"] .method-section { grid-template-columns: 1fr 1.15fr; gap: 64px; padding-bottom: 100px; }
html[data-design="human-minimal"] .method-panel { background: var(--surface-subtle); color: var(--ink); padding: 38px; }
html[data-design="human-minimal"] :is(.method-stat, .method-list li) { border-color: var(--line-strong); }
html[data-design="human-minimal"] .method-stat { align-items: center; gap: 24px; padding-bottom: 28px; }
html[data-design="human-minimal"] .method-stat strong { font-size: 42px; white-space: nowrap; line-height: 1.1; color: var(--accent); }
html[data-design="human-minimal"] :is(.method-stat span, .method-list div > span) { color: var(--ink-soft); font-size: 16px; }
html[data-design="human-minimal"] .method-list strong { font-size: 17px; margin-bottom: 8px; }
html[data-design="human-minimal"] .method-icon { color: var(--accent); }
html[data-design="human-minimal"] .privacy-section { background: var(--accent-soft); padding-block: 76px; }
html[data-design="human-minimal"] .privacy-card { max-width: 1050px; }
html[data-design="human-minimal"] .privacy-card p { margin-block: 24px; }
html[data-design="human-minimal"] .final-cta { min-height: 0; padding-block: 88px; }
html[data-design="human-minimal"] .final-cta h2 { font-size: clamp(2.8rem, 5vw, 4.5rem); line-height: 1.12; }
html[data-design="human-minimal"] .site-footer { font-size: 13px; padding-block: 28px; }

/* The form hierarchy stays quiet so the next action is easy to find. */
html[data-design="human-minimal"] .flow-main { max-width: 1180px; padding-top: 44px; }
html[data-design="human-minimal"] .flow-intro { gap: 48px; margin-bottom: 42px; grid-template-columns: 1.5fr 1fr; }
html[data-design="human-minimal"] .flow-intro h1 { font-size: clamp(2.8rem, 5vw, 4.5rem); line-height: 1.09; letter-spacing: -.04em; }
html[data-design="human-minimal"] .flow-intro-copy { border: 0; padding: 0; font-size: 18px; line-height: 1.65; max-width: 34ch; }
html[data-design="human-minimal"] :is(.eyebrow, .flow-kicker, .step-number, .section-label) { font-size: 12px; letter-spacing: .12em; }
html[data-design="human-minimal"] .progress-track { margin-bottom: 28px; gap: 10px; }
html[data-design="human-minimal"] .progress-segment { height: 4px; border-radius: 20px; }
html[data-design="human-minimal"] .workspace { padding: clamp(24px, 4.5vw, 56px); border-radius: 24px; }
html[data-design="human-minimal"] .step-heading { align-items: start; grid-template-columns: 1.2fr 1fr; gap: 40px; margin-bottom: 36px; }
html[data-design="human-minimal"] :is(.step-heading h2, .completion-panel h2) { font-size: clamp(2.1rem, 3.5vw, 3rem); line-height: 1.15; }
html[data-design="human-minimal"] .step-heading > p { padding-top: 28px; font-size: 17px; }
html[data-design="human-minimal"] :is(.consent-list li, .check-row, .field-label) { font-size: 17px; line-height: 1.65; }
html[data-design="human-minimal"] .consent-list li { padding-block: 21px; gap: 18px; }
html[data-design="human-minimal"] .consent-list li > span { padding-top: 4px; font-size: 12px; }
html[data-design="human-minimal"] .check-row { padding: 22px; gap: 16px; }
html[data-design="human-minimal"] .check-row input { width: 22px; height: 22px; margin-top: 3px; flex-shrink: 0; }
html[data-design="human-minimal"] .audience-fieldset { background: transparent; padding: 22px 0 12px; border-radius: 0; }
html[data-design="human-minimal"] .audience-fieldset legend { padding: 0; font-size: 27px; }
html[data-design="human-minimal"] .field-help { margin: 8px 0 22px; color: var(--ink-soft); font-size: 16px; }
html[data-design="human-minimal"] .field-label { gap: 10px; }
html[data-design="human-minimal"] .field-label span { font-size: 15px; line-height: 1.6; }
html[data-design="human-minimal"] .age-grid { max-width: 480px; gap: 20px; }
html[data-design="human-minimal"] .audience-choice { background: var(--surface-subtle); min-height: 64px; }
html[data-design="human-minimal"] .button-row { margin-top: 32px; gap: 16px; flex-wrap: wrap; }
html[data-design="human-minimal"] .inline-status { font-size: 15px; line-height: 1.6; }
html[data-design="human-minimal"] .photo-drop-zone { background: var(--surface-subtle); border-color: var(--line-strong); padding: 30px; min-height: 150px; }
html[data-design="human-minimal"] .photo-drop-copy strong { font-size: 28px; line-height: 1.25; margin-bottom: 10px; }
html[data-design="human-minimal"] .photo-slot-preview { padding: 10px; }
html[data-design="human-minimal"] .photo-slot-copy { padding: 14px 16px; gap: 8px; }
html[data-design="human-minimal"] .photo-slot-status { font-size: 14px; margin-top: 4px; }
html[data-design="human-minimal"] .photo-slot-action { font-size: 15px; min-height: 44px; }
html[data-design="human-minimal"] .rank-card { background: var(--surface-subtle); padding: 16px; gap: 20px; }
html[data-design="human-minimal"] :is(.rank-copy span, .character-count, .feedback-photo-line span, .review-notes h3) { font-size: 14px; line-height: 1.6; }
html[data-design="human-minimal"] .feedback-card { background: transparent; padding: 0; }
html[data-design="human-minimal"] .feedback-grid { gap: 36px; }
html[data-design="human-minimal"] .feedback-photo-line { margin-bottom: 24px; }
html[data-design="human-minimal"] .field-label textarea { min-height: 180px; padding: 16px; }
html[data-design="human-minimal"] .character-count { display: block; margin-top: 8px; }
html[data-design="human-minimal"] .completion-panel > p { margin: 24px auto; max-width: 52ch; font-size: 18px; }
html[data-design="human-minimal"] .status-note { padding: 18px 22px; margin-bottom: 28px; line-height: 1.6; }
html[data-design="human-minimal"] .privacy-footnote { font-size: 14px; margin-top: 28px; }

@media (max-width: 900px) {
  html[data-design="human-minimal"] .hero { gap: 28px; grid-template-columns: 1.15fr 1fr; }
  html[data-design="human-minimal"] .hero h1 { font-size: 54px; }
  html[data-design="human-minimal"] .hero-image { min-height: 500px; }
  html[data-design="human-minimal"] :is(.flow-intro, .step-heading, .method-section) { grid-template-columns: 1fr; gap: 24px; }
  html[data-design="human-minimal"] .step-heading > p { padding-top: 0; max-width: 54ch; }
  html[data-design="human-minimal"] .flow-intro-copy { max-width: 52ch; }
}
@media (max-width: 680px) {
  html[data-design="human-minimal"] :is(.site-header, .flow-header) { min-height: 80px; padding: 16px 20px; gap: 16px; }
  html[data-design="human-minimal"] :is(.brand-name, .flow-brand-name) { font-size: 24px; }
  html[data-design="human-minimal"] .site-nav { gap: 0; }
  html[data-design="human-minimal"] .nav-cta { font-size: 14px; padding: 10px 14px; min-height: 44px; }
  html[data-design="human-minimal"] .hero { display: flex; padding: 0 20px; margin: 0; gap: 10px; }
  html[data-design="human-minimal"] .hero-content { padding: 36px 0 28px; }
  html[data-design="human-minimal"] .hero h1 { font-size: clamp(44px, 11.5vw, 62px); }
  html[data-design="human-minimal"] .hero-image { min-height: 0; height: 360px; border-radius: 72px 20px 20px 20px; }
  html[data-design="human-minimal"] .hero-lede { font-size: 18px; }
  html[data-design="human-minimal"] .hero-actions { align-items: start; }
  html[data-design="human-minimal"] .hero-actions .button { width: auto; }
  html[data-design="human-minimal"] .process-card:nth-child(n) { padding: 24px 20px; margin: 0; min-height: 0; }
  html[data-design="human-minimal"] .process-card h3 { margin-top: 22px; }
  html[data-design="human-minimal"] .truth-section { padding-top: 64px; }
  html[data-design="human-minimal"] .method-panel { padding: 26px; }
  html[data-design="human-minimal"] .method-stat { flex-wrap: wrap; gap: 14px; }
  html[data-design="human-minimal"] .method-stat span { max-width: none; }
  html[data-design="human-minimal"] .flow-main { padding: 28px 16px 56px; }
  html[data-design="human-minimal"] .flow-intro { margin-bottom: 30px; }
  html[data-design="human-minimal"] .workspace { padding: 28px 20px; border-radius: 20px; }
  html[data-design="human-minimal"] .check-row { padding: 18px; }
  html[data-design="human-minimal"] .rank-card { gap: 12px; padding: 12px; }
  html[data-design="human-minimal"] .photo-drop-zone { padding: 24px 20px; }
  html[data-design="human-minimal"] .button-row { gap: 12px; }
}
