/* Modern campus interiors. Loaded after the shared system and legacy page CSS.
   Page logic, hidden panels, image crops and the keepsake export retain their contracts. */
.design-modern .world-page {
  --world-accent: var(--accent);
  --world-tint: var(--surface-soft);
  --world-line: var(--line);
  --world-muted: var(--muted);
  --world-paper: var(--cream);
}
.design-modern .stories-world {
  --story-accent: var(--accent);
  --story-tint: var(--surface-soft);
  --story-muted: var(--muted);
  --story-border: var(--line);
}
.design-modern .members-world,
.design-modern.lang-en .members-world {
  --member-accent: var(--accent);
  --member-ink: var(--ink);
  --member-muted: var(--muted);
  --member-border: var(--line);
  --member-tint: var(--surface-soft);
  background: var(--cream);
}
.design-modern .story-engagement,
.design-modern.lang-en .story-engagement {
  --engagement-accent: var(--accent);
  --engagement-ink: var(--ink);
  --engagement-muted: var(--muted);
  --engagement-line: var(--line);
  --engagement-paper: var(--surface-soft);
}

/* Generous editorial openings, with a consistent reading rhythm. */
.design-modern :is(.subpage-hero, .world-heading, .download-hero, .member-account-heading) {
  padding: 36px 0 58px;
  background: var(--surface-soft);
  border-bottom: 0;
}
.design-modern :is(.stories-hero, .community-hero) {
  background: var(--surface-soft);
  padding-bottom: 58px;
  border-bottom: 0;
}
.design-modern :is(.subpage-hero, .world-heading, .download-hero) .breadcrumbs {
  margin-bottom: 36px;
}
.design-modern :is(.subpage-hero, .world-heading, .download-hero, .stories-hero, .community-hero, .member-account-heading) h1,
.design-modern .welcome-heading h1,
.design-modern .member-auth-story h1 {
  color: var(--ink);
  font: 500 clamp(34px, 3.7vw, 54px)/1.27 var(--serif);
  letter-spacing: -.025em;
  text-wrap: balance;
  overflow-wrap: anywhere;
  margin-bottom: 22px;
}
.design-modern :is(.subpage-hero, .world-heading, .download-hero, .stories-hero, .community-hero, .member-account-heading, .welcome-heading) .eyebrow {
  color: var(--accent);
  font: 600 12px/1.7 var(--sans);
  letter-spacing: .12em;
}
/* The legacy English introduction uses !important at two breakpoints. */
.design-modern .subpage-hero p.subpage-intro { font-size: 16px !important; }
.design-modern .subpage-hero p:not(.eyebrow),
.design-modern .world-heading-row>div>p:last-child,
.design-modern .download-hero-copy>div>p:last-child,
.design-modern :is(.stories-intro, .community-intro, .member-intro),
.design-modern .welcome-heading p:last-child {
  color: var(--muted);
  font: 400 16px/1.9 var(--sans);
  max-width: 760px;
  text-wrap: pretty;
}
.design-modern :is(.world-content, .download-library, .stories-collection, .community-ballots, .member-account-container) {
  padding-top: 44px;
  padding-bottom: 76px;
}
.design-modern :is(.world-edition, .download-hero-note, .stories-postcard, .community-hero-ticket) {
  transform: none;
  border-radius: 16px;
  box-shadow: none;
}
.design-modern .world-edition {
  border: 0;
  outline: 0;
  background: var(--surface);
  font-size: 32px;
}
.design-modern .world-edition small { font-size: 12px; letter-spacing: .03em; }
.design-modern .download-hero-note { border: 0; background: var(--surface); }
.design-modern .download-hero-note>span { font-size: 12px; letter-spacing: .06em; }
.design-modern .download-hero-note strong { font-size: 25px; }
.design-modern .stories-postcard { border: 0; background: var(--surface); }
.design-modern .stories-postcard>span { font-size: 12px; letter-spacing: .04em; }
.design-modern .community-hero-ticket,
.design-modern.lang-en .community-hero-ticket { background: var(--accent); padding: 30px; }
.design-modern .community-hero-ticket>span { font-size: 12px; letter-spacing: .06em; }
.design-modern .community-hero-ticket strong { font-family: var(--serif); }
.design-modern .world-heading-link { font-size: 14px; min-height: 44px; }
.design-modern .world-heading-row>div, .design-modern .download-hero-copy>div,
.design-modern .community-hero-grid>div { min-width: 0; }
.design-modern :is(.prose, .school-card, .news-card-content, .visit-form-panel,
  .download-card-body, .community-option-name, .community-poll-intro,
  .member-field>label, .contribute-field>label, .welcome-step-intro) { overflow-wrap: anywhere; }
.design-modern .world-subnav { margin: 0 0 32px; border-bottom: 0; }
.design-modern .world-subnav ul { gap: 8px; }
.design-modern .world-subnav a {
  min-height: 44px;
  padding: 10px 17px;
  border: 1px solid transparent;
  border-radius: 24px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 500;
  margin: 0;
}
.design-modern .world-subnav a:hover { color: var(--accent); background: var(--surface-soft); }
.design-modern .world-subnav a[aria-current] { color: var(--accent); background: var(--surface-soft); border-color: var(--line); }

