/* ROHIUDOH — full-bleed editorial signup, same working Brevo backend. */
:root { font-family: Arial, Helvetica, sans-serif; font-synthesis:none; }
* { box-sizing: border-box; }
html, body { margin:0; min-height:100%; }
html { background:#141414; }
body { color:#fff; -webkit-font-smoothing:antialiased; }
input, button { font:inherit; border-radius:0; }

/* Two identical content runs make the ticker loop with no blank interruption. */
.announcement {
  position:relative; z-index:10; display:flex; align-items:center;
  height:43px; overflow:hidden; white-space:nowrap;
  background:#080808; color:#faf9f5; border-bottom:1px solid #262626;
  font-size:13px; font-weight:400; letter-spacing:-.12px;
}
.announcement-track {
  display:flex; align-items:center; width:max-content; flex:none;
  animation:marquee 55s linear infinite; will-change:transform;
}
.ticker-sequence { display:flex; align-items:center; flex:none; gap:0; }
.ticker-item { display:inline-flex; flex:none; align-items:center; padding:0 15px; }
.ticker-divider { display:inline-flex; align-items:center; justify-content:center; flex:none; padding:0 1px; opacity:.80; font-size:12px; }
@keyframes marquee { to { transform:translateX(-50%); } }

/* Image fills every edge of viewport: no framed portrait and no blurred gutters. */
.hero {
  position:relative; isolation:isolate; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  min-height:calc(100vh - 43px);
  min-height:calc(100svh - 43px);
  background:#261f1d url('rohiudoh-bg.jpg') center 49% / cover no-repeat;
  text-align:center;
}
.photo-scrim {
  position:absolute; z-index:-1; inset:0; pointer-events:none;
  background:linear-gradient(180deg, rgba(0,0,0,.14) 0%, rgba(0,0,0,.21) 38%, rgba(0,0,0,.32) 70%, rgba(0,0,0,.20) 100%);
}
.signup {
  position:relative; z-index:1; width:min(100% - 36px, 610px);
  margin:0 auto; transform:translateY(9vh);
}
.signup h1 { margin:0; font-size:clamp(21px,2vw,26px); letter-spacing:.015em; font-weight:600; line-height:1.2; text-shadow:0 2px 14px rgba(0,0,0,.80); }
.intro { margin:11px auto 0; font-size:clamp(13px,1.1vw,15px); line-height:1.5; font-weight:400; text-shadow:0 2px 10px rgba(0,0,0,.85); }
#signup-form { width:min(100%,545px); margin:19px auto 0; }
.form-line { display:flex; height:48px; width:100%; }
#email {
  display:block; min-width:0; flex:1 1 auto; padding:0 20px;
  border:1px solid #fff; background:#fff; color:#111;
  font-size:14px; outline:0; appearance:none; -webkit-appearance:none;
}
#email::placeholder { color:#6c6c6c; opacity:1; }
#email:focus-visible { outline:2px solid white; outline-offset:3px; }
#email[aria-invalid=true] { border-color:#d92c20; box-shadow:inset 0 0 0 1px #d92c20; }
#join-button {
  flex:0 0 142px; background:#e10600; border:1px solid #e10600;
  color:white; font-size:14px; font-weight:500; cursor:pointer;
  transition:background-color .2s ease;
}
#join-button:hover { background:#b90000; border-color:#b90000; }
#join-button:focus-visible { outline:2px solid #fff; outline-offset:3px; }
#join-button:disabled { opacity:.72; cursor:wait; }
.status { margin:12px auto 0; font-size:12px; line-height:1.4; font-weight:600; text-shadow:0 1px 9px #000; }
.status:empty { display:none; }
.footer-note {
  position:absolute; bottom:19px; left:22px; right:22px;
  font-size:10px; font-weight:500; letter-spacing:.10em;
  text-shadow:0 1px 9px #000;
}
.footer-note a,.home-link { color:#fff; text-underline-offset:4px; }
.home-link { display:inline-block; margin-top:31px; font-size:12px; }
.confirmation { transform:translateY(1vh); }
.honeypot,.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;
}
@media(max-width:650px) {
  .announcement { height:36px; font-size:11px; }
  .announcement-track { animation-duration:58s; }
  .ticker-item { padding:0 10px; }
  .hero { min-height:calc(100svh - 36px); background-position:center 48%; }
  .signup { width:min(100% - 28px,390px); transform:translateY(11vh); }
  .signup h1 { font-size:21px; }
  .intro { max-width:310px; font-size:12px; }
  #signup-form { margin-top:20px; }
  .form-line { height:46px; }
  #email { padding:0 13px; font-size:12px; }
  #join-button { flex-basis:100px; font-size:12px; }
  .footer-note { bottom:16px; font-size:9px; }
  .confirmation { transform:translateY(2vh); }
}
@media (prefers-reduced-motion: reduce) { .announcement-track { animation:none; } #join-button { transition:none; } }
