*{box-sizing:border-box}body{margin:0;background:#f3f0e9;color:#25251f;font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif}a{color:inherit;text-underline-offset:4px}.auth-layout{min-height:100dvh;display:grid;grid-template-columns:1.15fr 1fr}.auth-story{background:#22251e;color:#f6f0e3;padding:clamp(35px,6vw,100px);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.auth-story::after{content:"";position:absolute;border:1px solid #c5ab6940;border-radius:50%;width:480px;height:480px;right:-310px;bottom:-80px;box-shadow:0 0 0 60px #c5ab690b;pointer-events:none}.auth-story img{object-fit:contain;margin-bottom:38px}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:600;color:#8c7345}.auth-story .eyebrow{color:#c8b680}h1{font-size:clamp(45px,5vw,76px);line-height:1.02;letter-spacing:-.055em;font-weight:550;margin:26px 0}h1 span{color:#d5b878}.auth-story p{font-size:15px;line-height:1.9;color:#c0c4b7}.auth-signature{margin-top:65px;font-size:9px;letter-spacing:.18em;color:#a4aa99}.auth-panel{max-width:560px;align-self:center;width:100%;padding:60px;margin:auto}h2{font-size:34px;letter-spacing:-.04em;margin:14px 0}p{color:#68685e;font-size:13px;line-height:1.8}form{margin:28px 0}label{display:block;font-size:12px;font-weight:600;margin:20px 0 8px}input{display:block;width:100%;padding:14px;border:1px solid #c6c5b8;border-radius:7px;background:#fffefa;font:inherit}button{width:100%;padding:16px;border:0;border-radius:7px;background:#292d23;color:#f8f1de;font:inherit;font-size:13px;font-weight:600;cursor:pointer;margin-top:25px;transition:transform .2s}button:active{transform:scale(.98)}:focus-visible{outline:3px solid #a78439;outline-offset:4px}.auth-help{font-size:11px;color:#727267;line-height:1.8}.auth-alert,.errorlist{font-size:12px;color:#853a30;background:#f6e7e2;padding:14px;border-radius:7px}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #d9d8cc;padding-top:24px;margin-top:35px;font-size:11px}@media(max-width:767px){.auth-layout{grid-template-columns:1fr}.auth-story{padding:30px}.auth-story img{width:48px;height:48px;margin-bottom:20px}.auth-story h1{font-size:42px;margin:18px 0}.auth-signature{display:none}.auth-story p{font-size:12px;margin-bottom:0}.auth-panel{padding:35px 25px}h2{font-size:29px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.auth-panel .auth-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 22px;background:#242720;color:#fff;text-decoration:none;border-radius:6px;font-weight:700}.auth-panel .errorlist{padding-left:20px;color:#a12f24;font-size:.9rem}.auth-panel .auth-alert{line-height:1.6}.auth-panel a:focus-visible,.auth-panel input:focus-visible,.auth-panel button:focus-visible{outline:3px solid #a4ba65;outline-offset:3px}

/* The studio photograph connects the private portal to the public creator journey. */
.auth-layout { background: radial-gradient(ellipse at 96% 12%, #e6decb, #f2efe7 62%); }
.auth-story {
  isolation: isolate;
  background: linear-gradient(90deg, #1a1e17f5 5%, #1a1e17d9 52%, #1a1e1778),
    url("../img/voter-creators-backdrop-v1.d10e0bbfbc45.jpg") 67% center / cover no-repeat;
  box-shadow: inset -1px 0 #e4d2a640;
}
.auth-story::after { display: none; }
.auth-story img { filter: drop-shadow(0 9px 12px #090c0780); }
.auth-story p { color: #d5d7ca; max-width: 34ch; }
.auth-signature { color: #c6c5b4; border-top: 1px solid #d8c69b40; padding-top: 20px; max-width: 330px; }
.auth-panel {
  width: calc(100% - 64px);
  max-width: 520px;
  padding: clamp(28px, 3.2vw, 46px);
  margin-block: 36px;
  background: #fffdf7;
  border: 1px solid #c9bca177;
  border-top: 3px solid #b49a65;
  box-shadow: 0 24px 55px -28px #5b4c3260, inset 0 1px #fff;
}
.auth-panel input { background: #f9f7f0; box-shadow: inset 0 1px 2px #55432608; }
@media (max-width: 767px) {
  .auth-story { background-position: 60% center; }
  .auth-panel { width: calc(100% - 36px); margin-block: 25px 34px; padding: 30px 24px; }
}
@media (max-width: 360px) {
  .auth-panel { padding: 25px 20px; }
  .auth-panel h2 { font-size: 27px; }
}
