.press-accreditation-page{
  --press-blue:#065ca9;
  --press-dark:#2c2c34;
  --press-red:#d71920;
  --press-paper:#f4f7fa;
  --press-muted:#5d6a79;
  --press-line:rgba(6,92,169,.17);
  color:#182432;
  background:var(--press-paper);
}

.press-accreditation-page *{box-sizing:border-box}
.press-accreditation-page [hidden]{display:none!important}

.press-accreditation-hero{
  color:#fff;
  background:linear-gradient(120deg,#065ca9,#173b62 62%,#2c2c34);
}

.press-accreditation-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
  gap:clamp(28px,5vw,70px);
  align-items:center;
  padding-top:clamp(48px,5vw,72px);
  padding-bottom:clamp(48px,5vw,72px);
}

.press-accreditation-hero h1{
  margin:0 0 20px;
  font-size:clamp(2.8rem,6vw,5.2rem);
  line-height:.98;
  text-transform:uppercase;
}

.press-accreditation-hero p:last-child{
  max-width:760px;
  margin:0;
  color:#e4edf6;
  font-size:clamp(1rem,1.7vw,1.16rem);
  line-height:1.75;
}

.press-accreditation-kicker{
  margin:0 0 10px;
  color:#dcecff;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.press-accreditation-hero img{
  display:block;
  width:100%;
  aspect-ratio:1075 / 697;
  object-fit:cover;
  border:1px solid rgba(255,255,255,.28);
  border-radius:24px;
  box-shadow:0 24px 60px rgba(0,0,0,.28);
}

.press-accreditation-main{padding:clamp(42px,6vw,78px) 0}
.press-accreditation-wrap{max-width:1050px}

.accreditation-season-info,
.consent-gate,
.press-accreditation-form,
.accreditation-result{
  overflow:hidden;
  padding:clamp(24px,4vw,42px);
  border:1px solid var(--press-line);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 52px rgba(16,45,77,.12);
}

#main-content .accreditation-season-info strong {
  font-weight: 700;
}

.accreditation-season-info{margin-bottom:28px}
.accreditation-season-info h2{margin:0 0 18px;color:var(--press-dark);font-size:clamp(1.8rem,4vw,3rem);line-height:1.08}
.accreditation-season-info p{margin:0;line-height:1.75}
.accreditation-season-info p+p{margin-top:14px}
.accreditation-season-info a{color:var(--press-blue);font-weight:700}
.accreditation-season-info a:hover,.accreditation-season-info a:focus-visible{text-decoration:underline}
.accreditation-waiting-time{color:var(--press-dark);font-weight:700}
.consent-gate>.press-accreditation-kicker{color:var(--press-red)}
.consent-gate h2,.accreditation-result h2{margin:0 0 16px;color:var(--press-dark);font-size:clamp(1.8rem,4vw,3rem);line-height:1.08}
.consent-gate>p{line-height:1.75}
.consent-details{margin:24px 0;padding:22px;border-left:5px solid var(--press-blue);border-radius:14px;background:#f1f7fd}
.consent-details h3{margin:0 0 12px;color:var(--press-blue)}
.consent-details ul{margin:0;padding-left:22px}
.consent-details li+li{margin-top:8px}
.consent-details p{margin:16px 0 0;line-height:1.7}
.consent-gate fieldset,.press-accreditation-form fieldset{min-width:0;margin:0;border:0;padding:0}
.consent-gate legend{font-size:1.1rem;font-weight:700}
.consent-gate b,.press-accreditation-form b{color:var(--press-red)}
.consent-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:18px}

.consent-choice,.form-button{
  display:inline-flex;
  min-height:50px;
  align-items:center;
  justify-content:center;
  padding:13px 22px;
  border:1px solid transparent;
  border-radius:12px;
  color:#fff;
  background:var(--press-blue);
  font:inherit;
  font-weight:700;
  text-decoration:none;
  cursor:pointer;
  transition:transform 180ms ease,filter 180ms ease,background-color 180ms ease;
}

