/* Comfortable 100% zoom defaults: clear body copy, controls, and form labels. */
body { font-size: 16px; line-height: 1.55; }
.brand-text strong { font-size: 14px; }
.brand-text small { font-size: 11px; }
.panel-actions { display: flex; align-items: center; gap: 10px; }
.panel-actions .button { min-height: 42px; font-size: 13px; }
.nav-links { font-size: 14px; }
.button, .text-link { font-size: 14px; }
.eyebrow, .kicker, .hero-rail, .hero-small, .pill, .subhead,
.direction-head, .news-meta, .contact-mark, .footer-main > p,
.footer-top, .footer-bottom { font-size: 12px; line-height: 1.5; }
.hero-lead, .section-top > p, .contact-layout > div:last-child > p,
.guest-copy > p, .direction p, .steps p, .private-note,
.small-privacy, .request-item p, .inbox-item .request-preview {
  font-size: 15px;
  line-height: 1.65;
}
.news-loading, .news-empty { font-size: 14px; }
.news-card p { max-height: 88px; font-size: 14px; line-height: 1.6; }
.news-card time, .news-toggle { font-size: 12px; }
.direction { min-height: 320px; padding: 22px 20px 18px; }
.direction h3 { margin-top: 54px; }
.direction > button { font-size: 13px; }
.steps h3 { font-size: 20px; }
.profile-form label, .request-form label, .admin-form label,
.settings-form label, .auth-form label, #verifyForm label,
#legacyResetForm label { display: block; margin: 14px 0 7px; font-size: 13px; font-weight: 650; }
.profile-form input, .profile-form select, .request-form input,
.request-form textarea, .request-form select, .admin-form input,
.admin-form textarea, .admin-form select, .settings-form input,
.settings-form textarea, .auth-form input, .auth-form select,
#verifyForm input, #legacyResetForm input, .inbox-toolbar input,
.inbox-toolbar select {
  min-height: 48px;
  padding: 12px 14px;
  font-size: 15px;
}
.workspace-main textarea, .admin-form textarea, .settings-form textarea { min-height: 130px; }
.button-save, .form-actions .button, .admin-form .button { min-height: 44px; font-size: 14px; }
.form-actions > span, .form-status, .empty-state { font-size: 13px; line-height: 1.55; }
.history-title h4 { font-size: 20px; }
.request-category, .request-badge, .request-item time { font-size: 11px; }
.request-item { padding: 15px; }
.request-item h5 { font-size: 14px; }
.timeline-item, .timeline-item p { font-size: 12px; line-height: 1.55; }
.timeline-item strong { font-size: 13px; }
.inbox-toolbar { gap: 10px; }
.inbox-toolbar input, .inbox-toolbar select, .inbox-toolbar button,
.inbox-controls select, .inbox-controls textarea, .inbox-controls button { min-height: 44px; font-size: 14px; }
.inbox-controls textarea { min-height: 70px; }
.inbox-count, .inbox-author, .admin-help { font-size: 13px; line-height: 1.55; }
.inbox-item { padding: 19px; }
.admin-tabs button { font-size: 14px; }
.admin-form { padding: 20px; }
.manage-item { padding: 14px; }
.manage-item h5 { font-size: 14px; }
.manage-item small, .user-name small, .user-meta { font-size: 12px; }
.manage-actions button, .user-row button, .user-row select { min-height: 40px; font-size: 12px; }
.user-name strong { font-size: 14px; }
.auth-dialog {
  width: min(640px, calc(100% - 32px));
  max-height: min(94vh, 900px);
  border-radius: 16px;
}
.dialog-top { padding: 20px 28px; }
.dialog-top .brand-mark { width: 40px; height: 40px; font-size: 15px; }
.dialog-top .brand-text strong { font-size: 14px; }
.dialog-top .brand-text small { font-size: 11px; }
.dialog-close { width: 38px; height: 38px; }
.dialog-body { padding: 34px 40px 30px; }
.dialog-body > h2 { margin: 14px 0 0; font-size: clamp(38px, 5vw, 48px); line-height: 1.08; }
.auth-tabs { gap: 26px; margin: 25px 0 13px; }
.auth-tabs button { padding-bottom: 12px; font-size: 14px; }
.auth-form input, .auth-form select, #verifyForm input, #legacyResetForm input { min-height: 52px; font-size: 16px; }
.auth-form > small { margin-top: 7px; font-size: 12px; }
.full-button { min-height: 54px; margin-top: 20px; font-size: 15px; }
.auth-disclaimer, .verify-panel > p { font-size: 14px; line-height: 1.65; }
.verify-panel h3 { font-size: 32px; }
.verify-icon { width: 46px; height: 46px; }
#verifyCode { font-size: 22px; }
.resend-link { font-size: 13px; }
.dev-mail-note { font-size: 12px !important; }
.dialog-bottom { padding: 14px 40px; font-size: 10px; letter-spacing: .06em; }
.toast { font-size: 14px; }

@media (max-width: 680px) {
  .section { padding: 76px 0; }
  .hero-lead { font-size: 16px; }
  .hero-small, .hero-rail { font-size: 11px; }
  .section-top > p { font-size: 15px; }
  .direction { min-height: 270px; padding: 17px 15px; }
  .direction-head { font-size: 10px; }
  .direction p { font-size: 14px; }
  .direction > button { font-size: 12px; }
  .steps h3 { font-size: 18px; }
  .steps p, .private-note, .guest-copy > p { font-size: 14px; }
  .auth-dialog { width: calc(100% - 20px); max-height: 94vh; border-radius: 14px; }
  .dialog-top { padding: 16px 19px; }
  .dialog-body { padding: 25px 22px 23px; }
  .dialog-body > h2 { font-size: clamp(34px, 8vw, 42px); }
  .dialog-bottom { padding: 12px 22px; font-size: 9px; }
  .auth-form input, .auth-form select, #verifyForm input, #legacyResetForm input { font-size: 16px; }
  .panel-actions { flex-wrap: wrap; justify-content: flex-end; }
  .panel-actions .button { min-height: 40px; padding: 0 12px; font-size: 12px; }
}

@media (max-width: 420px) {
  .direction-grid, .auth-row { grid-template-columns: 1fr; }
  .direction { min-height: 245px; }
  .dialog-body { padding-right: 18px; padding-left: 18px; }
  .dialog-bottom { padding-right: 18px; padding-left: 18px; }
}
