/* Sign-in screen (design A / phone A2): newspaper masthead like Mark's service area pages + sliding photo columns.
   Everything is scoped under .sx so it never touches the rest of the app. Phone = one screen, never scrolls. */
.sx{padding:0!important;margin:0;--ink:#17171a;--red:#ED1C24;--redd:#c4141b;--hair:#f0d9db;--line:#e7e2dc;background:#fff;color:var(--ink);font:600 15px/1.45 "Bricolage Grotesque",system-ui,sans-serif;display:grid;grid-template-rows:auto 1fr;min-height:100vh}
.sx img{display:block}
.sx-glow{position:fixed;top:0;left:0;right:0;z-index:9;height:3px;background:var(--red);box-shadow:0 0 14px 2px rgba(237,28,36,.65)}

/* photo wall */
.sx-wall{position:relative;height:300px;overflow:hidden;background:#0b0b0b}
.sx-cols{display:grid;grid-template-columns:1fr 1.45fr 1fr;gap:8px;padding:0 8px;height:100%;transform:rotate(-3deg) scale(1.12)}
.sx-col{overflow:hidden}
.sx-vt{display:flex;flex-direction:column;gap:8px;animation:sx-up var(--t) linear infinite;will-change:transform}
.sx-col.dn .sx-vt{animation-direction:reverse}
.sx-vt img{width:100%;aspect-ratio:26/33;object-fit:cover;border-radius:12px;background:#222}
@keyframes sx-up{to{transform:translateY(-50%)}}
.sx-wall:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,11,0) 60%,rgba(11,11,11,.7));pointer-events:none}
.sx-tags{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;display:grid;grid-template-columns:1fr 1.45fr 1fr;gap:8px;text-align:center}
.sx-tags span{justify-self:center;background:#fff;border-radius:999px;padding:4px 11px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--redd);font-weight:800}

/* newspaper side */
.sx-paper{container-type:inline-size;padding:18px 18px calc(24px + env(safe-area-inset-bottom));width:100%;max-width:680px;margin:0 auto}
.sx-mast{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sx-logo{display:inline-flex;align-items:center;gap:10px;font-family:"Bebas Neue";font-size:24px;letter-spacing:.06em;color:var(--ink);text-decoration:none}
.sx-logo img{height:34px;width:auto;background:#0b0b0b;border-radius:8px;padding:4px}.sx-logo i{font-style:normal;color:var(--red)}
.sx-ed{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:800}
.sx-kick{display:flex;justify-content:space-between;gap:12px;font-size:10.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;border-bottom:2px solid var(--ink);padding:14px 0 10px;margin-bottom:8px;white-space:nowrap}
.sx-kick .r{color:var(--redd)}.sx-wide{display:none}
.sx h1.sx-h{font-family:"Bebas Neue";font-weight:400;font-size:12.6cqi;line-height:.94;letter-spacing:.01em;margin:0;white-space:nowrap;color:var(--ink)}
.sx-h .r{color:var(--red)}.sx-h .o{color:transparent;-webkit-text-stroke:2px var(--ink)}
.sx-sub{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-top:1px solid var(--hair);margin-top:8px;padding-top:10px;white-space:nowrap}
.sx-tag{font-family:Lora;font-style:italic;font-weight:400;font-size:min(19px,4.6cqi);color:var(--redd)}
.sx-loc{font-size:min(10.5px,2cqi);font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.sx-desc{font-size:min(17px,3.85cqi);margin:12px 0 16px;white-space:nowrap}.sx-desc b{color:var(--redd)}
.sx-two{display:grid;gap:18px}
.sx-in{width:100%;height:50px;border-radius:12px;border:1.5px solid var(--line);font:inherit;padding:0 14px;color:var(--ink);background:#fff}
.sx-in:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 4px rgba(237,28,36,.12)}
.sx-in.code{font-size:24px;letter-spacing:.3em;text-align:center}
.sx-lab{display:block;font-size:12.5px;margin-bottom:6px;white-space:nowrap}
.sx-go{width:100%;height:50px;border:0;border-radius:12px;background:var(--red);color:#fff;font:700 16px "Bricolage Grotesque",sans-serif;margin-top:9px;cursor:pointer}
.sx-link{background:none;border:0;padding:0;font:inherit;color:var(--redd);text-decoration:underline;cursor:pointer}
.sx-note{font-size:13px;margin-top:10px;white-space:nowrap}.sx-note a{color:var(--redd)}
.sx-msg{font-size:13px;color:var(--redd);min-height:0;margin-top:6px}.sx-msg:empty{display:none}
.sx-pull{border-top:2px solid var(--ink);padding-top:12px}
.sx-pull .k{font-size:10.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--redd)}
.sx-pull q{display:block;font-family:Lora;font-style:italic;font-weight:400;font-size:19px;line-height:1.35;margin:8px 0 10px}
.sx-pull .who{font-size:12.5px}.sx-pull .st{color:var(--red);letter-spacing:.1em;display:block;font-size:11px;font-weight:800}
@media (prefers-reduced-motion:reduce){.sx-vt{animation:none}}
@media (min-width:600px){.sx-wide{display:inline}}

/* computer: newspaper left, photo columns right */
@media (min-width:900px){
 .sx{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(640px,1fr) minmax(0,1fr);height:100vh}
 .sx-paper{align-self:center;padding:30px 44px;max-width:720px}
 .sx-wall{height:calc(100vh - 28px);order:2;margin:14px 14px 14px 0;border-radius:24px}
 .sx-tags{left:20px;right:20px;bottom:20px}
 .sx-two{grid-template-columns:1.25fr 1fr;gap:0}
 .sx-form{padding-right:22px;border-right:1px solid var(--hair)}
 .sx-pull{border-top:0;padding:0 0 0 22px}
}

/* phone (A2): photos fill the screen, the newspaper is a white sheet at the bottom; never scrolls */
@media (max-width:899px){
 .sx{position:fixed;inset:0;height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
 .sx-wall{position:absolute;inset:0;height:auto}
 .sx-wall:after{background:linear-gradient(180deg,rgba(11,11,11,.45),rgba(11,11,11,0) 25%)}
 .sx-tags{top:calc(12px + env(safe-area-inset-top));bottom:auto}
 .sx-paper{position:relative;z-index:2;margin-top:auto;flex:none;background:#fff;border-radius:22px 22px 0 0;box-shadow:0 -10px 40px rgba(0,0,0,.35);padding:14px 16px calc(12px + env(safe-area-inset-bottom))}
 .sx-logo{font-size:20px}.sx-logo img{height:28px}
 .sx-kick{padding:8px 0 6px;margin-bottom:4px}
 .sx-sub{margin-top:4px;padding-top:6px}.sx-loc{display:none}
 .sx-desc{margin:6px 0 10px}
 .sx-pull{display:none}
 .sx-in,.sx-go{height:46px}.sx-go{margin-top:8px}
 .sx-note{text-align:center}
}
@media (max-width:899px) and (max-height:600px){.sx-mast,.sx-desc{display:none}.sx-kick{padding-top:4px}}

/* Google sign-in button */
.sx-g{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:50px;border-radius:12px;border:1.5px solid var(--line);background:#fff;font:700 15px "Bricolage Grotesque",sans-serif;color:var(--ink);text-decoration:none;white-space:nowrap}
.sx-g svg{width:20px;height:20px}.sx-g:hover{border-color:var(--ink)}
.sx-or{display:flex;align-items:center;gap:10px;font-size:12px;margin:10px 0 8px;white-space:nowrap}.sx-or:before,.sx-or:after{content:"";flex:1;height:1px;background:var(--line)}
@media (max-width:899px){.sx-g{height:46px}.sx-or{margin:8px 0 6px}}
@media (max-width:899px) and (max-height:640px){.sx-lab{display:none}}