.consent-choice--no,.form-button--secondary{border-color:#c8d2dd;color:var(--press-dark);background:#fff}
.consent-choice:hover,.form-button:hover{filter:brightness(.94);transform:translateY(-1px)}
.consent-choice:focus-visible,.form-button:focus-visible,.press-accreditation-form input:focus-visible{outline:3px solid rgba(6,92,169,.3);outline-offset:3px}
.consent-choice:disabled{opacity:.58;cursor:not-allowed}
.consent-exit-message{margin-top:18px!important;color:#a4141a;font-weight:700}

.form-progress{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:0 0 34px;
  padding:0;
  list-style:none;
}

.form-progress li{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid var(--press-line);border-radius:14px;color:var(--press-muted);background:#f8fafc;font-weight:700}
.form-progress span{display:grid;flex:0 0 30px;height:30px;place-items:center;border-radius:50%;color:#fff;background:#8b98a6}
.form-progress .is-active{border-color:var(--press-blue);color:var(--press-blue);background:#eef6fd}
.form-progress .is-active span,.form-progress .is-complete span{background:var(--press-blue)}
.form-progress .is-complete{color:#315a7d}

.form-step>legend{width:100%;margin:0 0 8px;color:var(--press-dark);font-size:clamp(1.55rem,3vw,2.25rem);font-weight:700}
.form-step>legend span{display:inline-grid;width:38px;height:38px;place-items:center;border-radius:50%;color:#fff;background:var(--press-blue);font-size:1.05rem}
.step-intro{margin:0 0 26px;color:var(--press-muted)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full,.choice-group.full{grid-column:1/-1}
.field label,.choice-group>legend{font-weight:700}
.field small{color:var(--press-muted)}

.press-accreditation-form input[type="text"],
.press-accreditation-form input[type="email"],
.press-accreditation-form input[type="tel"]{
  width:100%;
  min-height:48px;
  padding:11px 13px;
  border:1px solid #b8c5d2;
  border-radius:9px;
  color:#182432;
  background:#fff;
  font:inherit;
}

.press-accreditation-form input:user-invalid{border-color:var(--press-red)}
.choice-group{margin:24px 0 0!important;padding:22px!important;border:1px solid var(--press-line)!important;border-radius:16px!important;background:#f8fafc}
.choice-group>legend{padding:0 8px}
.choice-group>label,.choice-grid label,.inline-choices label,.confirmation-list label{display:flex;gap:10px;align-items:flex-start;line-height:1.55}
.choice-group>label+label{margin-top:12px}
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 22px}
.inline-choices{display:flex;gap:26px}
.press-accreditation-form input[type="radio"],.press-accreditation-form input[type="checkbox"]{flex:0 0 20px;width:20px;height:20px;margin-top:2px;accent-color:var(--press-blue)}
.parking-plate{max-width:420px;margin-top:18px}
.confirmation-list{display:grid;gap:14px;margin-top:24px;padding:22px;border-left:5px solid var(--press-red);border-radius:14px;background:#fff7f7}
.form-navigation{display:flex;justify-content:flex-end;gap:12px;margin-top:30px;padding-top:24px;border-top:1px solid var(--press-line)}
.form-status{min-height:26px;margin:14px 0 0;color:#23643a;font-weight:700}
.form-status.is-error{color:#a4141a}
.form-button:disabled{opacity:.58;cursor:wait;transform:none}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.accreditation-result{text-align:center}
.accreditation-result p{max-width:720px;margin:0 auto 20px;color:var(--press-muted);line-height:1.7}
.accreditation-result strong{display:block;margin:18px 0;color:var(--press-blue);font-size:clamp(2rem,6vw,4rem);letter-spacing:.12em}

@media(max-width:1080px){
  .press-accreditation-hero-grid{grid-template-columns:1fr}
  .press-accreditation-hero img{max-width:720px}
}

@media(max-width:760px){
  .form-progress,.form-grid,.choice-grid{grid-template-columns:1fr}
  .field.full,.choice-group.full{grid-column:auto}
  .form-progress li{font-size:.82rem}
  .form-navigation{flex-direction:column-reverse}
  .form-button{width:100%}
}

@media(max-width:520px){
  .press-accreditation-main{padding-top:28px}
  .consent-actions,.inline-choices{flex-direction:column}
  .consent-choice{width:100%}
  .form-progress{gap:6px}
  .form-progress li{justify-content:center;padding:10px 6px;font-size:0}
  .form-progress li span{font-size:1rem}
}