/* Editorial pages and account screens — one visual language, task-specific layouts. */
.auth-scene { display:grid; grid-template-columns:1.12fr 1fr; border:1px solid #d5d7cf; margin:32px auto 72px; max-width:76.25rem; min-height:650px; background:#fffefa; }
.auth-story { display:flex; flex-direction:column; min-width:0; overflow:hidden; background:#222822; color:#f3f2ed; padding:38px 42px 25px; }
.auth-wordmark { width:fit-content; color:inherit; font-family:"Space Grotesk",sans-serif; font-size:1.5625rem; font-weight:700; letter-spacing:-1px; text-decoration:none; }
.auth-wordmark span { margin-left:9px; font:0.625rem "IBM Plex Mono",monospace; letter-spacing:1.4px; color:#c1c8b9; vertical-align:middle; }
.auth-story-copy { margin-top:60px; }
.auth-story h1 { color:inherit; font:500 clamp(2.375rem,4.25vw,4rem)/1.02 "Space Grotesk",sans-serif; letter-spacing:-3px; margin:0 0 23px; max-width:8.7em; }
.auth-story-copy>p { max-width:33ch; color:#c6ccbe; font-size:0.9375rem; line-height:1.7; margin:0; }
.auth-technical-art { display:block; width:calc(100% + 26px); margin:12px -13px 20px; min-height:180px; flex:1; }
.auth-story-foot { display:flex; flex-wrap:wrap; gap:14px 20px; justify-content:space-between; border-top:1px solid #475042; padding-top:18px; font:0.625rem/1.5 "IBM Plex Mono",monospace; letter-spacing:.7px; color:#bdc5b4; }
.auth-story-foot a { color:#f3f2ed; text-decoration:none; }
.auth-story-foot a:hover { color:#ed5428; }
.auth-form-area { padding:clamp(28px,4vw,64px); display:flex; flex-direction:column; justify-content:center; min-width:0; }
.auth-form-area h2 { font:500 clamp(1.8125rem,3vw,2.625rem)/1.12 "Space Grotesk",sans-serif; letter-spacing:-1.5px; margin:0 0 12px; color:#222822; }
.auth-form-area .auth-subtitle { font-size:0.875rem; color:#60685d; line-height:1.7; margin:0 0 30px; }
.auth-meta { color:#737b6e; font:0.6875rem/1.5 "IBM Plex Mono",monospace; text-transform:uppercase; letter-spacing:1px; margin:0 0 18px; }
.auth-form-area form { width:100%; }
.auth-form-area .field { margin:0 0 22px; }
.auth-form-area .field-label { color:#222822; font-size:0.8125rem; font-weight:600; margin-bottom:8px; }
.auth-form-area .form-input,.auth-form-area input:not([type=checkbox]):not([type=hidden]),.editorial-form textarea,.editorial-form input:not([type=checkbox]):not([type=hidden]) { width:100%; background:#fffefa; border:1px solid #c4c8bc; border-radius:3px; color:#222822; min-height:50px; padding:12px 14px; font:inherit; box-sizing:border-box; }
.auth-form-area input:focus,.editorial-form input:focus,.editorial-form textarea:focus { outline:2px solid #ed5428; outline-offset:2px; }
.auth-form-area .input-wrap { position:relative; }
.auth-form-area input[type=password],.auth-form-area .input-wrap:has(.password-toggle) input { padding-right:70px; }
.auth-form-area .password-toggle { color:#61695b; font:600 0.6875rem "IBM Plex Mono",monospace; }
.auth-form-area .field-help { font-size:0.75rem; line-height:1.6; color:#656e5d; }
.auth-form-area .field-help ul { padding-left:18px; margin:7px 0 0; }
.auth-form-area .field-error { font-size:0.75rem; color:#ac3019; padding-left:16px; }
.auth-form-area .has-error input { border-color:#ac3019; }
.auth-form-area .error-summary { border-left:3px solid #ac3019; background:#fff0e9; padding:14px 17px; color:#8e2817; font-size:0.8125rem; margin:0 0 22px; }
.auth-form-area .error-summary ul { margin:0; padding-left:15px; }
.auth-inline { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:0.75rem; margin:0 0 26px; }
.auth-inline a,.auth-switch a { color:#222822; text-underline-offset:4px; }
.auth-inline .check-row { font-size:0.75rem; gap:7px; }
.auth-inline input[type=checkbox] { accent-color:#ed5428; }
.auth-submit { width:100%; justify-content:space-between; min-height:52px; }
.auth-switch { border-top:1px solid #d5d7cf; margin:28px 0 0; padding-top:23px; font-size:0.8125rem; color:#656e5d; }
.auth-demo { display:grid; grid-template-columns:1fr auto; align-items:center; gap:8px 18px; margin-top:26px; padding:17px 18px; border:1px dashed #c5cabc; border-radius:3px; color:#4a5544; background:#f3f2ed; }
.auth-demo strong { display:block; font-size:0.75rem; color:#222822; }
.auth-demo p { font-size:0.6875rem; line-height:1.5; margin:4px 0 0; }
.auth-demo code { font:0.75rem "IBM Plex Mono",monospace; color:#222822; white-space:nowrap; }
.auth-note { border-left:2px solid #ed5428; padding:0 0 0 15px; margin:0 0 24px; color:#5d6656; font-size:0.75rem; line-height:1.7; }
.auth-note a { color:inherit; text-underline-offset:3px; }
.auth-form-area .form-actions { margin-top:24px; display:flex; flex-wrap:wrap; gap:10px; }
.auth-complete-mark { display:flex; width:48px; height:48px; border:1px solid #c5cdbc; border-radius:50%; align-items:center; justify-content:center; font-size:1.5rem; color:#526f39; margin-bottom:32px; }
.editorial-page { padding:38px 0 72px; max-width:76.25rem; margin:auto; }
.editorial-header { display:grid; grid-template-columns:1fr minmax(200px,340px); gap:30px 60px; padding:0 0 55px; border-bottom:1px solid #c7ccbd; align-items:end; }
.editorial-label { color:#6b7562; font:0.6875rem/1.5 "IBM Plex Mono",monospace; letter-spacing:1px; text-transform:uppercase; margin:0 0 24px; }
.editorial-header h1,.editorial-form-heading h1 { font:500 clamp(2.5rem,6vw,5.25rem)/1.02 "Space Grotesk",sans-serif; letter-spacing:-3px; color:#222822; margin:0; max-width:11ch; }
.editorial-header .editorial-intro { font-size:1rem; line-height:1.75; margin:0; color:#606b57; }
.editorial-grid { display:grid; grid-template-columns:230px minmax(0,1fr); gap:55px; padding-top:44px; align-items:start; }
.editorial-index { position:sticky; top:96px; padding-right:15px; }
.editorial-index-title { font:0.6875rem "IBM Plex Mono",monospace; color:#74806a; letter-spacing:1px; margin:0 0 16px; }
.editorial-index ol { list-style:none; padding:0; margin:0; }
.editorial-index a { display:flex; gap:11px; padding:10px 0; color:#67725e; text-decoration:none; font-size:0.75rem; line-height:1.6; }
.editorial-index a span { font:0.625rem/1.8 "IBM Plex Mono",monospace; color:#8b9383; }
.editorial-index a:hover,.editorial-index a:focus-visible { color:#d64018; }
.editorial-index .button { margin-top:25px; font-size:0.75rem; }
.editorial-sections { min-width:0; }
.editorial-section { display:grid; grid-template-columns:43px minmax(0,1fr); gap:12px; padding:0 0 38px; margin-bottom:35px; border-bottom:1px solid #d5d7cf; scroll-margin-top:100px; }
.editorial-number { color:#b0b6a6; font:0.75rem "IBM Plex Mono",monospace; padding-top:8px; }
.editorial-section h2 { font:500 clamp(1.4375rem,2.5vw,2rem)/1.18 "Space Grotesk",sans-serif; letter-spacing:-.8px; color:#222822; margin:0 0 17px; }
.editorial-section p { font-size:0.9375rem; color:#5a6552; line-height:1.8; max-width:68ch; margin:0 0 12px; }
.editorial-section a { color:#c44220; text-underline-offset:4px; text-decoration-thickness:1px; }
.editorial-pending { font:0.625rem/1.4 "IBM Plex Mono",monospace; color:#a43b1f; border:1px solid #ddaa96; background:#fff3eb; padding:4px 6px; display:inline-block; vertical-align:middle; letter-spacing:.3px; margin-left:9px; }
.editorial-section ul { color:#5a6552; line-height:1.8; padding-left:20px; }
.editorial-notice { border-left:2px solid #ed5428; padding:17px 22px; background:#eceee5; color:#5c6853; font-size:0.8125rem; line-height:1.7; margin:0 0 30px; }
.editorial-notice p { margin:5px 0 0; }
.editorial-notice strong { color:#222822; }
.editorial-download { display:flex; align-items:center; justify-content:space-between; gap:24px; background:#222822; color:#f3f2ed; padding:26px 28px; margin-bottom:40px; }
.editorial-download h2 { font:500 1.5rem "Space Grotesk",sans-serif; margin:0 0 8px; color:inherit; }
.editorial-download p { margin:0; font-size:0.75rem; line-height:1.7; color:#c2cab6; }
.editorial-download .button { flex-shrink:0; }
.editorial-footer { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; gap:22px; border-top:1px solid #c7ccbd; padding-top:28px; margin-top:6px; }
.editorial-footer nav { display:flex; align-items:center; gap:25px; flex-wrap:wrap; font-size:0.75rem; }
.editorial-footer a:not(.button) { color:#58664d; text-underline-offset:4px; }
.editorial-preview-note { color:#738068; font-size:0.6875rem; line-height:1.8; margin:25px 0 0; }
.editorial-preview-note a { color:inherit; }
.editorial-form-layout { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; padding:44px 0 80px; max-width:71.875rem; margin:auto; }
.editorial-form-heading { position:sticky; top:110px; }
.editorial-form-heading p:not(.editorial-label) { color:#65715c; font-size:1rem; line-height:1.8; max-width:33ch; margin-top:28px; }
.editorial-form-heading .editorial-contact-rule { margin-top:45px; border-top:1px solid #c8cebe; padding-top:20px; font-size:0.75rem; }
.editorial-form { background:#fffefa; border:1px solid #d5d7cf; padding:32px; }
.editorial-form .field { margin-bottom:23px; }
.editorial-form textarea { min-height:150px; resize:vertical; }
.editorial-form .field-label { font-size:0.8125rem; color:#222822; margin-bottom:9px; }
.editorial-form .form-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:25px; }
.editorial-status-page { max-width:53.125rem; padding:65px 0 90px; margin:0 auto; }
.editorial-status-number { font:400 clamp(5.625rem,18vw,11.875rem)/1 "Space Grotesk",sans-serif; color:#d5d7cf; letter-spacing:-10px; margin:0 0 30px; }
.editorial-status-page h1 { font:500 clamp(2.125rem,5vw,3.625rem)/1.08 "Space Grotesk",sans-serif; letter-spacing:-2px; color:#222822; margin:0 0 25px; max-width:16ch; }
.editorial-status-page .editorial-status-copy { color:#65715c; font-size:1rem; line-height:1.8; max-width:58ch; }
.editorial-status-page .form-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:30px; }
.editorial-status-page .editorial-notice { margin-top:28px; }
.editorial-pending-list { list-style:none; padding:0; margin:35px 0 50px; }
.editorial-pending-list li { display:grid; grid-template-columns:55px 1fr 1.1fr 30px; align-items:start; gap:20px; padding:28px 0; border-bottom:1px solid #d5d7cf; }
.editorial-pending-list .editorial-pending-index { font:0.75rem "IBM Plex Mono",monospace; color:#8d9782; padding-top:5px; }
.editorial-pending-list a { font:500 1.5rem/1.2 "Space Grotesk",sans-serif; letter-spacing:-.6px; color:#222822; text-decoration:none; }
.editorial-pending-list p { font-size:0.8125rem; line-height:1.8; color:#637158; margin:0; }
.editorial-pending-arrow { color:#ed5428; font-size:1.4375rem; }
@media (max-width:62.5em) {
  .auth-story { padding:30px; }
  .auth-story-copy { margin-top:45px; }
  .auth-story h1 { font-size:2.875rem; letter-spacing:-2px; }
  .auth-form-area { padding:34px; }
  .editorial-grid { grid-template-columns:195px minmax(0,1fr); gap:30px; }
  .editorial-form-layout { gap:35px; }
  .editorial-download { display:block; }
  .editorial-download .button { margin-top:20px; }
}
@media (max-width:47.5em) {
  .auth-scene { grid-template-columns:1fr; margin:20px auto 45px; min-height:0; }
  .auth-story { padding:27px 28px; }
  .auth-wordmark { font-size:1.4375rem; }
  .auth-story-copy { margin-top:31px; }
  .auth-story h1 { max-width:12ch; font-size:2.9375rem; margin-bottom:17px; }
  .auth-story-copy>p { font-size:0.8125rem; max-width:37ch; }
  .auth-technical-art { width:240px; height:135px; min-height:0; margin:18px 0 0 auto; flex:none; opacity:.8; }
  .auth-story-foot { margin-top:22px; font-size:0.5625rem; }
  .auth-form-area { padding:32px 27px; }
  .auth-form-area h2 { font-size:2.125rem; }
  .auth-demo { grid-template-columns:1fr; }
  .editorial-page { padding:24px 0 45px; }
  .editorial-header { display:block; padding-bottom:30px; }
  .editorial-header h1,.editorial-form-heading h1 { letter-spacing:-2px; font-size:3.25rem; max-width:13ch; }
  .editorial-header .editorial-intro { margin-top:23px; max-width:45ch; font-size:0.875rem; }
  .editorial-label { margin-bottom:18px; }
  .editorial-grid { grid-template-columns:1fr; gap:30px; padding-top:25px; }
  .editorial-index { position:static; padding:0 0 25px; border-bottom:1px solid #d5d7cf; }
  .editorial-index ol { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
  .editorial-index .button { display:none; }
  .editorial-index a { padding:7px 0; font-size:0.6875rem; }
  .editorial-section { grid-template-columns:27px minmax(0,1fr); gap:9px; padding-bottom:28px; margin-bottom:27px; }
  .editorial-section h2 { font-size:1.625rem; }
  .editorial-section p { font-size:0.875rem; }
  .editorial-section .editorial-pending { margin:8px 0 0; display:table; }
  .editorial-form-layout { grid-template-columns:1fr; gap:30px; padding:25px 0 45px; }
  .editorial-form-heading { position:static; }
  .editorial-form-heading p:not(.editorial-label) { max-width:45ch; font-size:0.875rem; margin-top:22px; }
  .editorial-form-heading .editorial-contact-rule { margin-top:25px; }
  .editorial-form { padding:25px; }
  .editorial-pending-list li { grid-template-columns:27px 1fr 20px; gap:12px; padding:23px 0; }
  .editorial-pending-list a { font-size:1.375rem; }
  .editorial-pending-list p { grid-column:2; grid-row:2; }
  .editorial-pending-arrow { grid-column:3; grid-row:1; }
  .editorial-status-page { padding:35px 0 55px; }
}
@media (max-width:26.25em) {
  .auth-story h1 { font-size:2.5rem; }
  .auth-story,.auth-form-area { padding:25px 20px; }
  .auth-technical-art { display:none; }
  .auth-form-area h2 { font-size:1.875rem; }
  .auth-inline { align-items:flex-start; }
  .editorial-header h1,.editorial-form-heading h1 { font-size:2.6875rem; }
  .editorial-index ol { grid-template-columns:1fr; }
  .editorial-form { padding:21px 18px; }
  .editorial-download { padding:23px 19px; }
  .editorial-download .button { width:100%; justify-content:center; }
}
@media print {
  .editorial-index,.editorial-footer,.editorial-preview-note { display:none; }
  .editorial-grid { display:block; }
  .editorial-section { break-inside:avoid; }
}
.auth-meta,.editorial-preview-note,.editorial-preview-note a{color:#5f665e}

/* Account actions lead on narrow screens; the brand story follows the form. */
.auth-form-area .error-summary p{margin-bottom:10px}
.auth-form-area .error-summary a{color:inherit;text-underline-offset:3px}
@media(max-width:47.5em){
  .auth-scene{margin-top:0}
  .auth-form-area{grid-row:1;padding-top:28px}
  .auth-story{grid-row:2}
  .auth-story-copy{margin-top:24px}
  .auth-story h1{font-size:2.25rem;max-width:none;letter-spacing:-1.5px}
  .auth-story-copy>p{max-width:none}
  .auth-technical-art{display:none}
  .auth-story-foot{font-size:0.75rem;letter-spacing:0;gap:12px}
  .auth-meta,.auth-form-area .password-toggle,.auth-demo p{font-size:0.75rem}
  .auth-form-area .form-input,.auth-form-area input:not([type=checkbox]):not([type=hidden]){font-size:1rem}
}
