/* 报名页(/media-registration、/register,2026-10-18 改版):一进来就是表单。左边大图 + 一句话,右边白卡片表单 */
.reg { background: rgb(var(--night)); }
.reg__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 620px);
  min-height: calc(100svh - var(--header-h) + var(--top-gap));
}
.reg__visual { position: sticky; top: calc(var(--header-h) - var(--top-gap)); align-self: start; height: calc(100svh - var(--header-h) + var(--top-gap)); overflow: hidden; color: var(--paper); display: flex; align-items: flex-end; }
.reg__visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.reg__visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgb(var(--night) / 0.15) 0%, rgb(var(--night) / 0.35) 45%, rgb(var(--night) / 0.92) 100%); }
.reg__copy { position: relative; z-index: 1; padding: 40px clamp(28px, 4vw, 64px) 44px; max-width: 640px; }
.reg__kicker { font-family: var(--font-display); font-size: 14px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--accent-bright); }
.reg__title { margin-top: 12px; font-family: var(--font-display); font-weight: 700; font-size: clamp(34px, 3.1vw, 48px); line-height: 1.05; text-transform: uppercase; }
.reg__lede { margin-top: 16px; font-size: 18px; line-height: 1.55; color: rgb(255 255 255 / 0.85); max-width: 46ch; }
.reg__perks { list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 12px; }
.reg__perks li { display: flex; gap: 12px; align-items: baseline; font-size: 16px; line-height: 1.45; color: rgb(255 255 255 / 0.9); }
.reg__perks li::before { content: ""; flex: none; width: 14px; height: 2px; background: var(--accent-bright); transform: translateY(-4px); }
.reg__proof { margin-top: 28px; padding-top: 18px; border-top: 1px solid rgb(255 255 255 / 0.2); display: flex; flex-wrap: wrap; gap: 8px 28px; font-size: 14px; color: rgb(255 255 255 / 0.7); }
.reg__proof b { display: block; font-family: var(--font-display); font-size: 26px; color: var(--paper); font-weight: 700; }