/* About, academics, research, campus and news. */
.design-modern .split-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px; }
.design-modern .section.container.split-layout { padding-block: 72px; }
.design-modern .split-layout :is(.prose, .feature-figure) { min-width: 0; }
.design-modern :is(.prose, .split-layout p, .article-body) {
  font: 400 16px/1.95 var(--sans);
  color: var(--muted);
}
.design-modern :is(.prose h2, .split-layout h2, h2.section-heading) {
  color: var(--ink);
  font: 500 clamp(28px, 2.6vw, 38px)/1.38 var(--serif);
  letter-spacing: -.02em;
}
.design-modern :is(.prose h3, .school-card h2, .school-card h3) {
  font: 600 23px/1.5 var(--sans);
  color: var(--ink);
}
.design-modern .feature-figure img,
.design-modern .campus-banner>img,
.design-modern .article-cover img,
.design-modern .admissions-photo img { border-radius: 16px; }
.design-modern .feature-figure figcaption { font-size: 12px; color: var(--muted); margin-top: 14px; }
.design-modern .school-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.design-modern .school-card { padding: 32px; border: 0; border-radius: 16px; background: var(--surface-soft); min-width: 0; }
.design-modern .section-tinted .school-card { background: var(--surface); }
.design-modern .school-card p { font-size: 15px; line-height: 1.9; color: var(--muted); }
.design-modern .school-card ul { font-size: 15px; color: var(--muted); }
.design-modern .school-card>.eyebrow { font: 600 12px/1.75 var(--sans); letter-spacing: .055em; color: var(--accent); }
.design-modern .card-number { font: 500 15px/1.5 var(--sans); color: var(--accent); margin-bottom: 22px; }
.design-modern .values-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.design-modern .values-grid .school-card { background: var(--surface); }
.design-modern .course-tags { gap: 8px; }
.design-modern .course-tags>span, .design-modern .course-tags>a {
  font-size: 12px; line-height: 1.7; color: var(--muted); background: var(--surface); border: 0; border-radius: 6px;
}
.design-modern .course-tags>a { min-height: 44px; display: inline-flex; align-items: center; }
.design-modern .section-header>p,
.design-modern .page-cta>p:not(.eyebrow),
.design-modern .search-empty>p:not(.eyebrow),
.design-modern .search-count { font-size: 15px; line-height: 1.9; color: var(--muted); }
.design-modern .event-row { grid-template-columns: 90px minmax(0, 1fr) auto; gap: 28px; padding: 28px 0; }
.design-modern .event-row .event-date { padding: 16px 10px; border-radius: 12px; background: var(--surface-soft); }
.design-modern .event-row .event-date>span { font: 500 13px/1.5 var(--sans); }
.design-modern .event-row .event-date>strong { font: 500 32px/1 var(--sans); }
.design-modern .event-row h3 { font: 600 21px/1.55 var(--sans); }
.design-modern .event-row p { font-size: 14px; line-height: 1.8; }
.design-modern .event-row>.text-link { font-size: 14px; }
.design-modern .faq-list summary { font: 600 16px/1.8 var(--sans); min-height: 44px; align-items: center; }
.design-modern .faq-list p { font: 400 15px/1.95 var(--sans); color: var(--muted); }
.design-modern .news-image { border-radius: 14px; }
.design-modern .news-card h3,
.design-modern.page-news .editorial-grid .news-card h3 { font: 600 23px/1.5 var(--sans); letter-spacing: -.015em; }
.design-modern.page-news .editorial-grid .news-card .news-image { aspect-ratio: 1.6; }
.design-modern .news-card-content>p { font-size: 15px; line-height: 1.9; color: var(--muted); }
.design-modern .news-card-content>.text-link { font-size: 14px; }
.design-modern .news-card-content .news-meta { font-size: 12px; margin-block: 18px 12px; }
.design-modern .article-hero h1 { font: 500 clamp(31px, 3.4vw, 48px)/1.4 var(--serif); color: var(--ink); }
.design-modern .article-hero .news-meta { font-size: 13px; }
.design-modern .article-body { color: var(--ink); }
.design-modern .search-page>.search-form { padding: 24px; border-radius: 16px; background: var(--surface-soft); max-width: none; }
.design-modern .search-page .search-form .button { font-size: 14px; min-height: 48px; }
.design-modern .search-result-section .news-card { grid-template-columns: 300px minmax(0, 1fr); }
.design-modern .search-result-section .section-heading { font-size: 30px; }
.design-modern .visit-form-panel { border-top: 0; border-radius: 16px; padding: 36px; background: var(--surface-soft); }
.design-modern .visit-form-panel>h2 { font: 600 26px/1.5 var(--sans); }
.design-modern .visit-form-panel>p:not(.eyebrow), .design-modern .visit-details p { font-size: 15px; line-height: 1.9; }
.design-modern .visit-details h3 { font: 600 21px/1.5 var(--sans); }
.design-modern :is(.form-caption, .muted, .site-note p) { font-size: 12px; line-height: 1.85; color: var(--muted); }
.design-modern .site-note .editorial-note { font-size: 12px !important; border-radius: 10px; background: var(--surface-soft); }

