/* Cities uses Fellows' guided review; programme rules and saved cases stay separate. */
body.opportunities:has(.city-workspace){--ink:var(--op-ink);--muted:var(--op-muted);--blue:var(--op-accent);background:#f6f8f7}
.opportunities:has(.city-workspace) .op-main{max-width:1280px;padding:24px 48px 64px}
.opportunities:has(.city-workspace) .op-header{max-width:1280px;padding-top:16px;padding-bottom:16px}
.city-closing{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--op-line);padding:0 0 18px;font-size:12px;line-height:1.5;color:var(--op-muted)}
.city-closing>strong{font-size:14px;color:var(--op-ink);font-weight:700}.city-closing strong span{font-size:12px;font-weight:500}
.city-invitation{padding:26px 0 28px;border-bottom:1px solid var(--op-line)}
.city-invitation .op-eyebrow{font-size:10px;margin-bottom:12px!important}
.opportunities .city-invitation h1{font-size:clamp(30px,3.3vw,44px);line-height:1.17;letter-spacing:-.045em;margin:0 0 14px;max-width:900px}
.city-invitation>p:last-child{font-size:15px;line-height:1.65;color:var(--op-muted);max-width:810px;margin:0}
.opportunities .city-workspace{grid-template-columns:272px minmax(0,1fr);gap:42px;max-width:none;border:0;padding:28px 0 0;margin:0;scroll-margin-top:16px}
.city-workspace .conversation-context{padding-top:8px;position:sticky;top:22px;display:block}
.city-workspace .context-kicker{font-size:9px;margin:0 0 14px;letter-spacing:.09em}
.city-workspace .conversation-context h2{font-size:29px;line-height:1.2;letter-spacing:-.045em;margin:0 0 14px}
.city-workspace .context-intro{font-size:13px;margin:0 0 20px;max-width:none}
.city-workspace .conversation-deadline{margin:0 0 4px;padding:14px 0;border-color:var(--op-line);max-width:none}
.city-workspace .conversation-deadline strong{color:var(--op-accent);font-size:35px}
.city-workspace .conversation-deadline p{font-size:11px;line-height:1.7}
.city-workspace .resume-project{font-size:12px;margin:0 0 20px;border-color:var(--op-line)}
.city-workspace .notebook-heading{font-size:11px;margin:0 0 7px}
#city-context-summary{font-size:12px;line-height:1.65;color:var(--op-muted);margin:0 0 12px}
#city-context-facts{margin:0 0 16px;font-size:11px}
#city-context-facts>div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--op-line);padding:8px 0}
#city-context-facts dt{font-weight:400;color:var(--op-muted)}
#city-context-facts dd{margin:0;text-align:right;max-width:170px;font-weight:600;white-space:normal}
.city-workspace details.city-participation{margin:0;border-top:1px solid var(--op-line);font-size:12px}
.city-participation summary{font-size:12px;font-weight:600;padding:10px 0;min-height:44px}
.city-participation p{font-size:12px;line-height:1.75;margin:0 0 12px;color:var(--op-muted)}
.city-participation a{display:inline-flex;min-height:44px;align-items:center}
.city-workspace .context-links{margin-top:8px;padding-top:8px;border-color:var(--op-line)}
.city-workspace .context-links a{font-size:11px}
.city-workspace .conversation-workspace{border-color:var(--op-line);border-radius:16px;box-shadow:0 6px 30px #192c2505;min-height:0}
.city-workspace .conversation-heading{padding:17px 25px;gap:12px}
.city-workspace .guide-mark{background:#e9f2ee;border-radius:9px;font-size:22px;font-weight:800}
.city-workspace .conversation-mode{font-size:9px;border-color:var(--op-line)}
.city-workspace .conversation-content{padding:26px 28px 20px;min-height:420px}
.city-workspace .conversation-content h3{font-size:29px;line-height:1.22;margin:0 0 14px;letter-spacing:-.04em}
.city-workspace h3[tabindex="-1"]:focus{outline:none}
.city-workspace .question-overline{font-size:11px;margin-bottom:12px}
.city-workspace .question-intro{font-size:13px;margin-bottom:20px}
.city-workspace .conversation-options{gap:9px}.city-workspace .conversation-options.option-grid{gap:10px}
.city-workspace .conversation-choice{background:#fafcfb;border-color:var(--op-line);padding:13px 14px;gap:11px;min-height:77px;border-radius:9px;align-items:flex-start}
.city-workspace .conversation-choice:hover,.city-workspace .conversation-choice[aria-pressed=true]{background:#edf5f1;border-color:var(--op-accent)}
.city-workspace .choice-key{width:23px;height:23px;border-color:var(--op-line);font-size:10px;margin-top:1px}
.city-workspace .choice-copy strong{font-size:13px;line-height:1.45;font-weight:650}
.city-workspace .choice-copy small{font-size:11px;line-height:1.55}.city-workspace .choice-arrow{font-size:15px;margin-top:1px}
.city-workspace .choice-instruction{font-size:10px;margin:14px 0 0}
.city-workspace details.question-context{margin:8px 0 0;font-size:12px}
.city-workspace .question-context summary{padding:6px 0;min-height:34px;color:var(--op-muted)}
.city-workspace .question-context p{margin:0;font-size:12px;line-height:1.75}
.city-workspace .answer-echo{margin-bottom:20px;font-size:10px}
.city-workspace .answer-echo p{background:#eaf3ee;color:#255347;font-size:11px;margin:0;max-width:80%}
.city-workspace .conversation-controls{padding:10px 25px;border-color:#e5ebe8}
.city-workspace .conversation-navigation{gap:18px}.city-workspace .conversation-navigation button{font-size:11px}
#city-progress-track{height:3px;background:#e6ede9;border-radius:3px;overflow:hidden}
#city-progress-fill{display:block;height:100%;width:0;background:var(--op-accent);transition:width .2s ease}
.city-workspace .conversation-disclosure{font-size:9px;padding:0 25px 14px;margin:0}
.city-workspace .op-small{font-size:12px}.city-workspace .op-button{font-size:13px;border-radius:7px}
.city-workspace .op-link-button{font-size:12px}.city-workspace .op-actions{gap:10px 18px}
.city-workspace .conversation-content>section>p:not(.op-eyebrow):not(.question-overline){font-size:13px;line-height:1.75;color:var(--op-muted)}
.city-workspace ul{font-size:13px;line-height:1.7}.city-workspace input,.city-workspace textarea{border-radius:7px!important}
.city-workspace .op-check{font-size:12px!important}.city-workspace label{font-size:13px}
.city-workspace .op-field .op-small{font-size:11px}
.city-workspace .city-flow #city-message{font-size:13px;margin-bottom:20px}
#city-answers-dialog{color:var(--op-ink);padding:24px;border-color:var(--op-line)}
#city-answers-list>li{padding:12px 0;border-top:1px solid var(--op-line);font-size:13px}
#city-answers-list small{display:block;color:var(--op-muted);font-size:11px;margin-bottom:5px}
#city-answers-list button{display:block;min-height:44px;border:0;background:none;color:var(--op-accent);padding:6px 0;font-size:12px;text-align:left}
.opportunities .city-source{font-size:11px;margin-top:32px;padding-top:20px}
.city-mobile-resources{display:none}
@media(max-width:1000px){.opportunities .city-workspace{grid-template-columns:230px minmax(0,1fr);gap:26px}.city-workspace .conversation-options.option-grid{grid-template-columns:1fr}.opportunities:has(.city-workspace) .op-main{padding-left:28px;padding-right:28px}}
@media(max-width:760px){
 .opportunities:has(.city-workspace) .op-header{padding:12px 20px}.opportunities:has(.city-workspace) .op-main{padding:18px 20px 40px}
 .opportunities:has(.city-workspace) .op-header nav a:last-child{display:none}
 .city-closing{display:block;padding-bottom:14px;font-size:10px}.city-closing>strong{display:block;font-size:14px;margin-top:7px}.city-closing strong span{font-size:11px;white-space:nowrap}
 .city-invitation{padding:22px 0}.opportunities .city-invitation h1{font-size:32px;line-height:1.16;margin-bottom:14px}.city-invitation>p:last-child{font-size:13px;line-height:1.7}
 .opportunities .city-workspace{display:flex;flex-direction:column;gap:20px;padding-top:22px}.city-workspace .conversation-context{position:static;display:block;width:100%;padding:0}
 .city-workspace .context-kicker{margin-bottom:10px}.city-workspace .conversation-context h2{font-size:23px;margin:0 0 10px}.city-workspace .conversation-context h2 br{display:none}.city-workspace .context-intro{font-size:12px;max-width:none;margin:0 0 12px}
 .city-workspace .context-kicker,.city-workspace .conversation-context h2{display:none}
 .city-workspace .conversation-deadline{display:none}.city-workspace .resume-project{margin:0;font-size:12px;padding:4px 0}
 .city-workspace .context-notebook,.city-workspace .city-participation,.city-workspace .context-links{display:none}
 .city-mobile-resources{display:block;margin-top:28px}.city-mobile-resources .city-participation{border-top:1px solid var(--op-line);margin:0}.city-mobile-resources .context-links{display:flex;border-color:var(--op-line);margin-top:10px;padding-top:10px}.city-mobile-resources .context-links a{font-size:12px}
 .city-workspace .conversation-workspace{width:100%;border-radius:12px}.city-workspace .conversation-heading{padding:14px 17px}.city-workspace .guide-identity{gap:9px}.city-workspace .guide-identity strong{font-size:12px}.city-workspace .guide-identity div>span{font-size:10px}.city-workspace .conversation-mode{font-size:8px;padding:4px 6px}
 .city-workspace .conversation-content{padding:22px 18px 16px;min-height:0}.city-workspace .conversation-content h3{font-size:26px}.city-workspace .question-intro{font-size:12px}.city-workspace .conversation-options.option-grid{display:flex;flex-direction:column}.city-workspace .conversation-choice{padding:13px 12px;min-height:70px}.city-workspace .choice-copy strong{font-size:13px}.city-workspace .choice-copy small{font-size:11px}
 .city-workspace .conversation-controls{padding:10px 18px;gap:12px}.city-workspace .conversation-progress{font-size:9px;max-width:43%}.city-workspace .conversation-navigation{gap:15px}.city-workspace .conversation-navigation button{font-size:10px}.city-workspace .conversation-disclosure{padding:0 18px 14px;text-align:left}
 .city-workspace .answer-echo{font-size:9px;gap:9px}.city-workspace .answer-echo p{font-size:10px;max-width:73%}.city-workspace .op-actions{display:flex}.city-workspace .op-button{width:100%}
}
@media(prefers-reduced-motion:reduce){#city-progress-fill{transition:none}}

.city-invitation .city-first-step{font-size:12px!important;line-height:1.65;color:var(--op-accent)!important;margin-top:12px!important}.city-invitation-context{border-bottom:1px solid var(--op-line);padding:0 0 18px;margin:0 0 22px}.city-invitation-context .op-eyebrow{font-size:10px;margin:0 0 8px}.city-invitation-context>p:last-child{font-size:13px;line-height:1.8;color:var(--op-muted);margin:0}.city-code-delivery{background:#edf5f1;padding:12px 14px;border-left:2px solid var(--op-accent);font-size:13px;line-height:1.7;overflow-wrap:anywhere}

.city-code-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px}.city-code-actions .op-link-button{min-height:44px;text-align:left}#city-code-form #city-code{margin-bottom:10px}

.city-call-reference{font-size:11px;line-height:1.7;color:var(--op-muted);margin:0 0 16px}.city-call-reference a{font-weight:650}.city-invitation-context>p:last-child{color:var(--op-ink)}
