.auth-shell { min-height: 100vh; display: flex; flex-direction: column; }
.auth-header { position: relative; z-index: 10; display: flex; align-items: center; justify-content: space-between; gap: 25px; min-height: 86px; padding: 13px clamp(20px, 4vw, 64px); background: rgba(255,248,234,.97); border-bottom: 3px solid #111; }
.auth-header nav { display: flex; align-items: center; gap: 22px; font-weight: 900; }
.auth-header nav a { padding: 9px 6px; }
.auth-header .auth-nav-join { padding: 12px 20px; color: #fff; background: #ff3c8e; border: 3px solid #111; box-shadow: 4px 4px 0 #111; transform: rotate(-1deg); }
.auth-stage { position: relative; display: grid; flex: 1; place-items: center; width: 100%; padding: 65px 20px 85px; overflow: hidden; }
.auth-stage::before { position: absolute; top: 9%; left: 4%; width: 100px; height: 100px; content: ""; opacity: .7; background: radial-gradient(circle,#111 0 3px,transparent 3.5px) 0 0/14px 14px; transform: rotate(-10deg); }
.auth-burst { position: absolute; right: max(-100px, calc(50% - 610px)); top: 16%; display: grid; place-items: center; width: 380px; height: 380px; background: #14d9e8; border: 5px solid #111; clip-path: polygon(50% 0,61% 27%,87% 12%,78% 39%,100% 50%,74% 61%,88% 88%,61% 74%,50% 100%,39% 74%,12% 88%,26% 61%,0 50%,27% 39%,12% 12%,39% 27%); transform: rotate(8deg); }
.auth-burst span { font-size: 118px; filter: drop-shadow(6px 6px 0 #fff); }
.auth-card { position: relative; z-index: 2; width: min(660px,100%); padding: clamp(28px,5vw,54px); background: #fff; border: 5px solid #111; box-shadow: 11px 11px 0 #ff5a1f,17px 17px 0 #111; }
.auth-card::after { position: absolute; right: -30px; bottom: -34px; width: 78px; height: 78px; content: ""; background: radial-gradient(circle,#111 0 2.5px,transparent 3px) 0 0/12px 12px; transform: rotate(12deg); }
.auth-eyebrow { display: inline-block; margin: 0 0 18px; padding: 7px 13px; font-family: var(--display); font-size: 18px; font-style: italic; text-transform: uppercase; background: #ffe14a; border: 3px solid #111; box-shadow: 4px 4px 0 #111; transform: rotate(-1deg); }
.auth-card h1 { margin: 0 0 14px; font-family: var(--display); font-size: clamp(48px,8vw,76px); letter-spacing: -1px; line-height: .94; text-transform: uppercase; text-shadow: 4px 4px 0 #14d9e8; }
.auth-card > p, .auth-intro { color: #625f59; font-size: 17px; font-weight: 700; }
.auth-form { display: grid; gap: 20px; margin-top: 30px; }
.field { display: grid; gap: 7px; }
.field label { font-size: 14px; font-weight: 900; letter-spacing: .4px; text-transform: uppercase; }
.field input[type="text"],.field input[type="email"],.field input[type="password"] { width: 100%; min-height: 54px; padding: 13px 15px; color: #111; background: #fffdf6; border: 3px solid #111; border-radius: 0; box-shadow: 4px 4px 0 #e8ddc8; font: 700 17px var(--body); }
.field input:focus { outline: 4px solid #14d9e8; outline-offset: 3px; }
.field.has-error input { border-color: #d80054; box-shadow: 4px 4px 0 #ff3c8e; }
.field-error { margin: 0; color: #b50045; font-size: 13px; font-weight: 900; }
.checkbox-field { display: grid; grid-template-columns: 24px 1fr; align-items: start; gap: 10px; font-size: 14px; font-weight: 700; }
.checkbox-field input { width: 21px; height: 21px; margin: 1px 0 0; accent-color: #ff5a1f; }
.checkbox-field a { color: #d93a00; font-weight: 900; text-decoration: underline; }
.turnstile-section { display: grid; gap: 9px; }
.turnstile-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.turnstile-heading strong { font-size: 14px; font-weight: 1000; letter-spacing: .4px; text-transform: uppercase; }
.turnstile-heading span { color: #625f59; font-size: 11px; font-weight: 800; }
.turnstile-wrap { min-height: 84px; padding: 10px; background: #fff8ea; border: 3px solid #111; box-shadow: 4px 4px 0 #14d9e8; overflow: hidden; }
.turnstile-wrap .cf-turnstile { width: 100%; min-height: 65px; }
.turnstile-noscript { padding: 11px; background: #ffd4e5; border: 2px solid #b50045; }
.auth-submit { width: 100%; min-height: 60px; cursor: pointer; }
.auth-alert { margin: 20px 0; padding: 15px 17px; font-weight: 800; border: 3px solid #111; }
.auth-alert-error { color: #7d002e; background: #ffd4e5; box-shadow: 4px 4px 0 #ff3c8e; }
.auth-alert-success { background: #d8fbff; box-shadow: 4px 4px 0 #14d9e8; }
.auth-alert-warning { background: #fff3a7; box-shadow: 4px 4px 0 #ffe14a; }
.auth-links { margin: 24px 0 0; text-align: center; font-weight: 800; }
.auth-links a { color: #d93a00; text-decoration: underline; }
.auth-divider { height: 3px; margin: 28px 0; background: #111; }
.auth-inline-form { display: grid; gap: 14px; }
.member-welcome { display: grid; gap: 22px; }
.member-stat-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.member-stat { padding: 18px 10px; text-align: center; background: #fff8ea; border: 3px solid #111; }
.member-stat strong { display: block; font-family: var(--display); font-size: 34px; color: #ff5a1f; }
.member-stat span { font-size: 12px; font-weight: 900; text-transform: uppercase; }
.legal-copy h2 { margin: 30px 0 7px; font-family: var(--display); font-size: 30px; text-transform: uppercase; }
.legal-copy p,.legal-copy li { color: #45423d; font-weight: 650; line-height: 1.65; }
.auth-sitewide-spotlight{padding-block:34px}
.auth-sitewide-spotlight .sitewide-spotlight-stage>a{min-height:290px}
.auth-sitewide-spotlight .sitewide-spotlight-stage>a img{max-height:520px}
.auth-footer { display: flex; justify-content: space-between; gap: 20px; padding: 25px clamp(20px,4vw,64px); color: #fff; background: #111; border-top: 6px solid #ff5a1f; font-size: 13px; font-weight: 800; }
.auth-footer-full{display:grid;grid-template-columns:1.2fr auto 1fr;align-items:center;gap:32px;padding-block:32px}
.auth-footer-brand{display:flex;align-items:center;gap:18px}.auth-footer-brand p,.auth-footer-owner p{display:flex;flex-direction:column;margin:0}.auth-footer-brand p span,.auth-footer-owner p span,.auth-footer-owner small{color:#aaa;font-size:10px}
.auth-footer .footer-wordmark{display:inline-flex;align-items:center;gap:7px;padding:11px 15px;color:#fff;background:#1d1d1d;border:2px solid #fff;box-shadow:4px 4px 0 #ff5a1f;font-family:Arial,Helvetica,sans-serif;font-size:20px;font-weight:1000;font-style:normal;letter-spacing:.02em;line-height:1;text-decoration:none;transform:none;text-shadow:none;white-space:nowrap}.auth-footer .footer-wordmark i{color:#ff5a1f;font-style:normal;font-size:23px;filter:drop-shadow(1px 1px 0 #000)}
.auth-footer-designer{display:flex;flex-direction:column;padding:11px 17px;color:#111;background:#ffe14a;border:2px solid #fff;box-shadow:5px 5px 0 #ff5a1f;text-align:center;text-decoration:none}.auth-footer-designer span{font-size:8px;font-weight:1000;text-transform:uppercase}
.auth-footer-owner{display:flex;align-items:center;justify-content:flex-end;gap:11px}.auth-footer-owner img{width:62px;height:62px;object-fit:cover;border:3px solid #14d9e8;border-radius:50%}.auth-footer-owner strong{color:#fff}
@media(max-width:1000px){.auth-footer-full{grid-template-columns:1fr;justify-items:center;text-align:center}.auth-footer-owner{justify-content:center}}
@media(max-width:700px){.auth-header{align-items:flex-start;flex-direction:column}.auth-header nav{width:100%;justify-content:space-between;gap:8px;font-size:13px}.auth-burst{right:-210px;top:25%}.auth-card{padding:29px 22px}.auth-card h1{font-size:50px}.turnstile-heading{align-items:flex-start;flex-direction:column;gap:3px}.member-stat-grid{grid-template-columns:1fr}.auth-footer{align-items:center;flex-direction:column;text-align:center}.auth-footer-brand,.auth-footer-owner{flex-direction:column}.auth-footer-brand p,.auth-footer-owner p{text-align:center}}