.reg__panel { background: var(--paper); padding: 44px clamp(24px, 3.4vw, 56px) 48px; scroll-margin-top: var(--header-stuck-h); }
.reg__head h2 { font-family: var(--font-display); font-size: 30px; line-height: 1.15; font-weight: 700; }
.reg__head p { margin-top: 8px; font-size: 16px; line-height: 1.5; color: var(--muted); }
.reg__form { margin-top: 26px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px 14px; }
.reg__form > .full, .reg__form .role-group, .reg__form fieldset, .reg__form .reg__foot { grid-column: 1 / -1; }
.reg__form .role-group:not([hidden]) { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 14px; }
.reg__form .role-group .field--wide, .reg__form .role-group .field--link { grid-column: 1 / -1; }
.reg .field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.reg .field > span { font-size: 13px; font-weight: 700; letter-spacing: 0.02em; color: var(--ink); }
.reg .field input, .reg .field select, .reg .field textarea, .reg .country-pick__input {
  width: 100%;
  min-height: 48px;
  padding: 11px 14px;
  border: 1px solid #cfd6da;
  border-radius: 10px;
  background: #fff;
  font: inherit;
  font-size: 16px;
  color: var(--ink);
  box-shadow: none;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.reg .field textarea { min-height: 90px; resize: vertical; }
.reg .field select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23333' stroke-width='1.6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 38px; }
.reg .field input:focus, .reg .field select:focus, .reg .field textarea:focus, .reg .country-pick__input:focus { outline: none; border-color: var(--map-ink); box-shadow: 0 0 0 3px rgb(var(--map-glow) / 0.22); }
.reg fieldset { margin: 6px 0 0; padding: 0; border: 0; min-width: 0; }
.reg legend { padding: 0; font-size: 13px; font-weight: 700; letter-spacing: 0.02em; }
.reg legend small { font-weight: 400; color: var(--muted); letter-spacing: 0; }
.reg__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.reg__chip { position: relative; display: inline-flex; cursor: pointer; }
.reg__chip input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.reg__chip span { display: inline-flex; align-items: center; gap: 7px; padding: 8px 14px; border: 1px solid #cfd6da; border-radius: 999px; font-size: 14.5px; line-height: 1.2; transition: background 0.15s, border-color 0.15s, color 0.15s; }
.reg__chip span::before { content: ""; width: 14px; height: 14px; border: 1.5px solid #9aa6ac; border-radius: 4px; flex: none; transition: inherit; }
.reg__chip input:checked + span { background: rgb(var(--map-glow) / 0.1); border-color: var(--map-ink); color: var(--ink); }
.reg__chip input:checked + span::before { background: var(--map-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='8'%3E%3Cpath d='M1 4l3 3 5-6' fill='none' stroke='white' stroke-width='1.8'/%3E%3C/svg%3E") center/10px no-repeat; border-color: var(--map-ink); }
.reg__chip input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 2px; }
@media (hover: hover) { .reg__chip:hover span { border-color: var(--map-ink); } }
.reg__error { margin-top: 8px; font-size: 14px; color: var(--danger); }
.reg details.reg__more summary { cursor: pointer; font-size: 14px; font-weight: 700; color: var(--map-ink); list-style: none; }
.reg details.reg__more summary::-webkit-details-marker { display: none; }
.reg details.reg__more summary::before { content: "+ "; }
.reg details.reg__more[open] summary::before { content: "− "; }
.reg__foot { margin-top: 6px; }
.reg__consent { font-size: 13.5px; line-height: 1.5; color: var(--muted); }
.reg__consent a { color: var(--map-ink); }
.reg__submit {
  margin-top: 14px; width: 100%; min-height: 54px; border: 0; border-radius: 12px;
  background: var(--map-btn); color: var(--paper); font: inherit; font-size: 17px; font-weight: 800; letter-spacing: 0.02em; cursor: pointer;
  transition: background 0.2s, transform 0.2s;
}
@media (hover: hover) { .reg__submit:hover { background: var(--map-btn-hover); } }
.reg__submit:disabled { opacity: 0.6; cursor: progress; }
.reg .loop-form__status { margin-top: 12px; padding: 12px 14px; border-radius: 10px; background: rgb(var(--map-glow) / 0.1); font-size: 15px; }
.reg .loop-form__status.is-error { background: rgb(180 35 24 / 0.08); color: var(--danger); }
.reg__alt { margin-top: 18px; font-size: 14px; color: var(--muted); }
.reg__alt a { color: var(--map-ink); font-weight: 700; }
.reg--brand .reg__submit { background: var(--ink); }
@media (hover: hover) { .reg--brand .reg__submit:hover { background: #222; } }

@media (max-width: 1000px) {
  .reg__layout { grid-template-columns: 1fr; min-height: 0; }
  .reg__visual { position: relative; top: 0; height: auto; min-height: 0; }
  .reg__copy { padding: 34px 24px 26px; }
  .reg__perks, .reg__proof { display: none; }
  .reg__title { font-size: 34px; }
  .reg__lede { font-size: 16px; margin-top: 10px; }
  .reg__panel { padding: 28px 20px 40px; }
}
@media (max-width: 560px) {
  .reg__form .role-group:not([hidden]) { grid-template-columns: 1fr; }
  .reg__head h2 { font-size: 26px; }
}
@media (max-height: 820px) and (min-width: 1001px) { .reg__proof { display: none; } .reg__lede { font-size: 16px; } }

/* 活动页上的「选报名入口」(CES 2027 等) */
.reg-choose { padding-block: 88px 96px; background: var(--mist); scroll-margin-top: var(--header-stuck-h); }
.reg-choose__title { margin-top: 10px; font-family: var(--font-display); font-size: clamp(30px, 3vw, 42px); line-height: 1.15; font-weight: 700; }
.reg-choose__lede { margin-top: 12px; max-width: 62ch; font-size: 18px; line-height: 1.55; color: var(--muted); }
.reg-choose__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 32px; }
.reg-choose__card { position: relative; display: flex; flex-direction: column; gap: 10px; min-height: 220px; padding: 32px 34px; border-radius: 16px; background: var(--paper); color: var(--ink); text-decoration: none; box-shadow: 0 1px 0 rgb(0 0 0 / 0.06); transition: transform 0.25s, box-shadow 0.25s; }
.reg-choose__card--media { background: rgb(var(--night)); color: var(--paper); }
.reg-choose__kicker { font-family: var(--font-display); font-size: 14px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--map-ink); }
.reg-choose__card--media .reg-choose__kicker { color: var(--accent-bright); }
.reg-choose__name { font-family: var(--font-display); font-size: 32px; line-height: 1.1; font-weight: 700; }
.reg-choose__text { max-width: 40ch; font-size: 17px; line-height: 1.5; color: var(--muted); }
.reg-choose__card--media .reg-choose__text { color: rgb(255 255 255 / 0.78); }
.reg-choose__go { margin-top: auto; font-size: 28px; color: var(--map-ink); transition: transform 0.25s; }
.reg-choose__card--media .reg-choose__go { color: var(--accent-bright); }
@media (hover: hover) { .reg-choose__card:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgb(0 0 0 / 0.12); } .reg-choose__card:hover .reg-choose__go { transform: translateX(8px); } }
@media (max-width: 767px) { .reg-choose { padding-block: 56px 64px; } .reg-choose__grid { grid-template-columns: 1fr; } .reg-choose__card { min-height: 0; padding: 26px 22px; } .reg-choose__name { font-size: 26px; } }
@media (max-width: 560px) {
  .reg__form { grid-template-columns: 1fr 1fr; }
  .reg__form > .field:not(.half) { grid-column: 1 / -1; }
  .reg__lede { display: none; }
}
