/* SKIES2 registration · UI Guide 1.3.3. App typography: H1 32/40, mobile 28/36. */
html { font-size:100%; }
body { margin:0; }
#sk-join { min-height:100dvh; display:flex; flex-direction:column; }
#sk-join [hidden] { display:none!important; }
#sk-join h1,#sk-join h2,#sk-join h3,#sk-join p { margin:0; }
#sk-join .sk-icon { width:20px; height:20px; flex-shrink:0; fill:none; stroke:currentColor; vertical-align:middle; }
#sk-join h1 { font:700 2rem/2.5rem var(--sk-font-heading); letter-spacing:-.02em; color:var(--sk-brand-navy); }
#sk-join h2 { font:600 1.5rem/2rem var(--sk-font-heading); color:var(--sk-brand-navy); }
#sk-join h3 { font:600 1.25rem/1.75rem var(--sk-font-heading); color:var(--sk-brand-aviation); }
#sk-join a { color:var(--sk-link); text-underline-offset:3px; }
#sk-join a:hover { text-decoration-thickness:2px; }
#sk-join a:focus-visible,#sk-join button:focus-visible,#sk-join input:focus,#sk-join textarea:focus { outline:3px solid var(--sk-focus-ring); outline-offset:2px; box-shadow:0 0 0 2px var(--sk-focus-gap); }
#sk-join .join-topbar { background:var(--sk-brand-navy); color:var(--sk-text-inverse); }
#sk-join .join-topbar-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:80px; max-width:1200px; margin:auto; padding:16px 32px; }
#sk-join .join-brand { display:flex; gap:12px; align-items:center; text-decoration:none; color:var(--sk-text-inverse); }
#sk-join .join-brand img { display:block; width:84px; height:auto; }
#sk-join .join-brand span { font:500 .875rem/1.25rem var(--sk-font-heading); border-left:1px solid rgb(255 255 255 / 25%); padding-left:12px; }
#sk-join .join-topbar-link { display:flex; align-items:center; gap:8px; padding:12px; min-height:44px; color:var(--sk-text-inverse); font:600 .875rem/1.25rem var(--sk-font-heading); text-decoration:none; border-radius:8px; }
#sk-join .join-topbar-link:hover { background:var(--sk-brand-aviation); }
#sk-join .join-topbar :focus-visible { outline-color:var(--sk-brand-technical); box-shadow:0 0 0 2px var(--sk-brand-navy); }
#sk-join .join-shell { width:100%; max-width:1200px; margin:auto; padding:48px 32px; flex:1; }
#sk-join.join-wizard .join-shell { padding-block:24px; }
#sk-join .join-content-region { width:100%; }
#sk-join .join-card,#sk-join .join-identity-card { background:var(--sk-bg-surface); border:1px solid var(--sk-border-subtle); border-radius:12px; padding:32px; }
#sk-join .join-card-wide { max-width:880px; margin:auto; }
#sk-join .join-eyebrow { font:600 .75rem/1rem var(--sk-font-heading); color:var(--sk-brand-aviation); margin-bottom:12px; }
#sk-join .join-lead { font:400 1rem/1.5rem var(--sk-font-body); color:var(--sk-text-secondary); max-width:65ch; margin-top:16px; }
#sk-join .accent-text { color:var(--sk-brand-aviation); }
#sk-join .join-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
#sk-join .join-actions .sk-button,#sk-join .join-step-actions .sk-button { white-space:normal; text-align:center; }
#sk-join .join-alert { display:flex; align-items:flex-start; gap:12px; padding:16px; margin-bottom:24px; border:1px solid var(--sk-status-info-border); border-radius:8px; background:var(--sk-status-info-bg); color:var(--sk-status-info-text); font:400 .875rem/1.25rem var(--sk-font-body); }
#sk-join .join-alert-error { background:var(--sk-status-error-bg); color:var(--sk-status-error-text); border-color:var(--sk-status-error-border); }
#sk-join .join-alert-warning { background:var(--sk-status-warning-bg); color:var(--sk-status-warning-text); border-color:var(--sk-status-warning-border); }
#sk-join .join-alert-success { background:var(--sk-status-success-bg); color:var(--sk-status-success-text); border-color:var(--sk-status-success-border); }
#sk-join .join-identity-card { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr); gap:40px; align-items:center; }
#sk-join .join-identity-content { min-width:0; }
#sk-join .join-state-pill { display:inline-flex; align-items:center; gap:8px; border:1px solid var(--sk-status-info-border); background:var(--sk-status-info-bg); color:var(--sk-status-info-text); border-radius:999px; padding:4px 8px; font:600 .75rem/1rem var(--sk-font-heading); margin-bottom:24px; }
#sk-join .join-state-pill .sk-icon { width:16px; height:16px; }
#sk-join .join-state-pill-success { color:var(--sk-status-success-text); background:var(--sk-status-success-bg); border-color:var(--sk-status-success-border); }
#sk-join .join-identity-assurance,#sk-join .join-verified-profile,#sk-join .join-profile-summary { display:flex; gap:12px; align-items:flex-start; padding:20px; background:var(--sk-neutral-25); border:1px solid var(--sk-border-subtle); border-radius:12px; margin-top:24px; }
#sk-join .join-identity-assurance > span,#sk-join .join-verified-profile-icon,#sk-join .join-profile-summary > .sk-icon { color:var(--sk-brand-aviation); }
#sk-join .join-identity-assurance p { font:400 .875rem/1.25rem var(--sk-font-body); color:var(--sk-text-secondary); }
#sk-join .join-identity-assurance strong { display:block; margin-bottom:4px; color:var(--sk-brand-navy); font-family:var(--sk-font-heading); }
#sk-join .join-verified-profile small { display:block; font:400 .75rem/1rem var(--sk-font-body); color:var(--sk-text-secondary); margin-bottom:4px; }
#sk-join .join-verified-profile strong { display:block; font:600 .875rem/1.25rem var(--sk-font-heading); overflow-wrap:anywhere; }
#sk-join .join-verified-profile-shield { margin-left:auto; color:var(--sk-status-success-text); }
#sk-join .join-registration-steps { display:flex; flex-wrap:wrap; gap:16px; margin-top:24px; font:500 .875rem/1.25rem var(--sk-font-heading); color:var(--sk-text-secondary); }
#sk-join .join-registration-steps span { display:flex; align-items:center; gap:8px; }
#sk-join .join-registration-steps b { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; border:1px solid var(--sk-border-control); font-weight:600; }
#sk-join .join-registration-steps .is-complete { color:var(--sk-status-success-text); }
#sk-join .join-brand-panel { padding:24px; border-radius:12px; background:var(--sk-brand-navy); color:white; align-self:stretch; display:flex; flex-direction:column; justify-content:center; gap:24px; }
#sk-join .join-brand-panel img { display:block; width:100%; height:auto; }
#sk-join .join-brand-panel ol { list-style:none; padding:0; margin:0; display:grid; gap:20px; }
#sk-join .join-brand-panel li { display:flex; gap:12px; align-items:center; font:500 .875rem/1.25rem var(--sk-font-heading); }
#sk-join .join-brand-panel .sk-icon { color:var(--sk-brand-technical); }
#sk-join .join-reference { margin-top:24px; padding:16px; background:var(--sk-neutral-100); border:1px solid var(--sk-border-subtle); border-radius:8px; overflow-wrap:anywhere; font:400 .875rem/1.25rem var(--sk-font-body); }
#sk-join .join-wizard-card { max-width:1040px; margin:auto; padding:0; }
#sk-join .join-wizard-header { padding:24px 32px; border-bottom:1px solid var(--sk-border-subtle); }
#sk-join .join-wizard-header .join-lead { margin-top:12px; }
#sk-join .join-wizard-progress { margin-top:16px; }
#sk-join .join-wizard-progress-copy { display:flex; gap:16px; justify-content:space-between; color:var(--sk-brand-aviation); font:600 .875rem/1.25rem var(--sk-font-heading); }
#sk-join .join-wizard-progress-track { height:4px; background:var(--sk-neutral-100); margin-top:12px; border-radius:4px; overflow:hidden; }
#sk-join .join-wizard-progress-track span { display:block; height:100%; width:var(--join-wizard-progress,0%); background:var(--sk-brand-aviation); transition:width 180ms var(--sk-ease); }
#sk-join .join-wizard-step-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; list-style:none; padding:0; margin:16px 0 0; }
#sk-join .join-wizard-step-list li { display:flex; gap:8px; align-items:center; color:var(--sk-text-secondary); font:500 .75rem/1rem var(--sk-font-heading); }
#sk-join .join-wizard-step-list b { display:grid; place-items:center; border:1px solid var(--sk-border-control); border-radius:50%; width:24px; height:24px; flex-shrink:0; }
#sk-join .join-wizard-step-list [aria-current=step] { color:var(--sk-brand-aviation); font-weight:600; }
#sk-join .join-wizard-step-list [aria-current=step] b { color:white; background:var(--sk-brand-aviation); border-color:var(--sk-brand-aviation); }
#sk-join .join-wizard-step-list .is-complete b { border-color:var(--sk-status-success-border); color:var(--sk-status-success-text); background:var(--sk-status-success-bg); }
#sk-join .join-wizard-stage { padding:24px 32px; }
#sk-join .join-step-heading { display:grid; grid-template-columns:44px minmax(0,1fr); gap:16px; margin-bottom:24px; }
#sk-join .join-step-icon { width:44px; height:44px; display:grid; place-items:center; color:var(--sk-brand-aviation); background:var(--sk-selection-bg); border-radius:8px; }
#sk-join .join-step-kicker { font:600 .75rem/1rem var(--sk-font-heading); color:var(--sk-brand-aviation); margin-bottom:4px; }
#sk-join .join-step-heading p:last-child { margin-top:8px; color:var(--sk-text-secondary); font:400 .875rem/1.25rem var(--sk-font-body); }
#sk-join .join-profile-result-status { display:flex; gap:12px; align-items:center; margin-bottom:24px; color:var(--sk-status-success-text); }
#sk-join .join-profile-result-status strong { display:block; font:600 .875rem/1.25rem var(--sk-font-heading); }
#sk-join .join-profile-result-status small { display:block; color:var(--sk-text-secondary); font:400 .875rem/1.25rem var(--sk-font-body); }
#sk-join .join-profile-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; max-width:640px; }
#sk-join .join-profile-grid .wide { grid-column:1/-1; }
#sk-join .join-profile-grid label,#sk-join .join-textarea-label { display:grid; gap:8px; font:600 .875rem/1.25rem var(--sk-font-heading); }
#sk-join .join-profile-grid input,#sk-join textarea { width:100%; min-height:44px; padding:9px 12px; border:1px solid var(--sk-border-control); border-radius:8px; color:var(--sk-text-primary); font:400 1rem/1.5rem var(--sk-font-body); background:var(--sk-bg-surface); }
#sk-join .join-profile-grid input[readonly] { background:var(--sk-neutral-100); }
#sk-join textarea { min-height:160px; resize:vertical; }
#sk-join textarea::placeholder { color:var(--sk-text-secondary); opacity:1; }
#sk-join .join-note { font:400 .875rem/1.25rem var(--sk-font-body); color:var(--sk-text-secondary); margin-top:12px; }
#sk-join [data-join-step="2"] .join-step-heading { margin-bottom:16px; }
#sk-join [data-join-step="2"] .join-step-heading p:last-child { margin-top:4px; }
#sk-join [data-join-step="2"] .join-note { margin-top:8px; }
#sk-join .join-step-subsection + .join-step-subsection { margin-top:16px; }
#sk-join .join-step-subsection h3 { margin-bottom:8px; font-size:1rem; line-height:1.5rem; color:var(--sk-brand-navy); }
#sk-join .join-choice-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:12px; }
#sk-join .join-choice-grid-small { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:640px; }
#sk-join .join-choice-card { display:flex; flex-direction:column; align-items:flex-start; gap:8px; padding:12px 16px; min-width:0; min-height:44px; background:var(--sk-bg-surface); border:1px solid var(--sk-border-control); border-radius:12px; color:var(--sk-text-primary); text-align:left; cursor:pointer; transition:background-color 120ms var(--sk-ease),border-color 120ms var(--sk-ease); }
#sk-join .join-choice-card strong { font:600 1rem/1.5rem var(--sk-font-heading); color:var(--sk-brand-navy); }
#sk-join .join-choice-card small { font:400 .875rem/1.25rem var(--sk-font-body); color:var(--sk-text-secondary); }
#sk-join .join-choice-tag { font:600 .75rem/1rem var(--sk-font-heading); color:var(--sk-brand-aviation); }
#sk-join .join-choice-card:hover:not(:disabled) { background:var(--sk-neutral-25); border-color:var(--sk-brand-aviation); }
#sk-join .join-choice-card[aria-pressed=true] { background:var(--sk-selection-bg); border-color:var(--sk-selection-border); box-shadow:inset 0 0 0 1px var(--sk-selection-border); }
#sk-join .join-choice-card[aria-pressed=true] .join-choice-tag::after { content:' · Selected'; }
#sk-join .join-choice-card.compact { flex-direction:row; align-items:center; gap:12px; min-height:44px; padding:9px 12px; }
#sk-join .join-choice-card.compact[aria-pressed=true]::after { content:'Selected'; margin-left:auto; color:var(--sk-brand-aviation); font:600 .75rem/1rem var(--sk-font-heading); }
#sk-join .join-choice-card:disabled { background:var(--sk-disabled-bg); border-color:var(--sk-disabled-border); cursor:not-allowed; }
#sk-join .join-choice-card:disabled strong,#sk-join .join-choice-card:disabled .join-choice-tag { color:var(--sk-disabled-text); }
#sk-join .join-textarea-meta { display:flex; gap:16px; justify-content:space-between; flex-wrap:wrap; margin-top:8px; font:400 .875rem/1.25rem var(--sk-font-body); color:var(--sk-text-secondary); }
#sk-join .join-summary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
#sk-join .join-summary-card { display:flex; gap:12px; padding:20px; border:1px solid var(--sk-border-subtle); border-radius:12px; min-width:0; }
#sk-join .join-summary-card-wide { grid-column:1/-1; }
#sk-join .join-summary-icon { color:var(--sk-brand-aviation); }
#sk-join .join-summary-card small,#sk-join .join-summary-card strong,#sk-join .join-summary-card div > span { display:block; overflow-wrap:anywhere; }
#sk-join .join-summary-card small { color:var(--sk-text-secondary); font:400 .75rem/1rem var(--sk-font-body); margin-bottom:8px; }
#sk-join .join-summary-card strong { font:600 1rem/1.5rem var(--sk-font-heading); margin-bottom:4px; color:var(--sk-brand-navy); }
#sk-join .join-summary-card div > span,#sk-join .join-summary-card p { font:400 .875rem/1.25rem var(--sk-font-body); color:var(--sk-text-secondary); overflow-wrap:anywhere; }
#sk-join .join-summary-card p { white-space:pre-wrap; }
#sk-join .join-summary-assurance,#sk-join .join-final-notice { display:flex; gap:12px; padding:16px; border:1px solid var(--sk-border-subtle); border-radius:8px; background:var(--sk-neutral-25); margin-top:24px; font:400 .875rem/1.25rem var(--sk-font-body); color:var(--sk-text-secondary); }
#sk-join .join-final-notice strong,#sk-join .join-final-notice span { display:block; }
#sk-join .join-final-notice strong { font-family:var(--sk-font-heading); color:var(--sk-brand-navy); margin-bottom:4px; }
#sk-join .join-checks { display:grid; gap:16px; }
#sk-join .join-checks label { display:flex; gap:12px; align-items:flex-start; padding:20px; border:1px solid var(--sk-border-control); border-radius:12px; cursor:pointer; font:400 1rem/1.5rem var(--sk-font-body); }
#sk-join .join-checks input { width:20px; height:20px; margin:2px 0 0; flex-shrink:0; accent-color:var(--sk-brand-aviation); }
#sk-join .join-checks label:has(input:checked) { border-color:var(--sk-brand-aviation); background:var(--sk-selection-bg); }
#sk-join .join-checks label:has(input[aria-invalid=true]) { border-color:var(--sk-status-error-border); }
#sk-join .join-wizard-controls { padding:16px 32px; border-top:1px solid var(--sk-border-subtle); display:flex; align-items:center; justify-content:space-between; gap:16px; }
#sk-join .join-wizard-controls [data-join-wizard-primary] { min-width:180px; }
#sk-join .join-wizard-error { margin:0 32px 24px; }
#sk-join .join-choice-grid[aria-invalid=true] { outline:1px solid var(--sk-status-error-border); outline-offset:6px; border-radius:8px; }
#sk-join .join-verification-card { max-width:680px; margin:auto; }
#sk-join .join-verification-card > .join-step-icon { margin-bottom:24px; }
#sk-join .join-verification-card .sk-button { margin-top:24px; }
#sk-join .join-verification-progress { height:4px; margin-top:24px; border-radius:4px; overflow:hidden; background:var(--sk-neutral-100); }
#sk-join .join-verification-progress span { display:block; height:100%; width:45%; background:var(--sk-brand-aviation); animation:join-check-progress 1100ms ease-in-out infinite alternate; }
#sk-join .join-verification-card.is-complete .join-verification-progress span { width:100%; animation:none; }
#sk-join .join-footer { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; width:100%; max-width:1200px; padding:20px 32px; margin:auto; color:var(--sk-text-secondary); font:400 .875rem/1.25rem var(--sk-font-body); }
#sk-join .join-footer a { display:flex; align-items:center; gap:8px; min-height:44px; }
#sk-join .join-skip-link { position:absolute; z-index:600; left:16px; top:8px; padding:12px; background:var(--sk-bg-surface); transform:translateY(-150%); }
#sk-join .join-skip-link:focus { transform:none; }
#sk-join .join-noscript { padding:16px; margin-top:16px; color:var(--sk-status-error-text); background:var(--sk-status-error-bg); border:1px solid var(--sk-status-error-border); border-radius:8px; }
@keyframes join-check-progress { from { transform:translateX(0); } to { transform:translateX(120%); } }
@media(max-width:900px) { #sk-join .join-identity-card { grid-template-columns:minmax(0,1fr); gap:32px; } #sk-join .join-brand-panel { display:none; } #sk-join .join-choice-grid-small { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) {
 #sk-join h1 { font-size:1.75rem; line-height:2.25rem; }
 #sk-join .join-topbar-inner { padding:12px 16px; gap:12px; min-height:72px; }
 #sk-join .join-brand img { width:70px; }
 #sk-join .join-brand span { display:none; }
 #sk-join .join-topbar-link { padding-inline:8px; }
 #sk-join .join-shell { padding:24px 16px; }
 #sk-join .join-card,#sk-join .join-identity-card { padding:24px; }
 #sk-join .join-wizard-card { padding:0; }
 #sk-join .join-wizard-header,#sk-join .join-wizard-stage { padding:24px 20px; }
 #sk-join .join-wizard-step-list { display:none; }
 #sk-join .join-step-heading { grid-template-columns:minmax(0,1fr); gap:12px; }
 #sk-join .join-profile-grid,#sk-join .join-summary-grid,#sk-join .join-choice-grid { grid-template-columns:minmax(0,1fr); }
 #sk-join .join-wizard-controls { padding:20px; flex-wrap:wrap; }
 #sk-join .join-wizard-controls [data-join-wizard-primary] { min-width:0; flex:1; }
 #sk-join .join-wizard-error { margin-inline:20px; }
 #sk-join .join-actions .sk-button { width:100%; }
 #sk-join .join-checks label { padding:16px; }
 #sk-join .join-verified-profile { padding:16px; }
 #sk-join .join-footer { padding:16px; }
}
/* Keep step 2 and its actions compact on shorter desktop viewports. */
@media(min-width:901px) and (max-height:850px) {
 #sk-join.join-wizard .join-shell { padding-block:16px; }
 #sk-join .join-wizard-header,#sk-join .join-wizard-stage { padding-block:16px; }
 #sk-join .join-wizard-header .join-eyebrow { margin-bottom:8px; }
 #sk-join .join-wizard-header .join-lead { margin-top:8px; }
 #sk-join .join-wizard-progress,#sk-join .join-wizard-step-list { margin-top:12px; }
 #sk-join [data-join-step="2"] .join-step-heading { margin-bottom:12px; }
 #sk-join .join-step-subsection + .join-step-subsection { margin-top:12px; }
 #sk-join [data-join-course] { padding-block:8px; }
 #sk-join .join-wizard-controls { padding-block:8px; }
}
@media(prefers-reduced-motion:reduce) { #sk-join *,#sk-join *::before,#sk-join *::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; } }
@media(forced-colors:active) { #sk-join .join-choice-card[aria-pressed=true] { border:2px solid Highlight; } }