/* Characters are the content: broad portraits, clear names and a readable introduction. */
.design-modern .character-grid { gap: 28px; }
.design-modern .character-card { border: 0; background: var(--surface); border-radius: 18px; }
.design-modern .character-portrait { border: 0; border-radius: 16px; aspect-ratio: 1.12; }
.design-modern .character-portrait img { padding: 20px 18px 0; }
.design-modern .character-file-number { top: 18px; left: 20px; color: #6c6c59; font: 500 12px/1.5 var(--sans); letter-spacing: .08em; }
.design-modern .character-card-copy { padding: 24px 4px 8px; }
.design-modern .character-card-copy>.eyebrow { font: 600 12px/1.7 var(--sans); letter-spacing: .06em; }
.design-modern .character-card h2 { font: 600 27px/1.4 var(--sans); margin-bottom: 10px; }
.design-modern .character-tagline { font-size: 15px; line-height: 1.8; }
.design-modern .character-description { font-size: 15px; line-height: 1.9; }
.design-modern .character-traits { margin-bottom: 18px; gap: 8px; }
.design-modern .character-traits li { font-size: 12px; border: 0; border-radius: 6px; background: var(--surface-soft); padding: 6px 10px; }
.design-modern .character-card-copy>.text-link { font-size: 14px; padding-top: 16px; min-height: 46px; }
.design-modern :is(.world-next, .download-guidance, .explore-finish) { border: 0; border-radius: 16px; background: var(--surface-soft); padding: 36px; }
.design-modern :is(.world-next, .download-guidance, .explore-finish) h2 { font: 500 30px/1.5 var(--serif); }
.design-modern .world-next p:not(.eyebrow),
.design-modern .download-guidance p:not(.eyebrow),
.design-modern .explore-finish p:not(.eyebrow) { font-size: 15px; line-height: 1.9; }
.design-modern :is(.world-next, .download-guidance, .explore-finish) .button { font-size: 14px; }
.design-modern .character-profile { padding-top: 36px; padding-bottom: 76px; }
.design-modern .character-profile-hero { grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); gap: 64px; }
.design-modern .character-profile-portrait { border-radius: 18px; }
.design-modern .character-signature { font: 500 14px/1.6 var(--sans); color: #6c6c59; }
.design-modern .character-profile-heading h1 { font: 500 clamp(38px, 4vw, 56px)/1.3 var(--serif); }
.design-modern .character-profile-tagline { font: 600 21px/1.7 var(--sans); }
.design-modern .character-profile-intro, .design-modern .character-story-copy>p:not(.eyebrow) { font-size: 16px; line-height: 1.95; }
.design-modern .character-profile-heading blockquote { font-size: 22px; border-left-width: 3px; padding-left: 22px; }
.design-modern .character-profile-actions>.text-link { font-size: 14px; }
.design-modern .character-story-section { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px; padding: 64px 0; }
.design-modern .character-story-copy h2 { font-size: 34px; line-height: 1.45; }
.design-modern .character-school { border: 0; background: var(--surface-soft); border-radius: 12px; padding: 22px; }
.design-modern .character-school small { font-size: 12px; }
.design-modern .character-school strong { font: 600 17px/1.6 var(--sans); }
.design-modern .character-scene img { border-radius: 16px; }
.design-modern .character-scene figcaption { font-size: 12px; }
.design-modern .character-place-grid>a { border: 0; border-radius: 16px; background: var(--surface-soft); overflow: hidden; }
.design-modern .character-place-grid>a>div>span:first-child { font-size: 12px; }
.design-modern .character-place-grid h3 { font: 600 22px/1.5 var(--sans); }
.design-modern .character-place-grid p { font-size: 14px; }
.design-modern .character-place-grid .text-link { font-size: 13px; }
.design-modern .character-more>span { font-size: 13px; }
.design-modern .character-more a { font-size: 15px; }

/* Maps and polls keep their interactive structure and state styling. */
.design-modern .explore-map-panel { border: 0; border-radius: 16px; background: var(--surface-soft); }
.design-modern .explore-map { border-radius: 12px; }
.design-modern .explore-map-heading { padding: 24px; }
.design-modern .explore-map-heading h2 { font: 600 23px/1.5 var(--sans); }
.design-modern .explore-map-heading>span { font-size: 12px; letter-spacing: .02em; }
.design-modern .explore-map-caption { font-size: 12px; letter-spacing: .02em; line-height: 1.8; }
.design-modern .explore-map-key a { font-size: 14px; min-height: 44px; }
.design-modern .explore-map-key a>span { font-size: 12px; }
.design-modern .explore-passport { padding: 26px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: none; }
.design-modern .passport-title-line>span { font-size: 12px; letter-spacing: .04em; }
.design-modern .explore-passport>.eyebrow { font-size: 12px; }
.design-modern .passport-intro { font-size: 14px; line-height: 1.9; }
.design-modern :is(.passport-progress-text, .passport-privacy, .passport-reset, .passport-reset-confirm, .passport-complete p) { font-size: 12px; line-height: 1.85; }
.design-modern .passport-stamps>li>span:last-child { font-size: 12px; }
.design-modern .passport-reset, .design-modern .passport-reset-confirm button { min-height: 44px; font-size: 13px; }
.design-modern .passport-reset-confirm { border-radius: 10px; }
.design-modern .passport-complete .text-link { font-size: 13px; }
.design-modern .explore-story-count { font-size: 13px; }
.design-modern .explore-place { border: 0; border-radius: 16px; background: var(--surface-soft); }
.design-modern .explore-place-summary, .design-modern .explore-place-story { padding-inline: 26px; }
.design-modern .explore-place-summary>.eyebrow { font-size: 12px; letter-spacing: .06em; }
.design-modern .explore-place h3 { font: 600 24px/1.45 var(--sans); }
.design-modern .explore-place-summary>p:not(.eyebrow), .design-modern .explore-place-story>p { font-size: 15px; line-height: 1.9; }
.design-modern .explore-story-toggle, .design-modern .explore-character-link { font-size: 13px; min-height: 44px; }
.design-modern .explore-stamp-button { font-size: 14px; border-radius: 9px; }
.design-modern .explore-nojs { font-size: 14px; border-radius: 12px; }
.design-modern .community-section-heading h2 { font: 500 34px/1.4 var(--serif); }
.design-modern .community-section-heading>p { font-size: 15px; line-height: 1.8; }
.design-modern .community-poll { padding: 32px; border-radius: 16px; border: 1px solid var(--line); background: var(--surface); }
.design-modern .community-poll h3 { font: 600 24px/1.5 var(--sans); }
.design-modern .community-poll-intro { font-size: 15px; }
.design-modern :is(.community-poll-time, .community-poll-time small, .community-state, .community-option-numbers, .community-selected, .community-poll-empty, .community-poll-status) { font-size: 12px; }
.design-modern .community-option { border-radius: 10px; border-color: var(--line); background: var(--cream); padding: 17px; }
.design-modern .community-option-name { font-size: 15px; color: var(--ink); }
.design-modern .community-option input,
.design-modern.lang-en .community-option input { accent-color: var(--accent); }
.design-modern .community-option:has(input:checked),
.design-modern.lang-en .community-option:has(input:checked) { border-color: var(--accent); background: var(--surface-soft); }
.design-modern .community-result-track>span,
.design-modern.lang-en .community-result-track>span { background: var(--accent); }
.design-modern .community-selected, .design-modern .community-retry,
.design-modern.lang-en .community-selected { color: var(--accent); }
.design-modern .community-footnote p { font-size: 13px; color: var(--muted); }

/* Downloads and check-in. The miniature student card deliberately keeps its scale. */
.design-modern .download-grid { gap: 30px; }
.design-modern .download-card { border: 0; border-radius: 16px; background: var(--surface); }
.design-modern .download-art { border-radius: 16px; }
.design-modern .download-category { font-size: 12px; padding: 7px 11px; border: 0; border-radius: 7px; }
.design-modern .download-card-body { padding: 24px 4px 12px; }
.design-modern .download-card h3 { font: 600 22px/1.45 var(--sans); }
.design-modern .download-description { font-size: 15px; line-height: 1.9; color: var(--muted); }
.design-modern .download-meta, .design-modern .download-count { font-size: 12px; color: var(--muted); }
.design-modern .download-filters button { font-size: 14px; padding: 10px 18px; }
.design-modern .download-link { font-size: 14px; min-height: 48px; }
.design-modern .download-license { font-size: 12px; color: var(--muted); }
.design-modern .download-license summary { min-height: 44px; padding-block: 11px; }
.design-modern .download-guidance .eyebrow { font-size: 12px; }
.design-modern .welcome-page { background: var(--cream); padding-top: 36px; }
.design-modern .welcome-heading { margin: 32px 0 42px; }
.design-modern .welcome-workspace { border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 16px 50px #18362e06; }
.design-modern .welcome-interaction { padding: 36px; }
.design-modern .welcome-progress { font-size: 13px; color: var(--muted); }
.design-modern .welcome-step legend { font: 600 27px/1.5 var(--sans); }
.design-modern .welcome-step-intro { font-size: 15px; color: var(--muted); line-height: 1.85; }
.design-modern .welcome-nickname-label, .design-modern .welcome-avatar-label { font-size: 14px; font-weight: 500; }
.design-modern .welcome-nickname-label { flex-wrap: wrap; gap: 8px 12px; }
.design-modern .welcome-nickname-label>span { font-size: 12px; }
.design-modern #welcome-nickname { border-radius: 10px; font-size: 16px; background: var(--surface); }
.design-modern .welcome-avatar>span { border-radius: 12px; background: var(--cream); padding: 12px 8px 15px; }
.design-modern .welcome-avatar strong { font: 600 14px/1.5 var(--sans); }
.design-modern .welcome-avatar small { font-size: 12px; line-height: 1.65; color: var(--muted); margin-top: 6px; }
.design-modern .welcome-avatar input:checked+span { background: var(--surface-soft); }
.design-modern .welcome-privacy { font-size: 12px; color: var(--muted); line-height: 1.85; }
.design-modern .welcome-option-inner { padding: 17px; border-radius: 10px; background: var(--cream); gap: 14px; }
.design-modern .welcome-option-inner>span { font-size: 15px; line-height: 1.8; }
.design-modern .welcome-option-inner>b { font: 500 13px/1 var(--sans); }
.design-modern .welcome-option input:checked+.welcome-option-inner { background: var(--surface-soft); }
.design-modern .welcome-form-actions .button, .design-modern .welcome-result-actions .button { font-size: 14px; border-radius: 10px; min-height: 48px; }
.design-modern .welcome-back, .design-modern .welcome-result-actions .text-link, .design-modern .welcome-restart { font-size: 14px; min-height: 44px; }
.design-modern .welcome-preview { background: var(--surface-soft); border-color: var(--line); }
.design-modern .welcome-preview-caption { font-size: 12px; line-height: 1.6; letter-spacing: .04em; color: var(--muted); }
.design-modern .welcome-preview-note, .design-modern .welcome-keepsake-details { font-size: 12px; line-height: 1.85; color: var(--muted); }
.design-modern .welcome-result>p:not(.eyebrow):not(.welcome-result-school) { font-size: 15px; color: var(--muted); }
.design-modern .welcome-result>.eyebrow, .design-modern .welcome-discover .eyebrow { font-size: 12px; }
.design-modern .welcome-result h2 { font-size: 32px; line-height: 1.4; }
.design-modern .welcome-result-school { font-size: 16px; }
.design-modern .welcome-discover h2 { font-size: 30px; }
.design-modern .welcome-discover .text-link { font-size: 14px; }

/* Publication and discussion read like an editorial collection. */
.design-modern .stories-grid { gap: 32px; }
.design-modern .story-card { border: 0; border-radius: 16px; background: var(--surface); }
.design-modern .story-card-image, .design-modern .story-card-paper { border-radius: 14px; }
.design-modern .story-card-copy { padding: 24px 4px 8px; }
.design-modern .story-card h3 { font: 600 23px/1.5 var(--sans); }
.design-modern .story-card-copy>p { font-size: 15px; line-height: 1.9; }
.design-modern :is(.story-card-meta, .story-card-footer, .story-card-engagement, .stories-collection-bar>span, .stories-pagination>span) { font-size: 12px; }
.design-modern .story-card-footer>a { min-height: 44px; min-width: 44px; display: grid; place-items: center; }
.design-modern .stories-collection-bar h2 { font: 600 25px/1.5 var(--sans); }
.design-modern :is(.stories-empty, .member-signed-out) { border: 0; border-radius: 18px; background: var(--surface-soft); }
.design-modern .stories-empty p:not(.eyebrow) { font-size: 15px; color: var(--muted); }
.design-modern .story-detail-heading { margin-top: 48px; }
.design-modern .story-detail-heading h1 { font-size: clamp(32px, 3.8vw, 50px); line-height: 1.4; letter-spacing: -.025em; }
.design-modern .story-detail-meta { font-size: 13px; }
.design-modern .story-detail-excerpt { font: 400 18px/1.9 var(--sans); color: var(--muted); }
.design-modern .story-detail-figure img { border-radius: 16px; }
.design-modern .story-detail-figure figcaption { font-size: 12px; }
.design-modern .story-detail-body p { font-size: 17px; line-height: 2; }
.design-modern .story-detail-footer p { font-size: 13px; }
.design-modern .story-detail-footer>div { border-radius: 12px; padding: 22px; }
.design-modern .story-engagement h2 { font: 600 27px/1.5 var(--sans); }
.design-modern .story-engagement .eyebrow { font-size: 12px; letter-spacing: .08em; }
.design-modern .story-engagement-heading>.text-link { font-size: 14px; }
.design-modern .story-reaction { border-radius: 10px; font-size: 14px; padding: 13px 20px; }
.design-modern .story-reaction[aria-pressed=true] { background: var(--surface-soft); }
.design-modern :is(.story-reaction-note, .story-signin-note, .story-small-note, .story-interaction-message, .story-interaction-retry, .story-comments-heading>span) {
  font-size: 13px; line-height: 1.9;
}
.design-modern .story-signin-note { border-radius: 12px; }
.design-modern .story-signin-note a { min-height: 44px; }
.design-modern .story-comment h3 { font-size: 15px; font-weight: 600; }
.design-modern .story-comment time { font-size: 12px; }
.design-modern .story-comment-avatar { border: 0; border-radius: 50%; width: 44px; height: 44px; }
.design-modern .story-comment>p { font-size: 15px; line-height: 1.95; color: var(--ink); margin-left: 57px; }
.design-modern .story-comments-empty>span { border-radius: 12px; }
.design-modern .story-comments-empty h3 { font: 600 21px/1.5 var(--sans); }
.design-modern .story-comments-empty p { font-size: 14px; }
.design-modern .story-comment-write { border: 0; border-radius: 16px; padding: 32px; }
.design-modern .story-comment-write h3 { font: 600 24px/1.5 var(--sans); }
.design-modern .story-comment-guidelines { font-size: 13px; }
.design-modern .story-comment-meta p, .design-modern .story-comment-meta output { font-size: 12px; }
.design-modern .story-comment-submit .text-link, .design-modern .story-comment-account { font-size: 13px; }

/* Form controls use the same spacing in admissions, contributions and member areas. */
.design-modern .form-field,
.design-modern .member-field>label,
.design-modern .contribute-field>label,
.design-modern .story-comment-write label,
.design-modern .member-comment-editor label { font: 600 14px/1.7 var(--sans); }
.design-modern .form-field :is(input, select, textarea),
.design-modern .search-page .search-form input,
.design-modern .member-field :is(input, select, textarea),
.design-modern .contribute-field :is(input:not([type=file]), select, textarea),
.design-modern .story-comment-write textarea,
.design-modern .member-comment-editor textarea {
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--surface);
  color: var(--ink);
  font: 400 16px/1.7 var(--sans);
  max-width: 100%;
  min-width: 0;
}
.design-modern .member-field textarea, .design-modern .story-comment-write textarea, .design-modern .member-comment-editor textarea { min-height: 150px; }
.design-modern .contribute-field textarea { min-height: 230px; }
.design-modern .member-password-wrap input { padding-right: 72px; }
.design-modern .member-password-toggle { min-width: 54px; font-size: 12px; }
.design-modern .member-field input:read-only { background: var(--cream); color: var(--muted); }
.design-modern .member-field :is(input, textarea, select):disabled { background: var(--surface-soft); }
.design-modern :is(.member-field small, .member-field output, .member-fine-print, .member-field>label>span, .contribute-field>label>small, .contribute-field>small, .contribute-field-meta) {
  font-size: 12px; line-height: 1.85; color: var(--muted);
}
.design-modern :is(.member-check, .contribute-consent) { font-size: 13px; line-height: 1.9; min-height: 44px; }
.design-modern :is(.member-check input, .contribute-consent input) { width: 18px; height: 18px; flex-basis: 18px; margin-top: 4px; }
.design-modern :is(.member-message, .member-notice, .contribute-message, .stories-notice, .form-error, .form-message, .form-errors) { font-size: 14px; line-height: 1.85; border-radius: 9px; }
.design-modern .members-world .button,
.design-modern .contribute-actions .button,
.design-modern .stories-pagination .button,
.design-modern .story-comment-submit .button,
.design-modern .story-comment-pagination .button,
.design-modern .member-comment-editor .button,
.design-modern .member-comment-withdraw .button { font-size: 14px; min-height: 48px; padding: 12px 18px; border-radius: 10px; }
.design-modern .contribute-layout { gap: 48px; padding-top: 48px; }
.design-modern .contribute-panel { border: 1px solid var(--line); border-radius: 16px; padding: 36px; }
.design-modern .contribute-panel h2 { font: 600 27px/1.5 var(--sans); }
.design-modern .contribute-panel>p:not(.eyebrow), .design-modern .contribute-intro { font-size: 15px; line-height: 1.9; }
.design-modern .contribute-upload { border-radius: 12px; padding: 24px; }
.design-modern .contribute-upload strong { font-size: 15px; }
.design-modern .contribute-upload p { font-size: 13px; }
.design-modern .contribute-upload input[type=file], .design-modern .member-field input[type=file] { font-size: 13px; max-width: 100%; }
.design-modern .contribute-upload input[type=file]::file-selector-button,
.design-modern .member-field input[type=file]::file-selector-button { min-height: 44px; border-radius: 7px; font-size: 13px; }
.design-modern .contribute-guide { top: 112px; }
.design-modern .contribute-guide h2 { font-size: 29px; }
.design-modern .submission-process strong { font-size: 15px; }
.design-modern .submission-process p, .design-modern .submission-guidelines p { font-size: 14px; line-height: 1.9; }
.design-modern .submission-guidelines h3 { font: 600 16px/1.7 var(--sans); }
.design-modern .submission-lookup { border: 0; border-radius: 14px; }
.design-modern .submission-lookup summary strong { font: 600 20px/1.6 var(--sans); }
.design-modern .submission-lookup summary small, .design-modern .submission-lookup-result { font-size: 13px; line-height: 1.85; }
.design-modern .receipt-fields { border: 0; border-radius: 12px; }
.design-modern .receipt-fields label { font-size: 13px; }
.design-modern .receipt-fields input { border-radius: 8px; font-size: 13px; }

/* Account and personal collections. Existing hidden and aria state rules stay authoritative. */
.design-modern .member-auth-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 480px); gap: 80px; padding-top: 48px; }
.design-modern .members-world .eyebrow { font-size: 12px; letter-spacing: .08em; }
.design-modern .member-auth-story { top: 110px; }
.design-modern .member-back { font-size: 14px; min-height: 44px; margin-bottom: 24px; }
.design-modern .member-welcome-art { border: 0; border-radius: 18px; background: var(--surface-soft); padding: 28px; }
.design-modern .member-welcome-art>span, .design-modern .member-welcome-art>p { font: 500 13px/1.7 var(--sans); color: var(--muted); }
.design-modern .member-auth-card { border: 1px solid var(--line); border-radius: 18px; padding: 36px; box-shadow: 0 18px 54px #19332e07; }
.design-modern .member-card-heading h2, .design-modern .member-recovery-result h2 { font: 600 29px/1.5 var(--sans); }
.design-modern .member-auth-links { font-size: 14px; gap: 4px; }
.design-modern .member-auth-links a { min-height: 44px; display: flex; align-items: center; }
.design-modern .member-privacy { font-size: 12px; line-height: 1.9; }
.design-modern .member-privacy strong { font-size: 13px; font-weight: 600; }
.design-modern .member-recovery-result>p:not(.eyebrow) { font-size: 14px; }
.design-modern .member-recovery-paper { border-radius: 12px; }
.design-modern .member-recovery-paper label { font-size: 13px; }
.design-modern .member-recovery-paper input { border-radius: 7px; }
.design-modern .member-account-layout { grid-template-columns: 240px minmax(0, 1fr); gap: 32px; }
.design-modern .member-sidebar { border: 0; border-radius: 16px; background: var(--surface); top: 110px; }
.design-modern .member-identity { padding: 28px 24px; }
.design-modern .member-identity>.eyebrow { font-size: 12px; }
.design-modern .member-identity h2 { font: 600 23px/1.5 var(--sans); }
.design-modern .member-identity>p:not(.eyebrow), .design-modern .member-identity>span { font-size: 12px; }
.design-modern .member-section-nav { padding: 12px; gap: 4px; }
.design-modern .member-section-nav a { font-size: 14px; min-height: 48px; border-radius: 10px; padding: 13px 12px; }
.design-modern .member-section-nav a[aria-current] { background: var(--surface-soft); }
.design-modern .member-sidebar-note p { font: 400 13px/1.9 var(--sans); }
.design-modern .member-sidebar-note .text-link { font-size: 13px; }
.design-modern .member-panel { border: 1px solid var(--line); border-radius: 16px; padding: 30px; scroll-margin-top: 110px; }
.design-modern .member-section-heading h2 { font: 600 25px/1.5 var(--sans); }
.design-modern .member-section-heading .eyebrow { font-size: 12px; }
.design-modern .member-private-label { font-size: 12px; line-height: 1.7; }
.design-modern .member-stats { border-radius: 12px; padding-block: 24px; }
.design-modern .member-stats strong { font: 500 32px/1.2 var(--sans); }
.design-modern .member-stats span { font-size: 12px; }
.design-modern .member-filters { gap: 8px; }
.design-modern .member-filters button { min-height: 44px; font-size: 13px; border-radius: 8px; padding: 10px 12px; }
.design-modern .member-submission-card { grid-template-columns: minmax(0, 1fr) auto; }
.design-modern .member-submission-card h3, .design-modern .member-engagement-story-title { font: 600 21px/1.6 var(--sans); }
.design-modern .member-submission-card .member-reference, .design-modern .member-submission-card time { font-size: 12px; }
.design-modern .member-submission-card .text-link { font-size: 14px; min-height: 44px; }
.design-modern .member-status { font-size: 12px; padding: 6px 10px; border: 0; border-radius: 6px; }
.design-modern .member-empty p, .design-modern .member-engagement-empty p { font-size: 15px; line-height: 1.85; }
.design-modern .member-pagination>span { font-size: 12px; }
.design-modern .member-detail-meta { font-size: 13px; }
.design-modern .member-detail-body, .design-modern .member-own-comment-body { font-size: 16px; line-height: 1.95; }
.design-modern :is(.member-editor-note, .member-comment-feedback, .member-comment-withdraw) { border-radius: 10px; }
.design-modern .member-editor-note h3, .design-modern .member-comment-feedback strong { font-size: 13px; font-weight: 600; }
.design-modern .member-editor-note p, .design-modern .member-comment-feedback p, .design-modern .member-comment-withdraw>p { font-size: 14px; line-height: 1.9; }
.design-modern .member-publications { font-size: 14px; }
.design-modern .member-withdraw h3 { font: 600 21px/1.6 var(--sans); }
.design-modern .member-withdraw>p { font-size: 14px; }
.design-modern .member-claim>summary strong { font: 600 20px/1.6 var(--sans); }
.design-modern .member-claim>summary small { font-size: 13px; }
.design-modern .member-signed-out p:not(.eyebrow) { font-size: 15px; }
.design-modern .member-saved-excerpt { font-size: 15px; }
.design-modern .member-saved-card time, .design-modern .member-own-comment-meta,
.design-modern .member-own-comment-meta time, .design-modern .member-engagement-language,
.design-modern .member-comment-editor output { font-size: 12px; }
.design-modern .member-engagement-actions .text-link, .design-modern .member-engagement-empty .text-link { font-size: 14px; min-height: 44px; }
.design-modern .member-engagement-remove { font-size: 13px; min-height: 44px; }

@media (max-width: 1100px) {
  .design-modern .split-layout, .design-modern .character-profile-hero, .design-modern .character-story-section { gap: 36px; }
  .design-modern .member-auth-layout { gap: 40px; grid-template-columns: minmax(0, 1fr) minmax(0, 440px); }
  .design-modern .member-account-layout { grid-template-columns: 210px minmax(0, 1fr); gap: 24px; }
  .design-modern .member-panel { padding: 26px; }
  .design-modern .character-card-copy { padding-inline: 2px; }
  .design-modern .values-grid { grid-template-columns: 1fr; }
  .design-modern .download-grid { gap: 26px; }
  .design-modern .contribute-layout { gap: 30px; }
}

@media (max-width: 850px) {
  .design-modern :is(.subpage-hero, .world-heading, .download-hero, .member-account-heading) { padding: 28px 0 42px; }
  .design-modern :is(.stories-hero, .community-hero) { padding-bottom: 42px; }
  .design-modern .character-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 22px; }
  .design-modern .character-card { display: flex; }
  .design-modern .character-portrait { min-height: 0; aspect-ratio: 1.06; border: 0; }
  .design-modern .character-card h2 { font-size: 24px; }
  .design-modern .character-profile-portrait { aspect-ratio: .85; }
  .design-modern .character-profile-actions .button { font-size: 14px; }
  .design-modern .character-scene img { aspect-ratio: 1.1; }
  .design-modern .member-auth-layout { grid-template-columns: 1fr; max-width: 640px; gap: 28px; }
  .design-modern .member-auth-story { position: static; }
  .design-modern .member-account-layout { grid-template-columns: 1fr; }
  .design-modern .member-sidebar { position: static; }
  .design-modern .member-identity { padding: 22px; }
  .design-modern .member-section-nav a { font-size: 14px; flex: 1 1 auto; }
  .design-modern .member-sidebar-note p { font-size: 13px; max-width: 65%; }
  .design-modern .contribute-layout { grid-template-columns: 1fr; }
  .design-modern .contribute-guide { border-radius: 16px; position: static; }
  .design-modern .submission-process { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .design-modern .event-row { grid-template-columns: 80px minmax(0, 1fr); gap: 22px; }
  .design-modern .world-next, .design-modern .download-guidance { padding: 30px; }
  .design-modern .welcome-interaction { padding: 30px; }
  .design-modern .community-section-heading { align-items: flex-start; }
  .design-modern .search-result-section .news-card { grid-template-columns: 240px minmax(0, 1fr); }
}

@media (max-width: 600px) {
  .design-modern :is(.subpage-hero, .world-heading, .download-hero, .member-account-heading) { padding: 24px 0 36px; }
  .design-modern :is(.subpage-hero, .world-heading, .download-hero) .breadcrumbs { margin-bottom: 24px; }
  .design-modern :is(.subpage-hero, .world-heading, .download-hero, .stories-hero, .community-hero, .member-account-heading) h1,
  .design-modern .welcome-heading h1, .design-modern .member-auth-story h1 { font-size: clamp(30px, 8.8vw, 38px); line-height: 1.35; margin-bottom: 18px; }
  .design-modern .world-edition, .design-modern .download-hero-note { display: none; }
  .design-modern .world-heading-row, .design-modern .download-hero-copy { gap: 0; }
  .design-modern .subpage-hero p:not(.eyebrow),
  .design-modern .world-heading-row>div>p:last-child,
  .design-modern .download-hero-copy>div>p:last-child,
  .design-modern :is(.stories-intro, .community-intro, .member-intro),
  .design-modern .welcome-heading p:last-child { font-size: 15px; line-height: 1.85; }
  .design-modern :is(.world-content, .download-library, .stories-collection, .community-ballots, .member-account-container) { padding-top: 28px; padding-bottom: 48px; }
  .design-modern .world-subnav ul { gap: 6px; }
  .design-modern .world-subnav a { padding: 10px 13px; font-size: 13px; }
  .design-modern .split-layout, .design-modern .character-story-section, .design-modern .character-profile-hero { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .design-modern .section.container.split-layout { padding-block: 44px; }
  .design-modern .school-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .design-modern .school-card { padding: 26px 22px; }
  .design-modern :is(.prose h2, .split-layout h2, h2.section-heading) { font-size: 29px; }
  .design-modern .prose, .design-modern .split-layout p, .design-modern .article-body { font-size: 16px; line-height: 1.9; }
  .design-modern .school-card h2, .design-modern .school-card h3 { font-size: 22px; }
  .design-modern .event-row { grid-template-columns: 66px minmax(0, 1fr); gap: 18px; }
  .design-modern .event-row h3 { font-size: 18px; }
  .design-modern .event-row p { font-size: 13px; }
  .design-modern .event-row .event-date { padding-inline: 6px; }
  .design-modern .event-row .event-date>strong { font-size: 28px; }
  .design-modern.page-news .editorial-grid, .design-modern.page-research .editorial-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .design-modern .news-card h3, .design-modern.page-news .editorial-grid .news-card h3 { font-size: 22px; }
  .design-modern .news-card-content>p { font-size: 15px; }
  .design-modern .search-result-section .news-card { display: block; }
  .design-modern .search-page>.search-form { padding: 20px; flex-direction: column; align-items: stretch; }
  .design-modern .visit-form-panel { padding: 26px 22px; }
  .design-modern .character-grid { grid-template-columns: minmax(0, 1fr); gap: 38px; }
  .design-modern .character-portrait { aspect-ratio: 1.15; }
  .design-modern .character-card-copy { padding: 22px 2px 4px; }
  .design-modern .character-card h2 { font-size: 27px; }
  .design-modern .character-profile { padding-top: 24px; padding-bottom: 48px; }
  .design-modern .character-profile-portrait { aspect-ratio: 1.08; }
  .design-modern .character-profile-heading h1 { font-size: 38px; }
  .design-modern .character-profile-tagline { font-size: 19px; }
  .design-modern .character-profile-heading blockquote { font-size: 21px; }
  .design-modern .character-story-section { padding-block: 42px; }
  .design-modern .character-story-copy h2 { font-size: 29px; }
  .design-modern .character-scene img { aspect-ratio: 1.4; }
  .design-modern .character-place-grid { grid-template-columns: minmax(0, 1fr); }
  .design-modern :is(.world-next, .download-guidance, .explore-finish) { padding: 27px 22px; }
  .design-modern :is(.world-next, .download-guidance, .explore-finish) h2 { font-size: 27px; }
  .design-modern .explore-map-heading { padding: 22px 18px; }
  .design-modern .explore-map-heading>span { text-align: left; }
  .design-modern .explore-map-key { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 12px; padding-inline: 18px; }
  .design-modern .explore-map-key a { font-size: 13px; }
  .design-modern .explore-passport { padding: 24px 20px; }
  .design-modern .passport-stamps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 10px; }
  .design-modern .passport-stamps>li>span:last-child { font-size: 12px; }
  .design-modern .explore-place-summary, .design-modern .explore-place-story { padding-inline: 22px; }
  .design-modern .community-poll { padding: 25px 20px; }
  .design-modern .community-poll h3 { font-size: 22px; }
  .design-modern .community-option { padding: 15px 12px; }
  .design-modern .community-option-top { flex-direction: column; gap: 8px; }
  .design-modern .community-option-numbers { padding-left: 24px; }
  .design-modern .download-card-body { padding-top: 22px; }
  .design-modern .download-art { height: auto; aspect-ratio: 1.15; }
  .design-modern .download-filters button { font-size: 13px; padding-inline: 14px; }
  .design-modern .welcome-page { padding-top: 24px; }
  .design-modern .welcome-heading { margin: 24px 0 30px; }
  .design-modern .welcome-interaction { padding: 26px 20px; }
  .design-modern .welcome-step legend { font-size: 24px; }
  .design-modern .welcome-avatars { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .design-modern .welcome-avatar img { height: 110px; }
  .design-modern .welcome-avatar strong { font-size: 13px; }
  .design-modern .welcome-option-inner { padding: 14px 12px; gap: 10px; }
  .design-modern .welcome-option-inner>span { font-size: 15px; }
  .design-modern .welcome-form-actions { gap: 10px; }
  .design-modern .welcome-form-actions .button { padding-inline: 14px; gap: 12px; }
  .design-modern .welcome-preview { padding: 28px 20px; }
  .design-modern .welcome-preview-caption { flex-wrap: wrap; gap: 6px; }
  .design-modern .welcome-keepsake-details { gap: 14px; flex-wrap: wrap; }
  .design-modern .welcome-discover h2 { font-size: 27px; }
  .design-modern .stories-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .design-modern .stories-postcard { height: 180px; }
  .design-modern .stories-postcard>span:last-child { font-size: 12px; max-width: 58%; }
  .design-modern .stories-postcard>strong { font-size: 20px; max-width: 55%; margin-top: 10px; }
  .design-modern .stories-postcard>img { width: 195px; height: 195px; right: -12px; top: 8px; }
  .design-modern .stories-grid { grid-template-columns: minmax(0, 1fr); gap: 34px; }
  .design-modern .stories-empty { padding: 30px 24px; }
  .design-modern .story-card h3 { font-size: 23px; }
  .design-modern .story-detail-heading h1 { font-size: 32px; }
  .design-modern .story-detail-body p { font-size: 16px; line-height: 2; }
  .design-modern .story-detail-excerpt { font-size: 17px; }
  .design-modern .story-engagement h2 { font-size: 24px; }
  .design-modern .story-comment>p { margin-left: 0; }
  .design-modern .story-comment-write { padding: 26px 20px; }
  .design-modern .contribute-layout { padding-top: 28px; padding-bottom: 48px; }
  .design-modern .contribute-panel { padding: 26px 20px; }
  .design-modern .contribute-fields { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .design-modern .contribute-upload { padding: 20px 16px; }
  .design-modern .contribute-upload input[type=file]::file-selector-button { padding-inline: 10px; margin-right: 8px; }
  .design-modern .member-auth-layout { padding-top: 24px; padding-bottom: 48px; }
  .design-modern .member-auth-card { padding: 26px 22px; }
  .design-modern .member-account-heading>.container>div { align-items: flex-start; flex-direction: column; gap: 12px; }
  .design-modern .member-panel { padding: 25px 20px; }
  .design-modern .member-section-heading { flex-wrap: wrap; gap: 10px; }
  .design-modern .member-private-label { max-width: none; text-align: left; }
  .design-modern .member-section-nav { gap: 6px; }
  .design-modern .member-section-nav a { flex: 1 1 40%; padding: 11px 9px; font-size: 13px; }
  .design-modern .member-sidebar-note { flex-wrap: wrap; gap: 8px; }
  .design-modern .member-sidebar-note p { max-width: none; }
  .design-modern .member-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 0; padding-block: 22px; }
  .design-modern .member-stats>div { padding-inline: 16px; }
  .design-modern .member-stats>div:nth-child(even) { border-right: 0; }
  .design-modern .member-stats strong { font-size: 29px; }
  .design-modern .member-submission-card { grid-template-columns: minmax(0, 1fr); }
  .design-modern .member-field-pair { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .design-modern .member-submission-card .text-link { white-space: normal; }
  .design-modern .member-saved-card { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 380px) {
  .design-modern .world-subnav a { padding-inline: 11px; }
  .design-modern .welcome-interaction, .design-modern .welcome-preview { padding-inline: 16px; }
  .design-modern .welcome-option-inner>b { display: none; }
  .design-modern .welcome-form-actions { flex-wrap: wrap; }
  .design-modern .welcome-form-actions .button { margin-left: auto; }
  .design-modern .passport-stamp-mark { width: 64px; height: 64px; }
  .design-modern .stories-postcard>img { width: 170px; height: 170px; right: -25px; top: 24px; }
  .design-modern .member-panel, .design-modern .member-auth-card, .design-modern .contribute-panel { padding-inline: 17px; }
}
