/* Public Project X landing, information and legal pages. */
html,body{min-height:100%}.guest-site-body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 50% 10%,#557d91 0,#31596c 34%,#183a4b 72%,#102d3d 100%);color:#eef6fa}.guest-topbar{min-height:76px;display:flex;align-items:center;gap:24px;padding:0 34px;background:rgba(6,31,45,.94);border-bottom:1px solid #234a5e;box-shadow:0 8px 28px rgba(0,0,0,.18);position:relative;z-index:5}.guest-logo{display:flex;align-items:center;gap:12px;flex:0 0 auto}.guest-logo-hat{font-size:29px;filter:drop-shadow(0 3px 2px rgba(0,0,0,.3))}.guest-logo strong{font-family:Georgia,serif;font-size:27px;letter-spacing:1.2px;color:#fff;white-space:nowrap}.guest-nav{display:flex;align-items:stretch;justify-content:center;gap:3px;flex:1;min-width:0}.guest-nav a,.guest-contact-link{min-height:40px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid transparent;border-radius:3px;color:#eef6fa;font-weight:700;font-size:14px;white-space:nowrap}.guest-nav a span,.guest-contact-link span{color:#9ed0e7}.guest-nav a:hover,.guest-nav a.active{background:#12384b;border-color:#315d72}.guest-contact-link{flex:0 0 auto;border-color:#3f6b80;background:#12384b;color:#9edcf7}.guest-contact-link:hover,.guest-contact-link.active{background:#1c4c63;border-color:#6ca3bc}.guest-main{flex:1;display:flex;flex-direction:column}.guest-login-stage{flex:1;min-height:710px;display:grid;place-items:center;padding:62px 20px 70px}.guest-login-card{width:min(92vw,440px);padding:38px 30px 34px;background:linear-gradient(180deg,rgba(66,107,126,.96),rgba(31,72,91,.98));border-color:#7195a6;box-shadow:0 24px 70px rgba(0,0,0,.34)}.guest-login-card .auth-brand{margin-bottom:24px}.guest-login-card .auth-brand span{font-size:50px}.guest-login-card .auth-brand h1{font-size:34px;letter-spacing:3px;margin-top:10px}.guest-login-card label{font-size:15px}.guest-login-card input{background:#edf4fb;color:#152a35;border-color:#aec4d0;min-height:48px}.guest-login-card input:focus{border-color:#75bddf;box-shadow:0 0 0 3px rgba(117,189,223,.22)}.guest-login-card form button.primary{min-height:48px;font-size:16px}.guest-login-card .auth-foot{line-height:1.55;margin-bottom:0}.guest-login-card .auth-foot a{color:#bcecff}.guest-footer{background:rgba(5,28,41,.96);border-top:1px solid #274d60;padding:34px 34px 18px;color:#c6d9e2}.guest-footer-grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:1.5fr .7fr 1.35fr .85fr;gap:42px}.guest-footer section{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.guest-footer section>strong{color:#fff;font-size:13px;letter-spacing:.3px;margin-bottom:5px}.guest-footer a{color:#a8cfe1;font-size:13px}.guest-footer a:hover{color:#fff;text-decoration:underline}.guest-footer-brand p{max-width:310px;margin:0;color:#9fbac7;font-size:13px;line-height:1.6}.guest-footer-bottom{max-width:1320px;margin:28px auto 0;padding-top:17px;border-top:1px solid #24495c;display:flex;justify-content:space-between;gap:20px;color:#789ba9;font-size:11px}.guest-page-wrap{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:70px 0 90px}.guest-page-hero{text-align:center;max-width:820px;margin:0 auto 28px}.guest-page-hero small{display:block;color:#8ed7f6;font-size:10px;letter-spacing:2.3px;font-weight:800;margin-bottom:10px}.guest-page-hero h1{font-family:Georgia,serif;font-size:38px;line-height:1.1;margin:0 0 12px;color:#fff}.guest-page-hero p{margin:0;color:#c5d9e2;font-size:16px;line-height:1.65}.guest-content-card{border:1px solid #6e93a4;border-radius:10px;background:linear-gradient(180deg,rgba(54,93,112,.97),rgba(30,68,86,.98));box-shadow:0 20px 50px rgba(0,0,0,.24);padding:30px}.guest-content-section{padding:2px 0 24px;margin-bottom:22px;border-bottom:1px solid #5b7e90}.guest-content-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.guest-content-section h2,.guest-contact-info h2{font-family:Georgia,serif;font-size:22px;margin:0 0 8px;color:#fff}.guest-content-section p,.guest-content-section li,.guest-contact-info p{color:#c9dbe3;line-height:1.7}.guest-content-section p{margin:0}.guest-content-section ul{margin:12px 0 0;padding-left:22px}.guest-contact-wrap{max-width:1180px}.guest-contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px;align-items:start}.guest-contact-info{position:sticky;top:96px}.guest-contact-info>p{margin:0 0 20px}.guest-contact-note{display:flex;flex-direction:column;gap:5px;padding:14px;border:1px solid #5f8597;background:#274f63;border-radius:7px;margin-top:10px}.guest-contact-note strong{color:#fff}.guest-contact-note span{color:#bfd2db;font-size:13px;line-height:1.5}.guest-contact-form-card{padding:25px}.guest-contact-form label{display:flex;flex-direction:column;gap:6px;margin-bottom:13px;color:#e2edf1}.guest-contact-form input,.guest-contact-form textarea{width:100%;background:#173c4e;color:#fff;border:1px solid #7597a7;border-radius:6px;padding:11px;outline:none;resize:vertical}.guest-contact-form textarea{min-height:170px}.guest-contact-form input:focus,.guest-contact-form textarea:focus{border-color:#8fd2f0;box-shadow:0 0 0 2px rgba(115,195,230,.2)}.guest-contact-form button{width:100%;min-height:36px;border-radius:3px;padding:8px 11px}.contact-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.guest-menu-toggle{display:none;min-height:40px;align-items:center;justify-content:center;gap:8px;padding:0 12px;border:1px solid #3f6b80;border-radius:3px;background:#12384b;color:#eef6fa;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.guest-menu-toggle:hover,.guest-menu-toggle:focus-visible{background:#1c4c63;border-color:#6ca3bc;outline:none}.guest-menu-toggle-icon{font-size:18px;line-height:1}.guest-mobile-contact{display:none!important}
@media(max-width:1180px){.guest-topbar{padding:0 18px;gap:12px}.guest-nav{justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.guest-nav::-webkit-scrollbar{display:none}.guest-nav a{font-size:12px;padding:0 10px}.guest-logo strong{font-size:22px}.guest-contact-link{font-size:12px}}
@media(max-width:820px){.guest-topbar{min-height:64px;padding:10px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;align-items:center}.guest-logo{grid-column:1;min-width:0}.guest-logo strong{overflow:hidden;text-overflow:ellipsis}.guest-menu-toggle{display:flex;grid-column:2;grid-row:1}.guest-contact-link{display:none}.guest-nav{display:none;grid-column:1/-1;grid-row:2;width:100%;padding:5px 0 2px;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:4px;overflow:visible}.guest-topbar.guest-menu-open .guest-nav{display:flex}.guest-nav a{width:100%;min-height:42px;padding:0 12px;font-size:13px;white-space:normal;justify-content:flex-start}.guest-nav a span{display:inline-block;flex:0 0 18px;text-align:center}.guest-mobile-contact{display:flex!important}.guest-login-stage{min-height:620px;padding:34px 14px 44px}.guest-footer{padding:28px 20px 16px}.guest-footer-grid{grid-template-columns:1fr 1fr;gap:28px}.guest-contact-grid{grid-template-columns:1fr}.guest-contact-info{position:static}.guest-page-wrap{width:min(100% - 24px,1120px);padding:42px 0 60px}.guest-page-hero h1{font-size:31px}}
@media(max-width:520px){.guest-logo strong{font-size:20px}.guest-logo-hat{font-size:25px}.guest-menu-toggle{min-height:38px;padding:0 10px}.guest-login-card{padding:28px 20px}.guest-login-card .auth-brand h1{font-size:29px}.guest-footer-grid{grid-template-columns:1fr}.guest-footer-bottom{flex-direction:column;gap:7px}.guest-content-card{padding:20px}.guest-page-hero h1{font-size:28px}.guest-page-hero p{font-size:14px}}

/* Registration uses the same public shell as Home. */
.guest-register-stage{flex:1;display:flex;flex-direction:column;align-items:center;padding:48px 20px 70px}.guest-register-card{width:min(92vw,560px);padding:34px 28px 30px;background:linear-gradient(180deg,rgba(66,107,126,.96),rgba(31,72,91,.98));border-color:#7195a6;box-shadow:0 24px 70px rgba(0,0,0,.34)}.guest-register-card .auth-brand{margin-bottom:22px}.guest-register-card .auth-brand span{font-size:46px}.guest-register-card .auth-brand h1{font-size:32px;letter-spacing:1.5px}.guest-register-card input,.guest-register-card select{background:#173c4e;color:#fff;border-color:#7597a7}.guest-register-card input[type=file]{padding:9px}.guest-register-card input:focus,.guest-register-card select:focus{border-color:#8fd2f0;box-shadow:0 0 0 2px rgba(115,195,230,.2)}.guest-register-card .auth-foot{margin-bottom:0}.guest-register-card .auth-foot a{color:#bcecff}
@media(max-width:820px){.guest-register-stage{padding:30px 14px 48px}}
@media(max-width:520px){.guest-register-card{padding:26px 18px}.guest-register-card .password-row{grid-template-columns:1fr}.guest-register-card .password-row button{width:100%}}

/* Public/auth oldschool controls */
.guest-login-card button,.guest-login-card .button,.guest-page-wrap button,.guest-page-wrap .button{border-radius:3px;min-height:34px;padding:8px 11px}

/* Project X cinematic home/login landing. Scoped to the public home only. */
.guest-home-body{background:#020b13;color:#f4f7fa;overflow-x:hidden}
.guest-home-body>.guest-topbar,.guest-home-body>.guest-footer{display:none}
.guest-home-body .guest-main{display:block;min-height:100vh;background:#020b13}
.guest-home-body .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}
.px-landing{--px-pink:#f01486;--px-pink-dark:#8b0f54;--px-blue:#082132;--px-line:#315165;position:relative;min-height:100vh;overflow:hidden;background:#020b13;color:#f4f7fa;padding:0 24px 54px;isolation:isolate}
.px-landing-city{position:absolute;inset:0;z-index:-4;background-image:linear-gradient(180deg,rgba(1,8,14,.20) 0%,rgba(1,9,15,.45) 28%,rgba(1,9,15,.82) 58%,#020b13 82%),url('/assets/img/social/projectx-invite-share.png');background-size:auto 100%,cover;background-position:center top,center top;background-repeat:no-repeat;filter:saturate(.75) contrast(1.06)}
.px-landing:before{content:"";position:absolute;inset:0;z-index:-3;background:radial-gradient(circle at 76% 16%,rgba(240,20,134,.18),transparent 23%),linear-gradient(90deg,rgba(2,11,19,.28),transparent 38%,rgba(2,11,19,.08) 68%,rgba(2,11,19,.38))}
.px-landing-header{width:min(1180px,100%);height:118px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:15}
.px-wordmark{display:inline-grid;grid-template-columns:auto auto;grid-template-rows:auto auto;align-items:end;column-gap:8px;text-decoration:none;line-height:1}.px-wordmark-project,.px-wordmark-x{font-family:Georgia,'Times New Roman',serif;font-weight:900;letter-spacing:-2px;text-shadow:0 2px 0 #06131d,0 5px 16px rgba(0,0,0,.55)}.px-wordmark-project{font-size:45px;background:linear-gradient(#fff 10%,#9aaab5 42%,#f9fbfc 52%,#5e6d78 78%,#e8eef2);-webkit-background-clip:text;background-clip:text;color:transparent}.px-wordmark-x{font-size:62px;color:var(--px-pink);background:linear-gradient(#ff5fb4,#f01486 45%,#8d0d53);-webkit-background-clip:text;background-clip:text;color:transparent}.px-wordmark small{grid-column:1/3;margin-top:6px;padding-left:3px;color:#d3dce2;letter-spacing:8px;font-size:11px;font-weight:700}
.px-public-menu{position:relative}.px-public-menu summary{list-style:none;width:50px;height:44px;display:grid;align-content:center;gap:7px;padding:0 7px;cursor:pointer}.px-public-menu summary::-webkit-details-marker{display:none}.px-public-menu summary span{display:block;height:3px;border-radius:99px;background:var(--px-pink);box-shadow:0 0 12px rgba(240,20,134,.38)}.px-public-menu[open] summary span:nth-child(1){transform:translateY(10px) rotate(45deg)}.px-public-menu[open] summary span:nth-child(2){opacity:0}.px-public-menu[open] summary span:nth-child(3){transform:translateY(-10px) rotate(-45deg)}.px-public-menu nav{position:absolute;right:0;top:54px;display:grid;min-width:190px;padding:9px;background:rgba(3,17,27,.97);border:1px solid #31566b;box-shadow:0 18px 42px rgba(0,0,0,.45)}.px-public-menu nav a{padding:10px 12px;color:#e8f0f5;text-decoration:none;font-size:13px;font-weight:800;letter-spacing:.4px}.px-public-menu nav a:hover{background:#102c3c;color:#ff71ba}
.px-hero{width:min(1180px,100%);height:650px;margin:0 auto;position:relative;display:flex;align-items:flex-end;justify-content:center}.px-hero:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:180px;background:linear-gradient(180deg,transparent,#020b13 90%);z-index:3;pointer-events:none}.px-hero-photo{position:absolute;right:8%;top:-38px;width:min(58vw,610px);height:700px;z-index:1;overflow:hidden;filter:drop-shadow(0 0 32px rgba(240,20,134,.16))}.px-hero-photo:before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,#020b13 0%,transparent 25%,transparent 72%,rgba(2,11,19,.50) 100%),linear-gradient(180deg,transparent 62%,#020b13 100%);pointer-events:none}.px-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:56% 18%;filter:contrast(1.12) saturate(.82) brightness(.88);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 88%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 88%,transparent 100%)}
.px-hero-sidecopy{position:absolute;left:0;top:60px;z-index:4;display:flex;flex-direction:column;gap:8px;color:#c8d2d8;font-size:12px;letter-spacing:5px;line-height:1.2}.px-hero-sidecopy i{width:44px;height:3px;background:var(--px-pink);margin:13px 0 8px}.px-hero-sidecopy small{font-size:10px;line-height:1.8;letter-spacing:4px;color:#b7c3cb}
.px-hero-copy{position:relative;z-index:5;text-align:center;margin-bottom:30px;text-shadow:0 5px 22px rgba(0,0,0,.75)}.px-hero-copy h1{margin:0;font-family:Georgia,'Times New Roman',serif;font-weight:900;line-height:.83;letter-spacing:-3px}.px-hero-copy h1 span,.px-hero-copy h1 strong{display:block}.px-hero-copy h1 span{font-size:76px;background:linear-gradient(#fff,#bac6ce 50%,#fff 53%,#73818b);-webkit-background-clip:text;background-clip:text;color:transparent}.px-hero-copy h1 strong{font-size:78px;color:var(--px-pink);background:linear-gradient(#ff5db4 0%,#f01486 48%,#8e0c55 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.px-hero-copy p{margin:25px 0 0;color:#e7edf1;font-size:15px;letter-spacing:5px;line-height:1.75;font-weight:700}
.px-login-shell{position:relative;z-index:8;width:min(760px,100%);margin:-14px auto 0}.px-login-card{background:linear-gradient(180deg,rgba(3,24,37,.97),rgba(2,17,28,.985));border:1px solid #486c80;box-shadow:0 24px 70px rgba(0,0,0,.46),inset 0 0 40px rgba(12,48,68,.12);padding:31px 48px 34px;border-radius:9px}.px-login-card>header{text-align:center;margin-bottom:23px}.px-login-card>header h2{font-family:Georgia,'Times New Roman',serif;font-size:34px;letter-spacing:2px;margin:0 0 5px;color:#f7f9fb}.px-login-card>header p{margin:0;color:#c5d1d8;letter-spacing:7px;font-size:11px}.px-login-card .flash{margin:0 0 15px}
.px-login-form{display:grid;gap:13px}.px-input-row{position:relative;display:flex;align-items:center;margin:0}.px-field-icon{position:absolute;left:17px;z-index:2;color:#c8d4db;font-size:22px;line-height:1;pointer-events:none}.px-input-row input{width:100%;height:54px;margin:0;padding:0 17px 0 55px;border:1px solid #38596d;border-radius:5px;background:rgba(5,27,42,.76);color:#f1f6fa;font-size:17px;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.02)}.px-input-row input::placeholder{color:#8d9ba6}.px-input-row input:focus{border-color:#7aa8c1;box-shadow:0 0 0 2px rgba(77,145,181,.14)}.px-login-actions{text-align:right;margin-top:-3px}.px-login-actions a{color:#ff55ad;font-size:13px;text-decoration:none}.px-login-submit{width:100%;height:57px;border:1px solid #ff3ca1;border-radius:4px;background:linear-gradient(90deg,#b51062,#f01486 46%,#8b104f);color:#fff;font-size:20px;font-weight:800;letter-spacing:2px;cursor:pointer;text-shadow:0 1px 2px rgba(0,0,0,.35);box-shadow:0 0 22px rgba(240,20,134,.13)}.px-login-submit:hover{filter:brightness(1.08)}.px-or{display:flex;align-items:center;gap:15px;margin:20px 0 16px;color:#c6d0d6;font-size:12px}.px-or:before,.px-or:after{content:"";height:1px;flex:1;background:#3c5666}.px-google-login.google-oauth-button{min-height:54px;border:1px solid #3d6174!important;border-radius:4px!important;background:rgba(5,26,40,.78)!important;color:#fff!important;box-shadow:none!important}.px-google-login strong{font-size:16px}.px-register-link{text-align:center;margin:19px 0 0;color:#cdd5da;font-size:15px}.px-register-link a{color:#ff4aa8;text-decoration:none;font-weight:700}
.px-feature-grid{position:relative;z-index:6;width:min(1040px,100%);margin:42px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}.px-feature-grid article{min-width:0}.px-feature-icon{display:block;color:var(--px-pink);font-size:41px;line-height:1;margin-bottom:8px;text-shadow:0 0 18px rgba(240,20,134,.34)}.px-feature-grid strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:15px;color:#fff}.px-feature-grid p{margin:8px 0 0;color:#b9c4cb;font-size:12px;line-height:1.55}
.px-stat-grid{position:relative;z-index:6;width:min(1040px,100%);margin:38px auto 0;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #1c4b65;border-radius:6px;background:rgba(3,19,31,.72);box-shadow:inset 0 0 30px rgba(5,38,58,.12)}.px-stat-grid article{padding:25px 16px;text-align:center;position:relative}.px-stat-grid article+article:before{content:"";position:absolute;left:0;top:22%;height:56%;width:1px;background:#5a6f7b}.px-stat-grid strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:34px;color:#f1f5f7}.px-stat-grid span{display:block;margin-top:7px;color:#c2cbd0;font-size:11px;line-height:1.4;letter-spacing:2px}
.px-landing-signoff{width:min(820px,100%);margin:36px auto 0;display:grid;grid-template-columns:1fr auto 1fr;gap:15px;align-items:center;text-align:center}.px-landing-signoff>span{height:1px;background:linear-gradient(90deg,transparent,var(--px-pink))}.px-landing-signoff>span:nth-of-type(2){background:linear-gradient(90deg,var(--px-pink),transparent)}.px-landing-signoff>strong{color:var(--px-pink);font-family:Georgia,'Times New Roman',serif;font-size:32px}.px-landing-signoff>p{grid-column:1/4;margin:0;color:#bcc8ce;font-size:10px;letter-spacing:7px}

@media(max-width:900px){
  .px-landing{padding:0 18px 45px}.px-landing-header{height:96px}.px-wordmark-project{font-size:36px}.px-wordmark-x{font-size:50px}.px-wordmark small{font-size:9px;letter-spacing:6px}.px-hero{height:610px}.px-hero-photo{right:-3%;top:-12px;width:78%;height:610px}.px-hero-sidecopy{top:76px}.px-hero-copy h1 span{font-size:62px}.px-hero-copy h1 strong{font-size:64px}.px-hero-copy p{font-size:12px;letter-spacing:4px}.px-login-shell{width:min(690px,100%)}.px-login-card{padding:30px 38px 32px}
}
@media(max-width:640px){
  .px-landing{padding:0 12px 38px}.px-landing-city{background-size:auto 100%,auto 720px;background-position:center top,70% top}.px-landing-header{height:80px}.px-wordmark-project{font-size:29px;letter-spacing:-1px}.px-wordmark-x{font-size:42px}.px-wordmark small{margin-top:4px;font-size:7px;letter-spacing:4.5px}.px-public-menu summary{width:43px;height:40px;gap:6px}.px-public-menu nav{top:46px;right:-2px}
  .px-hero{height:620px;margin-top:-8px}.px-hero-photo{width:96%;height:585px;right:-9%;top:0}.px-hero-photo:before{background:linear-gradient(90deg,#020b13 0%,transparent 18%,transparent 75%,rgba(2,11,19,.35) 100%),linear-gradient(180deg,transparent 58%,#020b13 96%)}.px-hero-photo img{object-position:55% 14%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 94%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 94%,transparent 100%)}
  .px-hero-sidecopy{left:7px;top:116px;gap:6px;font-size:8px;letter-spacing:3px}.px-hero-sidecopy i{width:30px;height:2px;margin:8px 0 4px}.px-hero-sidecopy small{font-size:7px;letter-spacing:2.5px;line-height:1.7}
  .px-hero-copy{margin-bottom:25px}.px-hero-copy h1{letter-spacing:-2px}.px-hero-copy h1 span{font-size:45px}.px-hero-copy h1 strong{font-size:47px}.px-hero-copy p{margin-top:16px;font-size:9px;letter-spacing:2.5px;line-height:1.75}
  .px-login-shell{margin:-4px auto 0}.px-login-card{padding:24px 19px 25px;border-radius:7px}.px-login-card>header{margin-bottom:18px}.px-login-card>header h2{font-size:27px;letter-spacing:1.5px}.px-login-card>header p{font-size:8px;letter-spacing:5px}.px-input-row input{height:50px;padding-left:48px;font-size:15px}.px-field-icon{left:15px;font-size:18px}.px-login-actions a{font-size:12px}.px-login-submit{height:52px;font-size:18px}.px-google-login.google-oauth-button{min-height:50px}.px-register-link{font-size:13px}.px-feature-grid{margin-top:30px;grid-template-columns:repeat(2,1fr);gap:26px 10px}.px-feature-icon{font-size:34px}.px-feature-grid strong{font-size:13px}.px-feature-grid p{font-size:11px}.px-stat-grid{margin-top:30px}.px-stat-grid article{padding:20px 8px}.px-stat-grid strong{font-size:27px}.px-stat-grid span{font-size:8px;letter-spacing:1.5px}.px-landing-signoff{margin-top:28px}.px-landing-signoff>p{font-size:8px;letter-spacing:4px}
}
@media(max-width:390px){
  .px-hero{height:575px}.px-hero-photo{height:540px}.px-hero-copy h1 span{font-size:39px}.px-hero-copy h1 strong{font-size:41px}.px-hero-copy p{font-size:8px;letter-spacing:2px}.px-stat-grid strong{font-size:24px}.px-stat-grid span{font-size:7px;letter-spacing:1px}.px-login-card{padding-left:15px;padding-right:15px}
}

/* Project X exact Yeske poster home — functional HTML login over the approved artwork. */
.guest-home-body{background:#020812;color:#f4f7fa;overflow-x:hidden}
.guest-home-body>.guest-topbar,.guest-home-body>.guest-footer{display:none}
.guest-home-body .guest-main{display:block;min-height:100vh;background:#020812}
.guest-home-body .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}
.px-poster-page{min-height:100vh;background:radial-gradient(circle at 50% 20%,#0a1d2e 0,#020812 54%,#01050a 100%);padding:0 0 34px;overflow:hidden}
.px-poster-canvas{position:relative;width:min(100%,941px);margin:0 auto;background:#020812;box-shadow:0 0 90px rgba(0,0,0,.72)}
.px-poster-hero{position:relative;width:100%;aspect-ratio:941/895;background:url('/assets/img/guest/projectx-yeske-poster.png') center top/100% auto no-repeat}
.px-poster-logo-hit{position:absolute;z-index:12;left:4.2%;top:1.0%;width:39%;height:6.6%;display:block}
.px-poster-menu{position:absolute;z-index:20;right:4.8%;top:1.1%;margin:0}
.px-poster-menu summary{list-style:none;width:62px;height:62px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:9px;padding:10px;background:transparent;border:0}
.px-poster-menu summary::-webkit-details-marker{display:none}
.px-poster-menu summary span{display:block;width:100%;height:4px;border-radius:99px;background:transparent;transition:.18s ease}
.px-poster-menu nav{position:absolute;right:0;top:62px;display:grid;min-width:190px;padding:9px;background:rgba(2,18,29,.98);border:1px solid #365b70;box-shadow:0 18px 45px rgba(0,0,0,.55)}
.px-poster-menu nav a{padding:11px 13px;color:#edf4f7;text-decoration:none;font-size:13px;font-weight:800;letter-spacing:.4px}
.px-poster-menu nav a:hover{background:#102c3d;color:#ff4ca7}
.px-poster-login{position:relative;z-index:10;width:71.5%;margin:-17px auto 0}
.px-poster-login-card{background:linear-gradient(180deg,rgba(3,25,39,.985),rgba(2,16,27,.992));border:1px solid #466b80;border-radius:8px;box-shadow:0 25px 72px rgba(0,0,0,.50),inset 0 0 42px rgba(10,50,74,.10);padding:28px 47px 30px}
.px-poster-login-card>header{text-align:center;margin:0 0 20px}
.px-poster-login-card>header h2{margin:0 0 5px;font-family:Georgia,'Times New Roman',serif;font-size:34px;line-height:1;color:#f7f9fb;letter-spacing:1.5px}
.px-poster-login-card>header p{margin:0;color:#c6d2d9;font-size:10px;letter-spacing:7px}
.px-poster-login-card .flash{margin:0 0 14px}
.px-poster-login-form{display:grid;gap:12px}
.px-poster-field{position:relative;display:block;margin:0}
.px-poster-field-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);z-index:2;color:#d2dce2;font-size:22px;line-height:1;pointer-events:none}
.px-poster-lock{font-size:19px}
.px-poster-field input{box-sizing:border-box;width:100%;height:52px;margin:0;padding:0 16px 0 54px;border:1px solid #3a5d71;border-radius:4px;background:rgba(5,28,43,.88);color:#f5f8fa;font-size:16px;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.02)}
.px-poster-field input::placeholder{color:#8e9ca7}
.px-poster-field input:focus{border-color:#79a6bf;box-shadow:0 0 0 2px rgba(94,158,193,.14)}
.px-poster-login-links{text-align:right;margin:-1px 0 0}
.px-poster-login-links a{color:#ff4ca7;text-decoration:none;font-size:13px}
.px-poster-login-submit{width:100%;height:58px;border:1px solid #ff3ca1;border-radius:4px;background:linear-gradient(90deg,#b50d62,#ef1686 48%,#8c0e51);color:#fff;font-size:20px;font-weight:800;letter-spacing:2px;cursor:pointer;box-shadow:0 0 24px rgba(240,20,134,.14);text-shadow:0 1px 2px rgba(0,0,0,.4)}
.px-poster-login-submit:hover{filter:brightness(1.08)}
.px-poster-or{display:flex;align-items:center;gap:15px;margin:20px 0 16px;color:#c6d0d6;font-size:12px}
.px-poster-or:before,.px-poster-or:after{content:"";height:1px;flex:1;background:#3d5665}
.px-poster-google.google-oauth-button{min-height:54px;border:1px solid #3d6174!important;border-radius:4px!important;background:rgba(5,26,40,.86)!important;color:#fff!important;box-shadow:none!important}
.px-poster-google strong{font-size:16px}
.px-poster-register{text-align:center;margin:18px 0 0;color:#d2d9de;font-size:15px}
.px-poster-register a{color:#ff4ca7;text-decoration:none;font-weight:700}
.px-poster-footer-art{width:100%;aspect-ratio:941/322;background:url('/assets/img/guest/projectx-yeske-poster.png') center bottom/100% auto no-repeat;margin-top:18px}

@media(max-width:760px){
  .px-poster-page{padding-bottom:18px}
  .px-poster-menu summary{width:54px;height:54px}
  .px-poster-menu nav{top:52px;right:-5px}
  .px-poster-login{width:min(86%,680px);margin-top:-10px}
  .px-poster-login-card{padding:25px 28px 27px}
  .px-poster-login-card>header h2{font-size:30px}
}
@media(max-width:520px){
  .px-poster-login{width:92%;margin-top:-6px}
  .px-poster-login-card{padding:22px 17px 24px;border-radius:7px}
  .px-poster-login-card>header{margin-bottom:17px}
  .px-poster-login-card>header h2{font-size:27px;letter-spacing:1px}
  .px-poster-login-card>header p{font-size:8px;letter-spacing:5px}
  .px-poster-field input{height:50px;padding-left:49px;font-size:15px}
  .px-poster-field-icon{left:14px;font-size:19px}
  .px-poster-login-submit{height:52px;font-size:18px}
  .px-poster-google.google-oauth-button{min-height:50px}
  .px-poster-register{font-size:13px}
  .px-poster-footer-art{margin-top:10px}
}

/* Matching Project X auth pages: register / forgot / reset. */
.px-poster-google.google-oauth-button{box-sizing:border-box;width:100%;display:flex;align-items:center;justify-content:center;gap:11px;padding:11px 16px;text-decoration:none;line-height:1.2;cursor:pointer}
.px-poster-google .google-oauth-g{flex:0 0 28px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#4285f4;border:1px solid #dfe5e9;font-family:Arial,Helvetica,sans-serif;font-size:19px;font-weight:800;line-height:1}
.px-poster-google strong{display:block;margin:0;color:#fff!important;font-weight:650;white-space:nowrap}

.guest-auth-poster-body{background:#020812;color:#f4f7fa;overflow-x:hidden}
.guest-auth-poster-body>.guest-footer{display:none}
.guest-auth-poster-body .guest-main{display:block;min-height:calc(100vh - 96px);background:#020812}
.px-auth-topbar{position:absolute;z-index:30;top:0;left:50%;transform:translateX(-50%);width:min(100%,941px);box-sizing:border-box;display:flex;align-items:flex-start;justify-content:space-between;padding:22px 44px 0;background:transparent;border:0;pointer-events:none}
.px-auth-wordmark,.px-auth-menu{pointer-events:auto}
.px-auth-wordmark{display:flex;flex-direction:column;text-decoration:none;color:#fff;line-height:1}
.px-auth-wordmark strong{font-family:Georgia,'Times New Roman',serif;font-size:38px;letter-spacing:-1.5px;color:#eef3f6;text-shadow:0 2px 5px #000}
.px-auth-wordmark strong span{color:#f01486;font-size:1.18em}
.px-auth-wordmark small{margin-top:7px;font-size:8px;letter-spacing:5px;color:#d3dce1}
.px-auth-menu{position:relative;margin:0}
.px-auth-menu summary{list-style:none;width:50px;height:45px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;gap:7px;padding:7px;cursor:pointer}
.px-auth-menu summary::-webkit-details-marker{display:none}
.px-auth-menu summary span{display:block;width:100%;height:4px;border-radius:99px;background:#f01486;box-shadow:0 0 12px rgba(240,20,134,.35)}
.px-auth-menu nav{position:absolute;right:0;top:49px;display:grid;min-width:190px;padding:9px;background:rgba(2,18,29,.985);border:1px solid #365b70;box-shadow:0 18px 45px rgba(0,0,0,.55)}
.px-auth-menu nav a{padding:11px 13px;color:#edf4f7;text-decoration:none;font-size:13px;font-weight:800;letter-spacing:.4px}
.px-auth-menu nav a:hover{background:#102c3d;color:#ff4ca7}

.guest-auth-poster-body .guest-register-stage.px-auth-page{box-sizing:border-box;min-height:100vh;padding:360px 20px 72px;background:linear-gradient(180deg,rgba(2,8,18,.02) 0,rgba(2,8,18,.16) 26%,#020812 53%,#020812 100%),url('/assets/img/guest/projectx-yeske-poster.png') center top/941px auto no-repeat;background-color:#020812}
.guest-auth-poster-body .guest-register-card{box-sizing:border-box;width:min(92vw,600px);padding:32px 34px 30px;background:linear-gradient(180deg,rgba(3,25,39,.985),rgba(2,16,27,.992));border:1px solid #466b80;border-radius:8px;box-shadow:0 25px 72px rgba(0,0,0,.55),inset 0 0 42px rgba(10,50,74,.10);color:#f4f7fa}
.guest-auth-poster-body .guest-register-card.wide{width:min(92vw,720px)}
.guest-auth-poster-body .guest-register-card .auth-brand{margin:0 0 24px;text-align:center}
.guest-auth-poster-body .guest-register-card .auth-brand>span:first-child{display:none}
.guest-auth-poster-body .guest-register-card .auth-brand h1{margin:0 0 10px;font-family:Georgia,'Times New Roman',serif;font-size:34px;line-height:1.05;letter-spacing:1.5px;color:#f8fafb;text-transform:uppercase}
.guest-auth-poster-body .guest-register-card .auth-brand p{margin:7px auto 0;max-width:580px;color:#aebdc6;line-height:1.55}
.guest-auth-poster-body .guest-register-card .player-made-tagline strong{display:block;color:#f4f7fa;font-family:Georgia,'Times New Roman',serif;font-size:18px;letter-spacing:.3px}
.guest-auth-poster-body .guest-register-card .player-made-tagline small{display:block;margin-top:5px;color:#ff55ad;font-size:12px;letter-spacing:1px}
.guest-auth-poster-body .guest-register-card form{display:grid;gap:14px}
.guest-auth-poster-body .guest-register-card form>label{display:grid;gap:6px;margin:0;color:#dce5ea;font-size:12px;font-weight:800;letter-spacing:.8px;text-transform:uppercase}
.guest-auth-poster-body .guest-register-card label small{color:#8196a3;font-weight:500;letter-spacing:0;text-transform:none;line-height:1.45}
.guest-auth-poster-body .guest-register-card input,.guest-auth-poster-body .guest-register-card select{box-sizing:border-box;width:100%;min-height:51px;margin:0;padding:10px 13px;border:1px solid #3a5d71;border-radius:4px;background:rgba(5,28,43,.92);color:#f5f8fa;font-size:15px;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.02)}
.guest-auth-poster-body .guest-register-card input::placeholder{color:#8e9ca7}
.guest-auth-poster-body .guest-register-card select option{background:#071c2a;color:#fff}
.guest-auth-poster-body .guest-register-card input:focus,.guest-auth-poster-body .guest-register-card select:focus{border-color:#f01486;box-shadow:0 0 0 2px rgba(240,20,134,.14)}
.guest-auth-poster-body .guest-register-card input[type=file]{padding:10px;min-height:50px}
.guest-auth-poster-body .guest-register-card .password-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.guest-auth-poster-body .guest-register-card .password-row button{min-height:51px;padding:0 16px;border:1px solid #4c7083;border-radius:4px;background:#0a2a3c;color:#e5eef2;font-weight:800;cursor:pointer}
.guest-auth-poster-body .guest-register-card .password-row button:hover{border-color:#f01486;color:#fff}
.guest-auth-poster-body .guest-register-card button.primary{width:100%;min-height:54px;margin-top:2px;border:1px solid #ff3ca1;border-radius:4px;background:linear-gradient(90deg,#b50d62,#ef1686 48%,#8c0e51);color:#fff;font-size:17px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;cursor:pointer;box-shadow:0 0 24px rgba(240,20,134,.14)}
.guest-auth-poster-body .guest-register-card button.primary:hover{filter:brightness(1.08)}
.guest-auth-poster-body .guest-register-card .separator{display:flex;align-items:center;gap:14px;margin:19px 0 15px;color:#bac7ce;font-size:11px;text-transform:uppercase}
.guest-auth-poster-body .guest-register-card .separator:before,.guest-auth-poster-body .guest-register-card .separator:after{content:"";height:1px;flex:1;background:#3d5665}
.guest-auth-poster-body .guest-register-card .separator span{min-width:auto}
.guest-auth-poster-body .guest-register-card .google-oauth-button{box-sizing:border-box;width:100%;min-height:54px;display:flex;align-items:center;justify-content:center;gap:11px;padding:11px 16px;border:1px solid #3d6174!important;border-radius:4px!important;background:rgba(5,26,40,.86)!important;color:#fff!important;box-shadow:none!important;text-decoration:none;font-size:16px;line-height:1.2}
.guest-auth-poster-body .guest-register-card .google-oauth-button strong{display:block;margin:0;color:#fff!important;font-weight:650}
.guest-auth-poster-body .guest-register-card .google-oauth-g{flex:0 0 28px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#4285f4;border:1px solid #dfe5e9;font-family:Arial,Helvetica,sans-serif;font-size:19px;font-weight:800;line-height:1}
.guest-auth-poster-body .guest-register-card .auth-foot{text-align:center;margin:19px 0 0;color:#cdd7dc;font-size:14px}
.guest-auth-poster-body .guest-register-card .auth-foot a{color:#ff4ca7;text-decoration:none;font-weight:700}
.guest-auth-poster-body .guest-register-card .flash{margin:0 0 16px}

@media(max-width:760px){
  .px-auth-topbar{padding:17px 24px 0}.px-auth-wordmark strong{font-size:31px}.px-auth-wordmark small{font-size:7px;letter-spacing:4px}.px-auth-menu summary{width:45px;height:42px}
  .guest-auth-poster-body .guest-register-stage.px-auth-page{padding:300px 14px 48px;background-size:760px auto}
  .guest-auth-poster-body .guest-register-card,.guest-auth-poster-body .guest-register-card.wide{width:min(94vw,680px);padding:27px 24px 26px}
}
@media(max-width:520px){
  .px-auth-topbar{padding:14px 17px 0}.px-auth-wordmark strong{font-size:27px}.px-auth-wordmark small{margin-top:5px;font-size:6px;letter-spacing:3.2px}.px-auth-menu summary{width:41px;height:38px;gap:6px}.px-auth-menu summary span{height:3px}.px-auth-menu nav{top:42px}
  .guest-auth-poster-body .guest-register-stage.px-auth-page{padding:238px 10px 34px;background-size:600px auto;background-position:center top}
  .guest-auth-poster-body .guest-register-card,.guest-auth-poster-body .guest-register-card.wide{width:100%;padding:23px 16px 23px;border-radius:7px}
  .guest-auth-poster-body .guest-register-card .auth-brand h1{font-size:27px}.guest-auth-poster-body .guest-register-card .auth-brand p{font-size:12px}.guest-auth-poster-body .guest-register-card .player-made-tagline strong{font-size:16px}
  .guest-auth-poster-body .guest-register-card .password-row{grid-template-columns:1fr}.guest-auth-poster-body .guest-register-card .password-row button{width:100%}
  .guest-auth-poster-body .guest-register-card input,.guest-auth-poster-body .guest-register-card select{min-height:49px;font-size:14px}.guest-auth-poster-body .guest-register-card button.primary{min-height:51px;font-size:16px}.guest-auth-poster-body .guest-register-card .google-oauth-button{min-height:50px;font-size:15px}
}
