/* Zeovoice v196 · supplied artwork / full-color auth heroes / premium registration. */
/* Artwork source: user's three approved originals, in requested page order.
   Do not place an image-darkening gradient, filter, or full-surface veil. */
body.z55-premium.page-register main > section.public-auth-hero {
  background-image:url('/assets/heroes/v196/register.webp')!important;
}
body.z55-premium.page-login:not(.page-recovery) main > section.public-auth-hero {
  background-image:url('/assets/heroes/v196/login.webp')!important;
}
body.z55-premium.page-recovery main > section.public-auth-hero {
  background-image:url('/assets/heroes/v196/forgot-password.webp')!important;
}
body.z55-premium:is(.page-login,.page-register) main > section.public-auth-hero {
  background-color:#0c244c!important;background-repeat:no-repeat!important;
  background-position:center center!important;background-size:cover!important;
  background-blend-mode:normal!important;filter:none!important;
  padding:clamp(160px,18vh,200px) 0 76px!important;
  min-height:100svh!important;isolation:isolate!important;
}
body.z55-premium:is(.page-login,.page-register) main > section.public-auth-hero::before,
body.z55-premium:is(.page-login,.page-register) main > section.public-auth-hero::after {
  content:none!important;display:none!important;background:none!important;
}
/* Mirror the public navigation's 1360px shell and desktop 44px gutters exactly. */
@media(min-width:1081px){
  body.z55-premium:is(.page-login,.page-register) .public-auth-grid {
    width:min(1360px,calc(100% - 88px))!important;
    max-width:1360px!important;
  }
}
body.z55-premium:is(.page-login,.page-register) .public-auth-grid {
  grid-template-columns:minmax(0,1fr) minmax(390px,470px)!important;
  gap:clamp(28px,4vw,64px)!important;align-items:start!important;
  justify-content:space-between!important;
}
body.z55-premium:is(.page-login,.page-register) .public-auth-copy {
  min-width:0!important;max-width:680px!important;padding:12px 0 0!important;
  margin:0!important;justify-self:start!important;text-align:left!important;
  text-shadow:0 3px 15px rgba(0,12,35,.52)!important;
}
body.z55-premium:is(.page-login,.page-register) .public-auth-copy :is(h1,p,.eyebrow) {
  text-align:left!important;
}
body.z55-premium:is(.page-login,.page-register) .public-auth-copy h1 {
  max-width:675px!important;font-size:clamp(44px,4.5vw,74px)!important;
  line-height:1.055!important;letter-spacing:-.051em!important;
}
body.z55-premium:is(.page-login,.page-register) .public-auth-copy>p {
  max-width:570px!important;line-height:1.65!important;
  font-size:clamp(16px,1.3vw,19px)!important;
}
/* Register: tighten the card without hiding fields or reducing touch targets. */
body.z55-premium.page-register .public-auth-card {
  width:100%!important;max-width:480px!important;justify-self:end!important;
  padding:27px 30px 24px!important;
  border-radius:24px!important;
  border:1px solid rgba(255,255,255,.91)!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 24px 72px rgba(4,19,48,.24),0 3px 14px rgba(4,19,48,.08)!important;
  backdrop-filter:blur(12px)!important;
}
body.z55-premium.page-register .public-auth-card h2 {
  font-size:clamp(30px,2.3vw,38px)!important;line-height:1.07!important;
  margin:0 0 7px!important;letter-spacing:-.045em!important;
}
body.z55-premium.page-register .public-auth-card>p {
  margin:0 0 18px!important;font-size:13.5px!important;
  line-height:1.48!important;color:#53708b!important;
}
body.z55-premium.page-register .public-auth-card form {
  display:block!important;margin:0!important;min-width:0!important;
}
body.z55-premium.page-register .public-auth-card .auth-row {
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:11px!important;align-items:start!important;
}
body.z55-premium.page-register .public-auth-card .form-group {
  min-width:0!important;margin-bottom:12px!important;
}
body.z55-premium.page-register .public-auth-card .form-group>label {
  display:block!important;font-size:12px!important;line-height:1.25!important;
  font-weight:800!important;letter-spacing:.004em!important;
  color:#25425f!important;margin:0 0 5px!important;
}
body.z55-premium.page-register .public-auth-card :is(input:not([type=checkbox]),textarea) {
  display:block!important;box-sizing:border-box!important;
  height:44px!important;min-height:44px!important;width:100%!important;
  background:#fbfdff!important;border:1px solid #cddfec!important;
  border-radius:11px!important;padding:0 12px!important;
  color:#132a43!important;-webkit-text-fill-color:#132a43!important;
  box-shadow:inset 0 1px 2px rgba(5,35,73,.02)!important;
  font-size:14px!important;line-height:1.4!important;
}
body.z55-premium.page-register .public-auth-card :is(input:not([type=checkbox]),textarea):focus {
  border-color:#398de9!important;background:#fff!important;
  box-shadow:0 0 0 3px rgba(48,139,232,.12)!important;
}
body.z55-premium.page-register .public-auth-card .show-pass-wrap{
  display:flex!important;align-items:center!important;min-width:0!important;
}
body.z55-premium.page-register .public-auth-card .show-pass-btn{
  min-height:35px!important;height:35px!important;padding:6px 10px!important;
  border-radius:8px!important;font-size:12px!important;
}
/* Legal consent is a single, readable two-column row; links remain inline. */
body.z55-premium.page-register .public-auth-card label.policy-check {
  box-sizing:border-box!important;display:grid!important;
  grid-template-columns:20px minmax(0,1fr)!important;
  align-items:start!important;justify-content:start!important;
  column-gap:11px!important;row-gap:0!important;width:100%!important;
  min-height:0!important;margin:3px 0 15px!important;padding:0!important;
  cursor:pointer!important;color:#46617b!important;
}
body.z55-premium.page-register .public-auth-card label.policy-check input[type=checkbox] {
  display:block!important;appearance:auto!important;accent-color:#117ce0!important;
  box-sizing:border-box!important;position:static!important;
  width:19px!important;height:19px!important;min-width:19px!important;min-height:19px!important;
  margin:2px 0 0!important;padding:0!important;align-self:start!important;
  border:1px solid #91a9bd!important;border-radius:5px!important;
  background:#fff!important;box-shadow:none!important;
}
body.z55-premium.page-register .public-auth-card label.policy-check>span {
  display:block!important;width:auto!important;min-width:0!important;
  line-height:1.48!important;font-size:12.25px!important;
  font-weight:590!important;color:#4d6681!important;
}
body.z55-premium.page-register .public-auth-card label.policy-check a {
  display:inline!important;min-width:0!important;min-height:0!important;
  padding:0!important;margin:0!important;line-height:inherit!important;
  vertical-align:baseline!important;
  font-size:inherit!important;font-weight:780!important;
  color:#086ebc!important;text-decoration:underline!important;
  text-underline-offset:2px!important;
}
body.z55-premium.page-register .public-auth-card .auth-submit{
  margin:0!important;height:46px!important;min-height:46px!important;
  border-radius:11px!important;font-size:14px!important;
  box-shadow:0 12px 25px rgba(20,111,220,.17)!important;
}
body.z55-premium.page-register .public-auth-card .auth-links{
  margin-top:15px!important;padding-top:13px!important;
  border-top:1px solid #e5edf5!important;
  gap:10px!important;line-height:1.4!important;font-size:12.5px!important;
}
body.z55-premium.page-register .public-auth-card .auth-links a{
  min-height:0!important;padding:2px 0!important;display:inline!important;
  font-size:inherit!important;
}
/* Tablet/mobile: copy stays on the same horizontal axis as the nav logo. */
@media(max-width:1080px){
  body.z55-premium:is(.page-login,.page-register) .public-auth-grid{
    width:calc(100% - 32px)!important;max-width:none!important;
    grid-template-columns:minmax(0,1fr) minmax(325px,.9fr)!important;
    gap:28px!important;
  }
  body.z55-premium:is(.page-login,.page-register) .public-auth-copy h1{
    font-size:clamp(40px,5.15vw,56px)!important;
  }
}
@media(max-width:980px){
  body.z55-premium:is(.page-login,.page-register) .public-auth-grid{
    grid-template-columns:1fr!important;gap:28px!important;
  }
  body.z55-premium:is(.page-login,.page-register) .public-auth-card{
    justify-self:start!important;width:min(100%,510px)!important;
  }
}
@media(max-width:760px){
  body.z55-premium:is(.page-login,.page-register) main>section.public-auth-hero{
    padding:112px 0 62px!important;
    background-size:auto 900px!important;
    background-position:32% top!important;
    background-repeat:no-repeat!important;
    background-color:#081a37!important;
  }
  body.z55-premium:is(.page-login,.page-register) .public-auth-grid{
    width:calc(100% - 30px)!important;gap:26px!important;
  }
  body.z55-premium:is(.page-login,.page-register) .public-auth-copy{
    padding:10px 0 0!important;max-width:100%!important;
    text-shadow:0 3px 14px rgba(0,10,31,.86)!important;
  }
  body.z55-premium:is(.page-login,.page-register) .public-auth-copy h1{
    font-size:clamp(37px,9.3vw,50px)!important;line-height:1.075!important;
  }
  body.z55-premium:is(.page-login,.page-register) .public-auth-copy>p{
    font-size:16px!important;line-height:1.6!important;
  }
  body.z55-premium.page-register .public-auth-card{
    padding:24px 22px 21px!important;border-radius:22px!important;
  }
  body.z55-premium.page-register .public-auth-card .auth-row{
    grid-template-columns:1fr!important;gap:0!important;
  }
  body.z55-premium.page-register .public-auth-card label.policy-check{
    grid-template-columns:19px minmax(0,1fr)!important;gap:10px!important;
  }
}
@media(max-width:370px){
  body.z55-premium:is(.page-login,.page-register) .public-auth-grid{
    width:calc(100% - 26px)!important;
  }
  body.z55-premium:is(.page-login,.page-register) .public-auth-copy h1{
    font-size:clamp(34px,9.8vw,38px)!important;
  }
  body.z55-premium.page-register .public-auth-card{padding:20px 17px!important;}
}
@media(prefers-reduced-motion:reduce){
  body.z55-premium:is(.page-login,.page-register) .public-auth-card{
    backdrop-filter:none!important;
  }
}
/* v196 measured finishing pass: match the actual nav logo left edge at 1648/1200 widths. */
@media(min-width:1081px){
  body.z55-premium:is(.page-login,.page-register) .public-auth-grid{
    width:min(1500px,calc(100% - 32px))!important;
    max-width:1500px!important;
  }
}
/* The left side of each supplied illustration is naturally blue.
   Shift mobile crop into that clear region instead of darkening the image. */
