/* Approved design studio finish, adapted to the live interface.
   Typography is deliberately scoped: the Norway result artwork keeps its
   existing font, dimensions, colours and animation. */
@font-face {
  font-family: "Geist";
  src: url("/fonts/geist-latin.woff2?v=20261031-cities1") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: "Geist";
  src: url("/fonts/geist-latin-ext.woff2?v=20261031-cities1") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0100-02FF;
}
:root {
  --atelier-font: "Geist", Arial, Helvetica, sans-serif;
  --atelier-ink: #2e2632;
  --atelier-plum: #49354f;
  --atelier-muted: #706775;
  --atelier-line: #e1dbe3;
  --atelier-paper: #f7f5f2;
}
.preview,
.identity-header,
.secondary-nav,
.featured-copy,
#home-content > :not(.featured),
#page-content,
footer.site-footer,
#dialog,
.notice {
  font-family: var(--atelier-font);
}
.featured-copy,
#home-content > :not(.featured),
#page-content,
#dialog { color: var(--atelier-ink); }
/* Older component sheets declare Arial in font shorthands. Override only the
   family so control sizes, hit areas and interaction states remain intact. */
#home-content .question-round :is(button, a, summary, select),
#home-content .question-round :is(.round-kicker, .round-card-top > span, .round-card-top > .category),
#home-content .hmd-insight .insight-vote-count,
.featured-copy .featured-round-link,
.question-menu .question-menu-panel :is(a, button),
.secondary-nav .nav-info-panel :is(a, button),
.site-footer .footer-column h2,
.site-footer .footer-column-links :is(a, button),
#dialog .account-identity .account-email,
#dialog-content > #share-url,
#dialog .admin-kpi-value,
#dialog .insight-vote-count,
#dialog .stats-chart text,
#dialog .transparency-principles li::before { font-family: var(--atelier-font); }

