/* NOS W14 first-value page v0.3 · additions only; tokens and base rules come from styles.css (v0.2 unchanged) */
.ask { margin: 0 0 8px; }
.ask-label { display: block; font-size: 1.0625rem; line-height: 1.35; margin: 0 0 8px; }
.ask-field { resize: vertical; min-height: 72px; line-height: 1.4; margin: 0 0 12px; }
.ask-field:focus-visible { outline: 2px solid var(--oxblood); outline-offset: 2px; }
.ask .cta[aria-busy="true"] { opacity: 0.75; cursor: progress; }
.ask-hint { color: var(--secondary); font-size: 0.9375rem; margin: 8px 0 0; }
.fv-error { margin: 16px 0 0; font-size: 1.0625rem; }
.fv-error code { color: var(--ink); }

.fv-answer { border-top: 1px solid var(--rule); padding-top: 20px; margin-top: 24px; }
.fv-answer > .label { margin-bottom: 12px; }
.fv-next { font-size: 1.1875rem; line-height: 1.45; margin: 0 0 16px; }
.fv-next strong { font-weight: 600; }
.fv-lines { list-style: none; padding: 0; margin: 0 0 8px; }
.fv-lines li { margin: 0 0 16px; padding-left: 14px; border-left: 2px solid var(--rule); }
.fv-lines li.fv-counter { border-left-color: var(--ink); }
.fv-lines li.fv-gap { background: var(--tint); border: 1px solid var(--rule); border-radius: 6px; padding: 12px 16px; }
.fv-lines li.fv-weak { border-left-color: var(--oxblood); }
.fv-lines .statement { font-size: 1.125rem; line-height: 1.45; margin: 0 0 4px; }
.fv-lines .kind { font-family: var(--mono); font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--secondary); margin: 0 0 4px; }
.fv-lines .ref { font-family: var(--mono); font-size: 0.8125rem; color: var(--secondary); margin: 0; }
.fv-actions { display: flex; flex-wrap: wrap; gap: 0 24px; }
.small-text { font-size: 0.9375rem; color: var(--secondary); }
#why .claim .tag { font-family: var(--mono); font-size: 0.75rem; color: var(--secondary); margin-left: 4px; }
#why .matched { font-family: var(--mono); font-size: 0.75rem; color: var(--secondary); margin: 6px 0 0; }

.fv-pair { display: grid; grid-template-columns: 1fr; gap: 16px; margin: 16px 0; }
.fv-arm { border: 1px solid var(--rule); border-radius: 6px; padding: 16px; background: var(--cream); }
.fv-arm-nos { border-color: var(--oxblood); }
.fv-quotes { list-style: none; padding: 0; margin: 0; }
.fv-quotes li { font-size: 1.0625rem; line-height: 1.45; margin: 0 0 10px; }
.fv-quotes li::before { content: "\201C"; }
.fv-quotes li::after { content: "\201D"; }
.fv-full { font-size: 0.78rem; }
.fv-footer { padding: 24px 0 0; margin-top: 48px; font-size: 0.9375rem; }

@media (min-width: 720px) {
  .fv-pair { grid-template-columns: 1fr 1fr; }
}

/* v0.4 · 29 Oct 2026: language switch, first job (choose what to finish), brief, kept question below */
.fold { position: relative; }
.lang { position: absolute; top: 18px; right: 16px; display: flex; gap: 6px; margin: 0; }
.lang-btn { font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.04em; background: transparent; color: var(--secondary);
  border: 1px solid var(--rule); border-radius: 4px; padding: 2px 8px; cursor: pointer; min-height: 28px; min-width: 44px; }
.lang-btn[aria-pressed="true"] { color: var(--ink); border-color: var(--ink); }
.lang-btn:focus-visible { outline: 2px solid var(--oxblood); outline-offset: 2px; }
.job .ask-label { font-size: 1rem; line-height: 1.3; margin: 8px 0 4px; }
.job .ask-label:first-child { margin-top: 0; }
.job .ask-field { min-height: 48px; margin: 0 0 2px; }
.job .field { padding-top: 8px; padding-bottom: 8px; }
.job ~ .error-state, .promise .lede { margin-bottom: 16px; }
.job input.field { margin: 0 0 4px; }
.job .cta { margin-top: 10px; }
.job-more { margin: 6px 0 0; }
.job-more summary { font-size: 0.9375rem; color: var(--secondary); cursor: pointer; }
.link-cta.inline { font-size: 0.9375rem; padding: 0; margin: 0; }
.fv-brief { font-size: 0.875rem; line-height: 1.5; margin: 0 0 12px; }
.fv-lines li.fv-next-step { border-left-color: var(--oxblood); }
.second { border-top: 1px solid var(--rule); margin-top: 40px; padding-top: 20px; }
.second > .label { margin-bottom: 12px; }

/* 31 Oct 2026: approved headline on top, the first job under its own heading, hosted connect block and host note */
.job-h { margin: 0 0 4px; }
.job-lede { margin: 0 0 12px; }
details.connect { margin: 0 0 20px; }
.connect-url { font-size: 0.8125rem; overflow-wrap: anywhere; margin: 8px 0 4px; }
.fv-host:not([hidden]) { display: block; margin-top: 8px; }
.fv-host:empty { display: none; }

/* 31 Oct 2026: eight languages on the hosted page. Arabic reads right to left, and cursive letters must not be spaced
   apart. Quotes, the person's own words and sources keep the direction of their own text in every language. */
.hosted .lang { position: static; flex-wrap: wrap; margin: 0 0 12px; }
.statement, .ref, .fv-next, .fv-brief, .field, .fv-lines li > p { unicode-bidi: plaintext; text-align: start; }
[dir="rtl"] .skip { left: auto; right: -999px; } /* off-screen to the left would widen a right-to-left page */
[dir="rtl"] .skip:focus { right: 8px; }
[dir="rtl"] .fv-lines li { padding-left: 0; padding-right: 14px; border-left: 0; border-right: 2px solid var(--rule); }
[dir="rtl"] .fv-lines li.fv-counter { border-right-color: var(--ink); }
[dir="rtl"] .fv-lines li.fv-weak, [dir="rtl"] .fv-lines li.fv-next-step { border-right-color: var(--oxblood); }
[dir="rtl"] .fv-lines li.fv-gap { border: 1px solid var(--rule); padding: 12px 16px; }
[dir="rtl"] .counterpoint { border-left: 0; border-right: 3px solid var(--ink); padding: 4px 16px 4px 0; }
[dir="rtl"] .claim blockquote { padding: 0 14px 0 0; border-left: 0; border-right: 2px solid var(--oxblood); }
[dir="rtl"] .plain, [dir="rtl"] .ops { padding-left: 0; padding-right: 1.1em; }
[dir="rtl"] .link-cta::after { content: "\2190"; margin-left: 0; margin-right: 8px; }
[dir="rtl"] th, [dir="rtl"] td { text-align: right; }
[dir="rtl"] #why .claim .tag { margin-left: 0; margin-right: 4px; }
[lang="ar"], [lang="ar"] * { letter-spacing: 0 !important; }
:root[lang="ko"] { word-break: keep-all; }
