.cam20-page { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-fa); font-size:var(--fs-body); line-height:var(--lh-body); }
.cam20-page *, .cam20-page *::before, .cam20-page *::after { box-sizing:border-box; }
.cam20-page .cv-shell { max-inline-size:728px; margin-inline:auto; padding-inline:24px; }
.cam20-page .cv-hero { padding-block:48px; }
.cam20-page .cv-hero h1 { font-family:var(--font-display); font-size:var(--fs-h1); line-height:var(--lh-heading); font-weight:700; margin-block:16px 24px; }
.cam20-page .cv-heading { font-family:var(--font-display); font-size:var(--fs-h2); font-weight:700; line-height:var(--lh-heading); margin-block:0 24px; }
.cam20-page h3.cv-heading { font-family:var(--font-fa); font-size:var(--fs-lead); line-height:var(--lh-lead); }
.cam20-page .cv-phase { margin-block:64px; }
.cam20-page .cv-actions { display:flex; flex-wrap:wrap; gap:16px; margin-block:24px; }
.cam20-page .cv-condition, .cam20-page .cv-helper { font-size:var(--fs-body); color:var(--ink-soft); }
.cam20-page .cv-response { margin-block:32px; }
.cam20-page .cv-response label { display:block; font-weight:700; margin-block-end:12px; }
.cam20-page textarea { display:block; inline-size:100%; min-inline-size:0; min-block-size:240px; resize:vertical; padding:16px; border:1px solid var(--line-gold); border-radius:var(--r-surface); background:var(--slip); color:var(--ink); font:500 16px/1.85 var(--font-fa); }
.cam20-page textarea[lang=en] { font-family:var(--font-en); line-height:var(--lh-en); }
.cam20-page #cam20t1g-first, .cam20-page #cam20t1g-revision { min-block-size:480px; }
.cam20-page [id] { scroll-margin-block-start:152px; }
.cam20-page :is(a,button,summary,textarea):focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.cam20-page .cv-reference { border-block:1px solid var(--line-gold); }
.cam20-page .cv-reference summary { padding-block:20px; cursor:pointer; font-weight:700; min-block-size:56px; }
.cam20-page .cv-reference-body { padding-block:24px; }
.cam20-page .cv-list { padding-inline-start:24px; }
.cam20-page .cv-list li { margin-block:16px; }
.cam20-page .cv-model p[lang=en] { font-family:var(--font-en); line-height:var(--lh-en); direction:ltr; text-align:start; }
.cam20-page .cv-model .cv-job { margin-block:32px 12px; font-weight:600; color:var(--ink-soft); }
.cam20-page .cv-preview { margin:0; }
.cam20-page .cv-preview img { display:block; inline-size:100%; block-size:auto; border:1px solid var(--line-gold); }
.cam20-page .cv-preview img[hidden] { display:none; }
.cam20-page .cv-preview figcaption { margin-block:16px; }
.cam20-page .cv-preview-status[hidden] { display:none; }
.cam20-page .sigil-defs { position:absolute; inline-size:0; block-size:0; }
.cam20-page .header { position:sticky; inset-block-start:0; z-index:var(--z-chrome); background:var(--paper); }
.cam20-page a { color:var(--ink); }
.cam20-page .header__start { display:flex; align-items:center; gap:12px; min-inline-size:0; }
.cam20-page .header__brand { display:flex; align-items:center; flex-shrink:0; min-block-size:44px; text-decoration:none; }
.cam20-page .header__wordmark { font-size:var(--fs-body); font-weight:700; }
.cam20-page .header__nav { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.cam20-page .header__rail { display:none; }
.cam20-page .cv-index { display:flex; flex-wrap:wrap; gap:8px; padding-block:24px; border-block-end:1px solid var(--line-gold); }
.cam20-page .lrail { display:flex; flex-wrap:wrap; gap:8px; position:static; inline-size:auto; }
.cam20-page .lrail__item { min-block-size:44px; padding:8px 12px; display:inline-flex; align-items:center; }
.cam20-page .lrail__item.is-current { text-decoration:underline; text-underline-offset:6px; }
.cam20-page .lbar { display:none; }
.cam20-page .progress { position:fixed; inset-block-start:0; inset-inline-start:0; block-size:4px; background:var(--ink); z-index:var(--z-chrome); inline-size:0; }
.cam20-page .footer { padding-block:48px; border-block-start:1px solid var(--line-gold); }
.cam20-page .footer__inner { max-inline-size:728px; margin-inline:auto; padding-inline:24px; }
.cam20-page .footer a { display:inline-flex; min-block-size:44px; align-items:center; }
.cam20-page .footer__wordmark { font-weight:700; }
.cam20-page .cv-print-title { display:none; }
.cam20-page .skip { position:absolute; inset-inline-start:24px; inset-block-start:-80px; min-block-size:44px; padding:12px; background:var(--slip); z-index:calc(var(--z-chrome) + 1); }
.cam20-page .skip:focus { inset-block-start:8px; }
@media (max-width:768px) {
 .cam20-page .header__trail { display:none; }
 .cam20-page .header__rail { display:flex; min-block-size:44px; padding-inline:24px; align-items:center; }
 .cam20-page .header__inner { min-block-size:56px; padding-inline:24px; }
 .cam20-page .header__rail a { min-block-size:44px; display:inline-flex; align-items:center; }
 .cam20-page.is-enhanced .lbar { display:block; position:static; transform:none; padding-inline:24px; border-block-end:1px solid var(--line-gold); }
 .cam20-page .lbar__toggle { min-block-size:44px; inline-size:100%; border:0; background:var(--paper); color:var(--ink); font:600 16px/1.85 var(--font-fa); text-align:start; }
 .cam20-page .lbar__sheet[hidden] { display:none; }
 .cam20-page .lbar__sheet { display:grid; padding-block:16px; }
 .cam20-page .lbar__fill { block-size:2px; background:var(--ink); inline-size:0; }
 .cam20-page .lbar__item { min-block-size:44px; padding-block:8px; }
 .cam20-page .cv-hero { padding-block:32px; }
}
@media (prefers-reduced-motion:reduce) { .cam20-page * { scroll-behavior:auto; transition:none; animation:none; } }

.cam20-page .cv-task { padding:24px; background:var(--slip); border-block:1px solid var(--line-gold); margin-block:48px; }
.cam20-page .cv-task-text, .cam20-page .cv-letter { white-space:pre-wrap; text-align:left; font-family:var(--font-en); font-size:var(--fs-body); font-weight:500; line-height:var(--lh-en); overflow-wrap:anywhere; word-break:normal; }
.cam20-page .cv-letter { margin-block:24px; }
.cam20-page .cv-task-text { margin-block-end:24px; }
.cam20-page .cv-coverage-rows { list-style:none; margin:0; padding:0; }
.cam20-page .cv-coverage-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:24px; padding-block:24px; border-block-start:1px solid var(--line-gold); }
.cam20-page .cv-coverage-row > div { min-inline-size:0; }
.cam20-page .cv-coverage-label { margin:0 0 12px; font-family:var(--font-fa); font-size:var(--fs-body); font-weight:700; line-height:var(--lh-body); }
.cam20-page .cv-instruction { margin:0; color:var(--ink-soft); overflow-wrap:anywhere; }
.cam20-page .cv-quote { margin:0 0 12px; padding-inline-start:12px; border-inline-start:2px solid var(--ink); font-size:var(--fs-body); font-weight:500; overflow-wrap:anywhere; }
.cam20-page .cv-language-item { margin-block:32px; }
.cam20-page .cv-figure-caption { font-weight:700; margin-block-end:16px; }
.cam20-page .cv-summary-sub { display:block; margin-block-start:8px; font-weight:500; }
.cam20-page .cv-print-only { display:none; }
.cam20-page [hidden] { display:none !important; }
.cam20-page .header__rail-current { margin-inline-start:12px; min-inline-size:0; }
.cam20-page .header__inner { max-inline-size:1120px; margin-inline:auto; padding-inline:24px; }
.cam20-page .header__trail { min-inline-size:0; }
.cam20-page .header__nav a { min-block-size:44px; display:inline-flex; align-items:center; }
.cam20-page .header__sigil, .cam20-page .footer__sigil { inline-size:22px; block-size:22px; margin-inline-end:8px; }
.cam20-page .footer__top, .cam20-page .footer__nav { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.cam20-page .footer__brand { align-items:center; }
@media screen { .cam20-page .footer__brand { scroll-margin-block: 8px; } }
@media screen { .cam20-page .footer__nav a { scroll-margin-block: 8px; } }
.cam20-page .footer__copy { direction:ltr; }
.cam20-page .cv-preview img { max-inline-size:100%; }
@media (max-width:600px) {
 .cam20-page .cv-coverage-row { grid-template-columns:minmax(0,1fr); gap:12px; }
 .cam20-page .cv-task { padding:16px 0; background:var(--paper); }
 .cam20-page .cv-actions > .fm-action { max-inline-size:100%; }
}
@media (max-width:768px) {
 .cam20-page .header__inner { display:flex; justify-content:space-between; gap:8px; }
 .cam20-page .header__wordmark { font-size:16px; }
 .cam20-page .header__nav { gap:8px; }
 .cam20-page .header__rail { flex-wrap:wrap; }
 .cam20-page .header__rail-current { display:none; }
 .cam20-page .lrail__title { inline-size:100%; margin-block:0 8px; }
}
@media (max-height:540px) { .cam20-page .header { position:static; } .cam20-page [id] { scroll-margin-block-start:24px; } }
@media screen { .cam20-page .cv-hero h1 { min-block-size:2lh; } }
@media screen and (width < 430px) { .cam20-page .cv-hero h1 { min-block-size:3lh; } }
