/* Readable, restrained controls shared across the current site. */
:root { --ui-orange: #f47725; --ui-orange-hover: #de6318; --ui-border: #cfc7bc; }
header nav { font-size: 15px; font-weight: 700; letter-spacing: 0; }
header .utilities { font-size: 14px; font-weight: 700; }
header .contact-link, .btn, .hero-copy > .text-link, .actions > .text-link, .research-card > .text-link, .blog-hub-link > .text-link {
  display: inline-flex; align-items: center; justify-content: center; width: fit-content;
  min-height: 48px; padding: 12px 20px; border: 1px solid var(--ui-orange);
  border-radius: 12px; background: var(--ui-orange); color: #171411;
  font-size: 15px; font-weight: 700; line-height: 1.35; text-decoration: none;
}
header .contact-link:hover, .btn:hover, .hero-copy > .text-link:hover, .actions > .text-link:hover, .research-card > .text-link:hover, .blog-hub-link > .text-link:hover { background: var(--ui-orange-hover); border-color: var(--ui-orange-hover); color: #111; }
header .contact-link::after, .btn::after, .text-link::after { content: none; }
.page-hero h1 { font-size: clamp(38px, 4.5vw, 68px); font-weight: 700; letter-spacing: -.025em; }
.hero-copy h1 { font-weight: 700; }
.section h2, .news-heading h2, .footer-cta h2 { font-weight: 700; letter-spacing: -.025em; }
.section h3, .research-card h3, .paper-row h4, .product-row h3 { font-weight: 700; }
.lead, .hero-purpose, .section p, .long p { font-size: clamp(16px, 1.08vw, 19px); line-height: 1.75; }
.eyebrow, .section-label, .research-card small, .paper-meta, .news-category, .film-kicker { font-size: 14px; font-weight: 700; letter-spacing: .02em; }
.research-grid { align-items: stretch; gap: 20px; }
.research-card { min-width: 0; height: 100%; padding: 26px; border: 1px solid var(--ui-border); border-radius: 18px; background: #f9f7f1; display: flex; flex-direction: column; }
.research-card p { flex-grow: 1; }
.research-card > .text-link { margin-top: auto; }
.product-row { padding: 28px; border: 1px solid var(--ui-border); border-radius: 16px; margin-top: 14px; }
.product-row:hover { padding-left: 28px; }
.science-art, .film-edition, .contact-box, .contact-social, .model-art, .portrait, .film-screen { border-radius: 18px; overflow: hidden; }
.science-art, .film-edition, .contact-box, .contact-social { border: 1px solid var(--ui-border); }
.science-art { padding: 20px; }
.film-edition { border-color: #c9bfb5; }
.filter button, .tabs button { border-radius: 10px; font-size: 14px; font-weight: 700; }
.paper-row h4 { font-size: clamp(18px, 1.25vw, 22px); line-height: 1.4; }
.footer { border-radius: 18px 18px 0 0; }
.footer p, .footer a { font-size: 15px; }
@media (max-width: 760px) {
  header nav { font-size: 16px; }
  .page-hero h1 { font-size: clamp(34px, 8vw, 48px); }
  .research-grid { gap: 14px; }
  .research-card { height: auto; padding: 22px; }
  .product-row { padding: 20px; }
  .product-row:hover { padding-left: 20px; }
  .science-art { padding: 16px; }
}
.hero .lead, .page-hero .lead, .hero-purpose { font-size: clamp(16px, 1.1vw, 19px); line-height: 1.75; max-width: 620px; }
.hero-copy h1 em { font-weight: 700; }
.film-edition .film-heading { padding: 18px 20px; }
.film-edition .film-exhibit { padding: 20px; }
.film-edition .film-toolbar { padding: 14px 20px; }
.film-toolbar > a, .film-toolbar > span, .film-edition .film-toolbar button { font-size: 13px; }
.page-hero::after { content: none; }
.page-hero .eyebrow, .hero-copy .eyebrow, .section .section-label { font-size: 14px; font-weight: 700; letter-spacing: .02em; }
@media (max-width: 600px) {
  .film-edition .film-exhibit { grid-template-columns: 1fr; gap: 18px; }
  .film-edition .film-notes { padding: 0; }
}

/* Secondary labels, figures and articles across science, product and news pages. */
.lang, .ribbon a, .ribbon span, .tags span, .process span,
.art-head, .art-controls button, .art-caption p, .science-art .caption,
.paper-meta, .paper-row details, .paper-row details p, .paper-row > a,
.belief-line p, .belief-line span, .brand-cities { font-size: 14px; }
.process div, .flow p, .product-row p, .research-card p,
.paper-row p, .detail-list span, .quote-translation p { font-size: 16px; line-height: 1.65; }
.process span { font-weight: 700; }
.paper-filters button { min-height: 44px; border-radius: 10px; font-size: 14px; font-weight: 700; }
.wide-figure, .film-work, .restored-blog .v-art, .restored-blog .v-article-charts,
.restored-blog .v-data-chart, .restored-blog .v-stage { border-radius: 14px; }
.restored-blog .v-article-charts, .restored-blog .v-art { overflow: hidden; }
.restored-blog h1, .restored-blog .v-prose h2 { font-weight: 700; }
.restored-blog .v-blog-meta, .restored-blog .v-label, .restored-blog .v-stage,
.restored-blog .v-art > span, .restored-blog .v-data-chart p,
.restored-blog .v-article-source, .restored-blog .v-targets p { font-size: 14px; line-height: 1.6; }
.restored-blog .v-article-hero p, .restored-blog .v-prose p,
.restored-blog aside { font-size: 16px; line-height: 1.75; }
.contact-social { padding: 28px; }
.film-edition .film-heading span:last-child, .film-kicker,
.film-methods dt, .film-methods dd, .film-original,
.film-edition .film-notes .film-detail, .film-edition .film-notes .film-intro { font-size: 14px; line-height: 1.6; }
@media (max-width: 760px) {
  .contact-social { padding: 22px; }
  .paper-filters { gap: 10px; }
  .paper-row p, .detail-list span, .process div { font-size: 16px; }
  .art-head, .art-controls button { font-size: 13px; }
}
.contact-box p, .contact-social p { font-size: 16px; line-height: 1.7; }
@media (max-width: 480px) {
  header { gap: 8px; padding-inline: 4vw; }
  header .logo { font-size: 18px; }
  header .utilities { flex-shrink: 0; gap: 9px; }
  header .contact-link { white-space: nowrap; padding-inline: 12px; font-size: 14px; }
  header .lang { white-space: nowrap; }
}
@media (max-width: 760px) {
  .split, .model-grid { grid-template-columns: 1fr; gap: 28px; }
}

/* Footer identity remains readable on desktop and mobile. */
.footer .footer-brand .logo { font-size: clamp(28px, 2.2vw, 34px); line-height: 1.15; }
.footer .footer-brand .logo sup { font-size: 11px; }
.footer .footer-brand .brand-cities { font-size: clamp(16px, 1.15vw, 18px) !important; line-height: 1.6; letter-spacing: .02em; }
@media (max-width: 480px) {
  .footer .footer-brand .logo { font-size: 28px; }
  .footer .footer-brand .brand-cities { font-size: 16px !important; }
}

/* Consistent footer text across the bilingual site. */
.footer { font-size: 16px; font-weight: 600; line-height: 1.6; }
.footer p, .footer a { font-size: 16px; font-weight: 600; line-height: 1.6; overflow-wrap: anywhere; }
.footer .footer-brand .brand-cities { font-size: 16px !important; font-weight: 600 !important; }
.footer p { color: #d5cbc0; }
@media (max-width: 480px) {
  .footer, .footer p, .footer a { font-size: 16px; }
}
