/* Home only: mobile first, using the shared form styles and brand variables. */
.home-intro-video .videobox{max-width:none;width:100%}
.home-video-frame{position:relative;min-width:0;width:100%;aspect-ratio:16/9;border-radius:19px;overflow:hidden;background:#000}
.home-video-frame img,.home-video-frame iframe{display:block;width:100%;height:100%;border:0;object-fit:cover}
.home-video-frame button{position:absolute;inset:0;margin:auto;width:max-content;max-width:calc(100% - 24px);height:max-content;min-height:48px;padding:12px 24px;border:2px solid var(--white);border-radius:28px;background:var(--blue-ink);color:var(--white);font:inherit;font-weight:700;cursor:pointer}
.home-video-frame button:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.home-video-frame button[hidden]{display:none}
.home-video-chapters[hidden]{display:none!important}
.home-video-chapters{margin-top:24px;min-width:0}
.home-video-chapters h3{color:var(--blue-ink);font-size:1.15rem;margin-bottom:12px}
.home-video-chapters ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.home-video-chapters li{min-width:0}
.home-video-chapters button{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:12px;width:100%;min-width:0;min-height:44px;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:var(--white);color:var(--blue-ink);font:inherit;text-align:start;cursor:pointer}
.home-video-chapters button span{min-width:0;overflow-wrap:anywhere}
.home-video-chapters button bdi{font-variant-numeric:tabular-nums}
.home-video-chapters button[aria-current="true"]{border-color:var(--blue-ink);background:var(--blue-ink);color:var(--white);font-weight:700}
.early-registration [hidden]{display:none!important}
.early-deadline{color:var(--ink);font-weight:600}
.early-deadline bdi{white-space:nowrap}
.early-form{min-width:0}
.early-group{border:0;padding:0;margin:24px 0;min-width:0}
.early-group > legend,.early-child > legend,.early-children-title{font-size:1.15rem;font-weight:700;color:var(--blue-ink)}
.early-group > legend{padding:0}
.early-note,.early-group > .hint{color:var(--ink-2);font-size:.9rem;margin-bottom:16px}
.early-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:0 20px;margin-top:16px}
.early-fields .field{min-width:0}
.early-fields input,.early-fields select,.early-fields textarea{min-width:0;min-height:48px;unicode-bidi:isolate}
.early-fields select{appearance:none;padding-inline-end:38px;background-image:linear-gradient(45deg,transparent 50%,var(--blue-ink) 50%),linear-gradient(135deg,var(--blue-ink) 50%,transparent 50%);background-position:18px 50%,23px 50%;background-size:5px 5px;background-repeat:no-repeat}
.early-child{min-width:0;border:1px solid var(--line);border-radius:20px;margin:20px 0;padding:12px 14px;background:var(--white)}
.early-child > legend{padding:0 8px;max-width:100%}
.early-form .btn{min-height:48px;max-width:100%;white-space:normal;text-align:center;cursor:pointer}
.early-form .btn-primary{background:var(--blue-ink)}
.early-form .btn:disabled{opacity:.55;cursor:default;transform:none}
.early-remove{display:flex;margin-inline-start:auto;padding:8px 18px;font-size:.9rem}
.early-add{width:100%;margin:4px 0 12px}
.early-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.early-actions .btn{flex:1 1 240px;padding:13px 18px}
.early-status{min-height:1.75em;margin-top:16px;color:var(--blue-ink);font-weight:600;overflow-wrap:anywhere}
/* Native dialog supplies focus trapping and an inert background. */
.early-hp{position:fixed;inset-inline-start:-10000px;width:1px;height:1px;overflow:hidden}
.early-dialog{box-sizing:border-box;width:calc(100% - 24px);max-width:640px;max-height:calc(100dvh - 32px);overflow-y:auto;overflow-x:hidden;border:1px solid var(--line);border-radius:20px;padding:20px;margin:auto;background:var(--white);color:var(--ink);font:inherit;text-align:start;overflow-wrap:anywhere}
.early-dialog::backdrop{background:rgb(0 0 0 / .55)}
.early-dialog h3{color:var(--blue-ink);font-size:1.3rem}
.early-summary h4{color:var(--blue-ink);font-size:1.1rem;margin:20px 0 8px}
.early-summary dl{margin:0;display:grid;grid-template-columns:minmax(0,1fr);gap:4px}
.early-summary dt{font-weight:600;color:var(--ink-2)}
.early-summary dd{margin:0 0 12px;min-width:0;white-space:pre-wrap;unicode-bidi:isolate}
.early-dialog .early-status{white-space:pre-wrap}
.early-repair{display:block;width:100%;min-height:44px;margin-top:8px;border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--white);color:var(--ink);font:inherit;text-align:start;overflow-wrap:anywhere;cursor:pointer}
.early-repair:focus-visible{outline:3px solid var(--blue-ink);outline-offset:2px}
.early-dialog .btn:focus-visible{outline:3px solid var(--blue-ink);outline-offset:3px}
@media(min-width:700px){
  .early-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .early-wide{grid-column:1/-1}
  .early-child{padding:16px 24px}
  .early-add{width:auto}
}