/* Identity and navigation remain single rows at every viewport. */
.preview { border-bottom-color: #49354f0a; }
.preview span { font-size: 11px; letter-spacing: .01em; }
.identity-header { padding-top: 28px; border-bottom-color: #49354f0d; }
.identity-header:has(.perspective) { padding-bottom: 23px; }
.identity-header .wordmark {
  font-size: clamp(30px, 2.6vw, 36px);
  font-weight: 450;
  letter-spacing: -.062em;
  color: var(--atelier-ink);
}
.identity-header .profile-link {
  background: #f7f5f2b8;
  border-color: #d8cedd;
  font-size: 12px;
}
.identity-header .perspective { margin-top: 15px; }
.identity-header .perspective #perspective-text {
  font-size: 15px;
  letter-spacing: -.015em;
  color: var(--atelier-muted);
  white-space: nowrap;
}
.secondary-nav {
  border-bottom: 1px solid var(--atelier-line);
  padding-top: 8px;
  padding-bottom: 8px;
  flex-wrap: nowrap;
}
.secondary-nav > :is(a, button):not(.nav-info-desktop),
.secondary-nav .nav-info-menu > summary { font-size: 13px; white-space: nowrap; }
.secondary-nav .nav-info-panel,
.question-menu .question-menu-panel,
.question-filter-panel,
.question-round .round-topic-panel {
  background: #faf8f6;
  border-color: #ddd3e2;
  box-shadow: 0 12px 40px #49354f12, 0 2px 6px #49354f05;
}

/* A deliberate display scale with comfortable reading text. */
#featured .featured-copy { padding-top: 42px; padding-bottom: 38px; }
#featured .featured-copy > .eyebrow { margin-bottom: 24px; gap: 12px; }
.featured-copy #featured-eyebrow {
  min-height: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .16em;
  line-height: 1.6;
  color: #786581;
}
#featured-question {
  margin: 24px 0;
  max-width: 620px;
  font-size: clamp(43px, 4.45vw, 64px);
  font-weight: 460;
  letter-spacing: -.044em;
  line-height: 1.075;
  text-wrap: pretty;
}
#featured-context.featured-context {
  max-width: 46ch;
  margin-bottom: 30px;
  font-size: 16px;
  line-height: 1.75;
  color: var(--atelier-muted);
}
.featured-actions { max-width: 470px; }
.featured-actions .vote {
  min-height: 54px;
  border-color: #ac9db3;
  background: #f7f5f2de;
  font-size: 16px;
}
.featured-copy .featured-meta { letter-spacing: .005em; }
.featured-copy .featured-purpose-link { text-decoration-color: #cfc3d5; }

.question-round,
.questions,
#most-answered,
.contribute,
#page-content {
  --hmd-section-size: clamp(30px, 2.8vw, 36px);
  --hmd-question-size: clamp(26px, 2.5vw, 32px);
  --hmd-page-size: clamp(34px, 3.6vw, 46px);
}
.question-round .round-title,
.questions .question-hub .section-head h2,
#most-answered .section-head h2,
.contribute h2,
#page-content .page-heading h1,
#page-content .random-journey > h1 {
  font-weight: 450;
  letter-spacing: -.037em;
  line-height: 1.17;
}
.question-round .round-question,
.questions .question-copy h3,
#weekly-card .question-copy h3 {
  font-weight: 450;
  letter-spacing: -.027em;
  line-height: 1.25;
}
.question-round { border-top-color: var(--atelier-line); }
.question-round .round-card,
.question-round .round-finish,
.question-round .round-empty {
  border-color: #e0d7e4;
  border-radius: 20px;
  background: #faf8f6f5;
  box-shadow: 0 4px 18px #49354f04;
}
.question-round .round-stage::before { border-color: #e3dce6; background: #eee8f0; }
.question-round .round-card { padding-top: 28px; padding-bottom: 22px; }
.question-round .round-intro { max-width: 65ch; }
.question-round .round-choices button { border-color: #b6a7bf; }

/* Translucent paper keeps real map lines quiet behind long questions. */
.questions .card {
  padding-top: 34px;
  padding-bottom: 30px;
  border-color: var(--atelier-line);
  background: linear-gradient(90deg, #f7f5f2eb 0%, #f7f5f2f5 12%, #f7f5f2f5 88%, #f7f5f2eb 100%);
}
.questions .question-hub {
  border-color: #ded5e3;
  border-radius: 20px;
  background: #f5f1f6eb;
  box-shadow: 0 3px 18px #49354f02;
}
.question-hub .filters button { background: #faf8f6; border-color: #ded5e3; }
.question-hub .filters button.selected { background: #49354f; border-color: #49354f; }
.question-hub .category-scroll-indicator { height: 2px; background: #e4dce8; }
.question-hub .category-scroll-thumb { background: #b09abb; }
.question-hub .search { background: #faf8f6; border-color: #ded5e3; }
.question-hub .question-filter summary { border-color: #ded5e3; background: #faf8f6; }

.hmd-insight-home {
  padding: 34px 36px 24px;
  border-color: #e0d6e5;
  border-radius: 20px;
  background: linear-gradient(120deg, #ebe4ee, #f0ebf2);
  box-shadow: 0 4px 18px #49354f03;
}
.hmd-insight-home .insight-heading h2 {
  font-size: clamp(26px, 2.6vw, 32px);
  font-weight: 450;
  letter-spacing: -.037em;
}
.hmd-insight-home .insight-question {
  font-size: clamp(25px, 2.55vw, 31px);
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: -.027em;
}
.hmd-insight-home .insight-values strong { font-size: 38px; font-weight: 480; letter-spacing: -.045em; }
.hmd-insight-home .insight-heading { margin-bottom: 30px; }
.contribute {
  border-color: #e0d7e4;
  border-radius: 20px;
  background: #f6f2f7ed;
}
footer.site-footer { border-color: #dcd2e1; }
.site-footer .footer-brand { font-weight: 450; }
.site-footer .footer-column h2 { font-weight: 500; letter-spacing: .06em; }
.site-footer .footer-map-credit {
  grid-column: 1 / -1;
  margin: -16px 0 0;
  color: var(--atelier-muted);
  font-size: 11px;
  line-height: 1.6;
}
.site-footer .footer-map-credit a {
  color: inherit;
  text-decoration-color: #cfc3d5;
  text-underline-offset: 3px;
}

/* Preserve each dialog's existing width, scrolling and sticky close control. */
#dialog {
  --modal-font: var(--atelier-font);
  --modal-title: clamp(32px, 3.4vw, 42px);
  --modal-body: 16px;
  --modal-note: 13px;
  --modal-lead: 17px;
  border-color: #dcd2e2;
  border-radius: 22px;
  background: #faf8f6;
  box-shadow: 0 28px 100px #30203635;
}
#dialog > #close {
  border: 1px solid #e3dce7;
  border-radius: 50%;
  background: #faf8f6;
  color: var(--atelier-plum);
}
.admin-survey-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}
.admin-survey-card{min-width:0;border:1px solid #e3dce7;border-radius:14px;padding:24px;background:#f7f5f2}
#dialog .admin-survey-card h2{font-size:23px;line-height:1.25;margin:16px 0 10px;overflow-wrap:anywhere}
.admin-survey-card dl{margin:20px 0;color:var(--muted);font-size:12px}
.admin-survey-card dl>div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid #e3dce7}
.admin-survey-card dd{margin:0;text-align:right;color:var(--atelier-plum)}
.admin-survey-card .outline{display:inline-flex;margin-top:8px}
@media(max-width:700px){.admin-survey-grid{grid-template-columns:1fr}.admin-survey-card{padding:20px}}
#dialog::backdrop { background: #392b4242; backdrop-filter: blur(6px); }
#dialog[open] { animation: atelier-dialog-in .32s cubic-bezier(.22, .7, .18, 1); }
@keyframes atelier-dialog-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (min-width: 1550px) {
  #featured .featured-copy { padding-top: 58px; padding-bottom: 52px; }
}
@media (max-width: 1050px) and (min-width: 701px) {
  #featured-question { font-size: clamp(39px, 4.5vw, 48px); }
  .hmd-insight-home { padding-inline: 28px; }
}
@media (max-width: 700px) {
  .preview span { font-size: 10px; }
  .identity-header { padding-top: 21px; }
  .identity-header:has(.perspective) { padding-bottom: 21px; }
  .identity-header .wordmark { font-size: 28px; }
  .identity-header .profile-link { font-size: 11px; }
  .identity-header .perspective { margin-top: 14px; }
  .identity-header .perspective #perspective-text { font-size: clamp(11.3px, 3.15vw, 14px); }
  .secondary-nav { padding-block: 6px; gap: clamp(4px, 1.1vw, 8px); }
  .secondary-nav > :is(a, button):not(.nav-info-desktop),
  .secondary-nav .nav-info-menu > summary { font-size: clamp(11px, 3.05vw, 13px); }
  #featured .featured-copy { padding-top: 35px; padding-bottom: 0; }
  #featured .featured-copy > .eyebrow { margin-bottom: 20px; gap: 9px; }
  .featured-copy #featured-eyebrow { font-size: 9px; letter-spacing: .14em; }
  #featured-question { font-size: clamp(34px, 9.8vw, 42px); letter-spacing: -.043em; line-height: 1.095; margin: 20px 0; }
  #featured-context.featured-context { font-size: 16px; line-height: 1.7; margin-bottom: 25px; }
  .featured-actions { max-width: none; }
  .featured-actions .vote { min-height: 50px; }
  .question-round,
  .questions,
  #most-answered,
  .contribute,
  #page-content { --hmd-section-size: 29px; --hmd-question-size: clamp(25px, 6.5vw, 28px); --hmd-page-size: 34px; }
  .question-round .round-card { padding-top: 20px; padding-bottom: 17px; border-radius: 17px; }
  .question-round .round-finish,
  .question-round .round-empty { border-radius: 17px; }
  .questions .card { padding-top: 29px; padding-bottom: 27px; }
  .questions .question-hub,
  .contribute { border-radius: 17px; }
  .hmd-insight-home { padding: 27px 22px 20px; border-radius: 17px; }
  .hmd-insight-home .insight-heading h2 { font-size: 26px; }
  .hmd-insight-home .insight-heading { margin-bottom: 27px; }
  .hmd-insight-home .insight-question { font-size: 25px; line-height: 1.28; }
  .hmd-insight-home .insight-values strong { font-size: 36px; }
  #dialog { border-radius: 18px; --modal-title: 32px; }
}
@media (max-width: 360px) {
  .identity-header .wordmark { font-size: 25px; }
  .identity-header .profile-link { padding-inline: 7px; font-size: 10px; }
  .featured-copy #featured-eyebrow { font-size: 8px; letter-spacing: .12em; }
  .hmd-insight-home { padding-inline: 18px; }
  .hmd-insight-home .insight-question { font-size: 23px; }
}
@media (prefers-reduced-motion: reduce) {
  #dialog[open] { animation: none; }
}


/* Survey reports share the site's quiet plum result line across browsers. */
.survey-report progress{appearance:none;-webkit-appearance:none;display:block;width:100%;height:4px;border:0;border-radius:4px;overflow:hidden;background:#ded7e1;color:#49354f;accent-color:#49354f}
.survey-report progress::-webkit-progress-bar{background:#ded7e1;border-radius:4px}
.survey-report progress::-webkit-progress-value{background:#49354f;border-radius:4px}
.survey-report progress::-moz-progress-bar{background:#49354f;border-radius:4px}