@media(max-width:760px){
  body.z55-premium:is(.page-login,.page-register) main>section.public-auth-hero{
    background-position:13% top!important;
  }
}
/* On the natural vivid-blue mobile crop, keep the emphasized word legible. */
@media(max-width:760px){
  body.z55-premium:is(.page-login,.page-register) .public-auth-copy h1 .z46-hero-emphasis{
    background:linear-gradient(100deg,#c2fcff,#93ebff)!important;
    -webkit-background-clip:text!important;background-clip:text!important;
    -webkit-text-fill-color:transparent!important;
  }
}
/* Final mobile readability: light cyan emphasis against the bright natural blue. */
@media(max-width:760px){
  body.z55-premium.z52-unified:is(.page-register,.page-login) #main-content
  .public-auth-copy h1 span.z46-hero-emphasis{
    background:none!important;background-image:none!important;
    color:#b6faff!important;-webkit-text-fill-color:#b6faff!important;
    text-shadow:0 2px 10px rgba(1,17,44,.48)!important;
  }
}
/* v197: repair the inherited dark text-shadow over transparent gradient glyphs.
   Apply the canonical homepage cyan-to-blue gradient to the three auth heroes,
   while preserving each full-color image and the existing underline. */
body.z55-premium.z52-unified:is(.page-register,.page-login) #main-content
.public-auth-copy h1 span.z46-hero-emphasis {
  color:#58dfff!important;
  background:linear-gradient(96deg,#6defff 0%,#48caff 38%,#4f91ff 78%,#7c72ff 112%)!important;
  -webkit-background-clip:text!important;background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  text-shadow:none!important;
  filter:none!important;opacity:1!important;mix-blend-mode:normal!important;
}
@media(max-width:760px){
  body.z55-premium.z52-unified:is(.page-register,.page-login) #main-content
  .public-auth-copy h1 span.z46-hero-emphasis {
    background:linear-gradient(96deg,#b0fbff 0%,#73e8ff 38%,#78baff 78%,#b5a7ff 112%)!important;
    -webkit-background-clip:text!important;background-clip:text!important;
    -webkit-text-fill-color:transparent!important;text-shadow:none!important;filter:none!important;
  }
}
