.ac-countdown {
  box-sizing: border-box;
  width: min(100%, var(--ac-width, 620px));
  margin: 0 auto;
  padding: 54px 18px 42px;
  background: var(--ac-bg, #fff);
  color: var(--ac-text, #111);
  font-family: var(--ac-font, Arial, Helvetica, sans-serif);
  text-align: center;
}
.ac-countdown *, .ac-countdown *::before, .ac-countdown *::after { box-sizing: border-box; }
.ac-logo { display: flex; align-items: center; justify-content: center; min-height: 28px; margin: 0 auto 76px; }
.ac-logo-img { display: block; width: auto; height: auto; max-width: min(var(--ac-logo-width, 260px), 100%); max-height: 120px; object-fit: contain; }
.ac-timer { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; gap: 10px; width: 100%; }
.ac-unit { display: flex; min-width: 0; flex-direction: column; align-items: center; }
.ac-number { color: var(--ac-text, #111); font-size: clamp(28px, var(--ac-number-size, 40px), 100px); line-height: 1.05; font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: -0.04em; }
.ac-label { margin-top: 12px; color: var(--ac-muted, #888); font-size: clamp(9px, var(--ac-label-size, 16px), 36px); line-height: 1.2; font-weight: 400; text-transform: uppercase; white-space: nowrap; }
.ac-intro, .ac-expired { margin: 82px 0 28px; color: var(--ac-text, #111); font-size: clamp(14px, var(--ac-intro-size, 18px), 40px); line-height: 1.45; font-weight: 400; }
.ac-form { display: flex; width: 100%; gap: 10px; margin: 0 auto; }
.ac-email { flex: 1 1 auto; min-width: 0; height: 46px; padding: 0 18px; border: 1px solid var(--ac-border, #c9c9c9); border-radius: 0; background: #fff; color: var(--ac-text, #111); font: inherit; font-size: 16px; box-shadow: inset 0 1px 2px rgba(0,0,0,.04); }
.ac-email::placeholder { color: #888; opacity: 1; text-transform: uppercase; }
.ac-submit { flex: 0 0 29%; min-width: 145px; min-height: 46px; padding: 10px 16px; border: 1px solid var(--ac-button-bg, #050505); border-radius: var(--ac-radius, 0px); background: var(--ac-button-bg, #050505); color: var(--ac-button-text, #fff); font: inherit; font-size: 16px; text-transform: uppercase; cursor: pointer; transition: opacity .15s ease; }
.ac-submit:hover { opacity: .82; }
.ac-submit:focus-visible, .ac-email:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.ac-notice { margin: 0 0 16px; font-size: 14px; line-height: 1.5; }
.ac-success { color: #267342; }
.ac-error { color: #a12626; }
.ac-hp, .ac-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.ac-expired { margin-bottom: 0; }
@media (max-width: 520px) {
  .ac-countdown { padding: 34px 16px; }
  .ac-logo { margin-bottom: 52px; }
  .ac-timer { gap: 4px; }
  .ac-number { font-size: clamp(25px, 8vw, var(--ac-number-size, 40px)); }
  .ac-label { margin-top: 9px; font-size: clamp(8px, 2.7vw, var(--ac-label-size, 16px)); letter-spacing: -.02em; }
  .ac-intro, .ac-expired { margin-top: 56px; margin-bottom: 22px; }
  .ac-form { flex-direction: column; gap: 9px; }
  .ac-email, .ac-submit { width: 100%; min-height: 46px; }
}
