/* Compact ending: pledge + registration, guidance + FAQ, and final invitation. */
#pledge, #registration, #questions { padding-block:40px; }
#pledge, #registration { background:#ded6c1; }
#pledge { padding-bottom:24px; }
#pledge .pledge-grid { grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr); gap:24px 40px; }
#pledge .section-kicker, #registration .section-kicker, #questions .section-kicker { margin:0 0 10px; font-size:14px; }
#pledge .section-title, #registration .section-title, #questions .section-title { margin:0 0 14px; font-size:clamp(30px,2.7vw,40px); line-height:1.35; letter-spacing:0; }
#pledge .section-title { font-size:clamp(30px,2.5vw,36px); }
#pledge .lead { margin:0; font-size:17px; line-height:1.8; }
#pledge .takeaways { margin-top:16px; }
#pledge .takeaways p { grid-template-columns:88px minmax(0,1fr); gap:12px; margin:0; padding:12px 0; }
#pledge .takeaways b { font-size:17px; }
#pledge .takeaways span { font-size:16px; line-height:1.75; text-wrap:pretty; }
#pledge .pledge-card { padding:22px 26px; }
#pledge .pledge-card .micro-label { font-size:14px; }
#pledge .pledge-card p { margin:14px 0; font-size:17px; line-height:1.8; text-wrap:pretty; }
#pledge .pledge-caption { display:block; font-size:14px; line-height:1.7; }
#pledge .pledge-action { display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; margin-top:16px; }
#pledge .pledge-action .button { min-height:44px; padding:9px 17px; font-size:16px; }
#pledge .pledge-action > span { font-size:14px; }
#registration { padding-top:0; border-top:0; }
#registration .registration-grid { grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr); gap:40px; padding-top:24px; border-top:1px solid #817a6555; }
#registration .registration-intro > p:not(.section-kicker) { margin:12px 0 0; font-size:16px; line-height:1.75; }
#registration .registration-intro .form-status { padding-left:12px; max-width:none; }
#registration .registration-intro .form-vacancies { margin-top:12px; }
#registration .registration-preview { align-self:start; min-width:0; border-top:1px solid #817a6577; border-bottom:1px solid #817a6577; }
#registration .registration-preview > summary { position:relative; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:5px 16px; min-height:64px; padding:14px 28px 14px 0; cursor:pointer; list-style:none; font-size:20px; font-family:var(--serif); }
#registration .registration-preview > summary::-webkit-details-marker { display:none; }
#registration .registration-preview > summary::after { position:absolute; right:0; top:17px; content:"＋"; color:#746039; font-size:18px; }
#registration .registration-preview[open] > summary::after { content:"－"; }
#registration .registration-preview > summary small { font-family:var(--sans); font-size:14px; color:#626355; }
#registration .registration-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 20px; padding:6px 0 18px; }
#registration .registration-fields > .form-step, #registration .registration-fields > .field-pair,
#registration .registration-fields > .field-help, #registration .registration-fields > fieldset,
#registration .registration-fields > .consent-pending, #registration .registration-fields > button,
#registration .registration-fields > label:first-of-type { grid-column:1 / -1; }
#registration .form-step { margin:0; padding-top:14px; font-size:14px; }
#registration .form-step span { font-size:21px; }
#registration .registration-fields > label, #registration .field-pair > label { margin:0; gap:7px; font-size:16px; }
#registration .field-pair { gap:20px; }
#registration .registration-fields input[type=text], #registration .registration-fields input[type=tel], #registration .registration-fields textarea { padding:8px 11px; min-height:44px; font-size:16px; line-height:1.7; }
#registration .registration-fields textarea { min-height:124px; }
#registration .registration-fields > label:has(textarea) textarea { margin-top:auto; }
#registration .field-status { display:inline-block; margin-left:4px; font-size:14px; line-height:1.5; font-weight:500; color:#625336; white-space:nowrap; }
#registration .field-status--optional { color:#626355; }
#registration .registration-intro .registration-prerequisite { padding:10px 12px; border-left:2px solid #746039; background:#c5b88833; }
#registration .field-help { margin:0; font-size:14px; }
#registration .refuge-options { margin:0; gap:14px 24px; }
#registration .refuge-options label { min-height:44px; }
#registration .consent-pending { margin:0; padding-top:12px; font-size:14px; }
#registration .registration-submit { min-height:44px; padding:10px 14px; }
#questions .section-heading { margin-bottom:24px; gap:24px; }
#questions .section-heading .section-title { margin-bottom:0; }
#questions .heading-aside { margin:0; font-size:16px; line-height:1.75; }
#questions .questions-spread { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; align-items:start; }
#questions .clarifications { display:block; border-top:0; }
#questions .clarification-item, #questions .faq details { border-top:1px solid #817a6560; min-width:0; }
#questions .clarification-item > summary { position:relative; display:flex; align-items:baseline; gap:9px; min-height:44px; padding:8px 32px 8px 0; list-style:none; cursor:pointer; font-size:16px; line-height:1.7; }
#questions .clarification-item > summary::-webkit-details-marker { display:none; }
#questions .clarification-item > summary::after { position:absolute; right:0; top:50%; transform:translateY(-50%); color:#746039; content:"＋"; font-size:18px; line-height:1; }
#questions .clarification-item[open] > summary::after { content:"－"; }
#questions .clarification-item summary b { flex:none; color:#52644b; font-size:14px; }
#questions .clarification-item summary span { color:#252c28; }
#questions .clarification-item p { display:block; margin:0; padding:0 20px 14px 0; border:0; color:#626155; font-size:16px; line-height:1.75; }
#questions .clarification-item p i { margin-right:6px; color:#81543e; font-size:14px; font-style:normal; }
#questions .faq { display:block; max-width:none; margin:0; }
#questions .questions-panel-title { margin:0 0 12px; color:#252c28; font-family:var(--serif); font-size:22px; line-height:1.5; font-weight:500; letter-spacing:0; }
#questions .faq details:last-child { border-bottom:0; }
#questions .faq summary { min-height:44px; padding:8px 32px 8px 0; font-size:16px; font-weight:500; line-height:1.7; }
#questions .faq summary::after { top:50%; right:0; transform:translateY(-50%); content:"＋"; font-size:18px; line-height:1; }
#questions .faq details[open] summary::after { content:"－"; }
#questions .faq details p { padding:0 28px 14px 0; font-size:16px; line-height:1.75; }
#questions .faq-answer { padding:0 28px 16px 0; color:#626155; font-size:16px; line-height:1.75; }
#questions .faq .faq-answer p { margin:0 0 10px; padding:0; }
#questions .faq-answer p:last-child { margin-bottom:0; }
#questions .faq-answer ol, #questions .faq-answer ul { margin:0 0 12px; padding-left:1.5em; }
#questions .faq-answer li { padding-left:3px; }
#questions .faq-answer li + li { margin-top:6px; }
#questions .faq-answer li > ul { margin:8px 0 0; }
#questions .faq-answer strong { color:#252c28; font-weight:500; }
/* Expanded prose should fill the available line, without balanced short lines. */
#main details p, #main details li, #main details .type-phrase,
#credentials .credential-detail-copy p {
  white-space:normal;
  text-wrap:wrap;
  word-break:normal;
  overflow-wrap:break-word;
}
#questions summary, #registration .registration-preview > summary { transition:color .14s ease; }
#questions summary:hover, #registration .registration-preview > summary:hover { color:#746039; }
#questions summary:focus-visible, #registration summary:focus-visible { outline:2px solid #746039; outline-offset:4px; }
.closing#closing { min-height:0; padding:0; display:block; }
#closing .closing-inner { min-height:0; display:grid; grid-template-columns:minmax(0,1fr) 350px; gap:28px 48px; align-items:center; width:min(1320px,calc(100% - 88px)); max-width:none; padding-block:40px; }
#closing .closing-inner > * { max-width:none; min-width:0; }
#closing .section-kicker { margin:0 0 12px; font-size:14px; justify-content:flex-start; }
#closing h2 { margin:0 0 16px; font-size:clamp(32px,3.2vw,46px); line-height:1.35; letter-spacing:0; }
#closing .closing-message > p:not(.section-kicker) { max-width:780px; margin:0; color:#3b4937; font-size:17px; line-height:1.8; text-wrap:pretty; }
#closing .closing-status { margin:0 0 18px; padding:0; border:0; font-size:18px; line-height:1.8; }
#closing .closing-status small { margin-top:7px; font-size:16px; line-height:1.7; }
#closing .button { min-height:44px; padding:10px 18px; font-size:16px; }
#closing .closing-mark { right:-15px; top:-32px; font-size:310px; opacity:.18; }
@media(max-width:1050px) {
  #pledge .pledge-grid, #registration .registration-grid { gap:24px; grid-template-columns:repeat(2,minmax(0,1fr)); }
  #questions .questions-spread { gap:28px; }
  #closing .closing-inner { grid-template-columns:minmax(0,1fr) 300px; gap:28px; width:calc(100% - 56px); }
}
@media(max-width:760px) {
  #pledge, #registration, #questions { padding-block:28px; }
  #pledge { padding-bottom:20px; }
  #registration { padding-top:0; }
  #pledge .pledge-grid, #registration .registration-grid, #questions .questions-spread { grid-template-columns:1fr; gap:22px; }
  #pledge .section-title, #registration .section-title, #questions .section-title { font-size:32px; }
  #pledge .section-title em { display:block; }
  #pledge .pledge-card { padding:19px 20px; }
  #pledge .takeaways p { grid-template-columns:80px minmax(0,1fr); }
  #pledge .pledge-action { flex-direction:row; }
  #registration .registration-fields { grid-template-columns:1fr; }
  #registration .registration-fields > * { grid-column:1; }
  #registration .field-pair { grid-template-columns:1fr; gap:14px; }
  #questions .section-heading { gap:12px; margin-bottom:20px; }
  #questions .clarification-item > summary { padding-right:32px; }
  #closing .closing-inner { grid-template-columns:1fr; gap:22px; width:calc(100% - 40px); padding-block:30px; }
  #closing h2 { font-size:32px; }
  #closing h2 em { display:block; }
  #closing .closing-message > p:not(.section-kicker) { font-size:16px; }
  #closing .closing-status { font-size:17px; margin-bottom:14px; }
  #closing .closing-mark { font-size:260px; top:auto; bottom:-25px; opacity:.14; }
}
