:root{--brand-yellow:#e0e721;--ink:#181b17;--paper:#f3f3ed;--lime:#d4f15b;--line:#d7d9ce;--muted:#60665b}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}header,footer{max-width:1440px;margin:auto;padding:28px 5%;display:flex;justify-content:space-between;align-items:center}.brand{display:inline-block;background:#000;color:var(--brand-yellow);padding:12px 16px;border-radius:4px;font-size:35px;font-weight:900;line-height:1;text-decoration:none;letter-spacing:-2px}.brand span{display:block;font-size:9px;letter-spacing:5px;margin-top:7px}.header-note{font-size:12px;color:var(--muted)}main{max-width:1440px;margin:15px auto 65px;display:grid;grid-template-columns:44% 56%;padding:0 5%}.intro{background:var(--ink);color:white;padding:52px 40px;display:flex;flex-direction:column;min-height:700px;border-radius:8px 0 0 8px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700}.intro h1{color:var(--brand-yellow);font-size:clamp(50px,6vw,86px);line-height:1.04;letter-spacing:-4px;margin:38px 0 26px;font-weight:650}.intro>p:not(.eyebrow){color:#c6cbbe;font-size:17px;line-height:1.8}.intro-foot{margin-top:auto;padding-top:70px;color:#d9e2ca;font-size:12px;display:flex;align-items:center;gap:10px}.dot{width:7px;height:7px;border-radius:50%;background:var(--lime)}.panel{background:white;padding:40px 44px;border:1px solid var(--line);border-left:0;border-radius:0 8px 8px 0;min-width:0}.steps{display:flex;gap:20px;padding-bottom:25px;margin-bottom:28px;border-bottom:1px solid var(--line);color:#757b70;font-size:11px}.steps .current{font-weight:800;color:var(--ink)}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-size:25px;font-weight:650;letter-spacing:-.7px;margin-bottom:8px}.muted{color:var(--muted)}.small{font-size:12px}.categories{display:grid;gap:9px;margin-top:24px}.category{border:1px solid var(--line);border-radius:5px;padding:12px 15px;display:flex;gap:12px;align-items:center;cursor:pointer;font-weight:500;font-size:14px}.category:has(input:checked){border-color:var(--ink);background:#f1f5e8}.category input{accent-color:var(--ink);width:16px;height:16px}.category .index{margin-left:auto;font-size:11px;color:var(--muted)}label{display:block;font-size:12px;font-weight:600;margin:0 0 17px}input:not([type=checkbox]):not([type=radio]),textarea,select{width:100%;font:inherit;font-size:14px;background:#fff;color:var(--ink);border:1px solid #aeb5a4;border-radius:4px;padding:11px;margin-top:7px}textarea{resize:vertical;min-height:130px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.optional{font-weight:400;color:var(--muted);font-size:10px}.actions{display:flex;justify-content:flex-end;gap:12px;margin-top:25px;padding-top:25px;border-top:1px solid var(--line)}button{font:inherit;font-weight:650;font-size:13px;border:1px solid var(--ink);border-radius:4px;cursor:pointer;background:var(--lime);color:var(--ink);padding:12px 19px;min-height:44px}button span{margin-left:24px}.secondary{background:white;border-color:var(--line)}button:disabled{opacity:.5;cursor:wait}.check{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:12px}.check input{accent-color:var(--ink);flex-shrink:0;margin-top:4px;width:16px;height:16px}.privacy-note{background:#f6f7f2;padding:15px;font-size:12px;margin:10px 0 20px}.privacy-note p{margin-bottom:0}.text-link{border:0;min-height:0;padding:0;background:none;text-decoration:underline;font-size:inherit}.permissions{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;margin:20px 0}.permissions h2{font-size:15px;font-weight:650;margin:0 0 10px}.field-error{display:block;color:#a32d1a;font-size:12px;font-weight:500;margin-top:6px}[aria-invalid="true"]{border-color:#a32d1a!important}.permissions .check{margin-top:18px}a{color:inherit;text-underline-offset:3px}footer{font-size:11px;color:var(--muted)}footer nav{display:flex;gap:20px}.trap{position:absolute;left:-9999px}#error{background:#fff1ee;border-left:3px solid #a32d1a;padding:14px;font-size:13px;margin-bottom:20px}#receipt h2{font-size:36px;letter-spacing:-1px}#receipt .reference{word-break:break-all;font-size:12px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:8px;max-width:620px;width:90%;padding:30px}dialog::backdrop{background:#181b1799}dialog button{float:right}.skip{position:absolute;left:-9999px}.skip:focus{left:15px;top:10px;background:white;padding:10px;z-index:2}:focus-visible{outline:3px solid #819832;outline-offset:3px}[hidden]{display:none!important}.legal{display:block;max-width:900px;min-height:0;background:white;padding:40px;border:1px solid var(--line);border-radius:8px}.legal h1{font-size:36px;line-height:1.2}.legal h2{font-size:20px;margin-top:30px}.legal p,.legal li{font-size:14px}.legal ul{padding-left:22px}@media(max-width:800px){header,footer{padding:23px 6%}main{padding:0 5%;grid-template-columns:1fr;margin-top:0}.intro{min-height:0;padding:30px;border-radius:8px 8px 0 0}.intro h1{font-size:52px;margin:18px 0;letter-spacing:-2px}.intro h1 br{display:none}.intro>p:not(.eyebrow){font-size:14px;margin-bottom:0}.intro-foot{padding-top:25px}.panel{padding:28px 24px;border:1px solid var(--line);border-top:0;border-radius:0 0 8px 8px}.grid{grid-template-columns:1fr}.steps{gap:15px;font-size:10px}.legal{margin:10px 5%;padding:25px}footer{align-items:flex-start;gap:20px;flex-direction:column}}

.cv-upload{border:1px dashed #aeb5a4;background:#f6f7f2;border-radius:5px;padding:17px;margin:0 0 22px}.cv-upload label{margin-bottom:8px}.cv-upload input[type=file]{background:white;font-size:12px;padding:10px}.cv-upload input::file-selector-button{border:1px solid #aeb5a4;background:#f3f3ed;border-radius:3px;padding:7px 10px;margin-right:10px;color:#181b17;cursor:pointer}.cv-upload p{overflow-wrap:anywhere}

.confirmation-choice{border-top:1px solid var(--line,#d5d8ce);padding:1.1rem 0}.confirmation-choice h3{font-size:1.05rem;margin:0 0 .5rem}.confirmation-choice p{margin:.5rem 0}#token-action{margin-top:1rem;max-width:100%;white-space:normal}

/* Brand-coloured topic titles: readable on a dark surface, with keyboard parity. */
.category,.intro h1{transition:color .16s ease,background-color .16s ease,border-color .16s ease}
.category:has(input:focus-visible){background:var(--ink);border-color:var(--ink);color:var(--brand-yellow)}
.category:has(input:focus-visible) .index{color:inherit}
.category:has(input:focus-visible) input{accent-color:var(--brand-yellow)}
@media(hover:hover){.category:hover{background:var(--ink);border-color:var(--ink);color:var(--brand-yellow)}.category:hover .index{color:inherit}.category:hover input{accent-color:var(--brand-yellow)}.intro h1:hover{color:var(--brand-yellow)}}
@media(prefers-reduced-motion:reduce){.category,.intro h1{transition:none}}

.channel-invite{border-top:1px solid var(--line);margin-top:26px;padding-top:22px}.channel-invite h3{font-size:20px;line-height:1.3;margin:0 0 10px}.channel-invite p{font-size:14px}.channel-invite .small{font-size:12px}.channel-link{display:inline-block;max-width:100%;padding:12px 19px;min-height:44px;border:1px solid var(--ink);border-radius:4px;background:var(--ink);color:var(--brand-yellow);font-size:14px;font-weight:650;text-decoration:none}.channel-link:hover,.channel-link:focus-visible{background:var(--brand-yellow);color:var(--ink)}
