/* Participant experience: official campaign artwork with clear mobile hierarchy. */
body.participant{color-scheme:dark;color:#f4f7ff;background:#062449 url('./assets/navy.webp') center/cover fixed;min-height:100svh}
.participant .join-shell{width:100%;max-width:1060px;padding:20px 28px 24px;min-height:100svh;display:flex;flex-direction:column;justify-content:center;text-align:center}
.participant-brand{display:flex;align-items:center;justify-content:space-between;gap:32px;position:relative;width:100%;padding:0 4px 12px;border-bottom:1px solid #cda75d30}
.participant-brand .bank-logo{display:block;width:178px;height:auto}
.participant-brand .campaign-logo{display:block;width:100px;height:auto;filter:drop-shadow(0 5px 7px #5a340b18)}
.join-content{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:60px;padding:34px 26px 12px}
.participant .occasion{margin:0}
.participant .campaign-line{font-size:14px;font-weight:700;letter-spacing:.2px;color:#e7be75;margin:0 0 16px;line-height:1.4}
.participant .occasion h1{font-family:inherit;font-size:48px;font-weight:750;line-height:1.08;letter-spacing:-1.7px;color:#f7f6ed;margin:0 0 16px}
.participant .occasion .invitation-copy{font-size:16px;line-height:1.55;color:#b7c8df}
.participant .lamp-stage{height:246px;margin:12px 0 0;position:relative;isolation:isolate}
.participant .hero-lamp{height:246px;width:246px;object-fit:contain;animation:none;filter:drop-shadow(0 14px 15px #a5631c26)}
.participant .lamp-halo{top:40px;width:250px;height:180px;background:radial-gradient(ellipse,#e5a83725,transparent 70%)}
.participation-area{min-width:0}
.participation-card{background:#082342ed;border:1px solid #8aa9c733;border-radius:22px;padding:28px;box-shadow:0 18px 48px #00000025;text-align:left}
.participant label{font-size:14px;font-weight:650;color:#edf3fc;margin-bottom:10px}
.participant input{background:#041a32;color:#f4f7ff;border:1px solid #728ba655;border-radius:10px;padding:16px;min-height:54px;font-size:16px;line-height:1.3;box-shadow:none}
.participant input::placeholder{color:#91a6be;opacity:1}
.participant input:focus{border-color:#f0c477;box-shadow:0 0 0 3px #f0c47720}
.participant .privacy{font-size:11px;line-height:1.5;color:#a4b7ce;margin:10px 0 22px}
.participant .gold-button{background:#f2ce8a;color:#132c49;border:1px solid #f2ce8a;border-radius:10px;box-shadow:0 6px 18px #00000015;padding:16px 18px;min-height:54px;width:100%;font-size:16px}
.participant .gold-button:hover{background:#ffdfa3}
.participant .gold-button:disabled{opacity:.55;background:#c3aa7a;cursor:default}
.participant button:focus-visible{outline-color:#f0c477}
.participant .gold-button>span:last-child{font-size:23px;line-height:1;font-weight:400}
.participant .message{min-height:0;color:#ffd294;font-size:13px;line-height:1.5;margin:14px 0 0;text-align:left}
.participant .message:empty{display:none}
.participant .join-footer{margin-top:18px;color:#b2c4dc;font-size:11px;line-height:1.5;gap:7px}
.participant .status-dot{width:5px;height:5px;background:#b07b22;box-shadow:none}
.participant .powered{margin-top:9px;color:#91a5bc;font-size:9px;letter-spacing:.4px}
.participant .success-panel{text-align:center;padding:0}
.participant .success-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#234b41;color:#b6edb4;margin:0 auto 16px;font-weight:700;font-size:20px}
.participant .success-panel h2{font-family:inherit;color:#f7f6ed;font-size:25px;font-weight:700;line-height:1.2;margin:0 0 12px;overflow-wrap:anywhere}
.participant .success-panel p{font-size:14px;line-height:1.6;color:#b2c4dc}
.participant.lit .hero-lamp{filter:drop-shadow(0 0 28px #e4a83b55)}
@media(max-width:700px){
 .participant .join-shell{max-width:460px;padding:16px 22px 22px;justify-content:flex-start}
 .participant-brand{padding:0 0 12px;gap:20px}
 .participant-brand .bank-logo{width:151px}
 .participant-brand .campaign-logo{width:88px}
 .join-content{display:block;padding:22px 0 0}
 .participant .campaign-line{font-size:12px;margin-bottom:12px}
 .participant .occasion h1{font-size:36px;letter-spacing:-1px;margin-bottom:12px}
 .participant .occasion .invitation-copy{font-size:14px;line-height:1.5}
 .participant .lamp-stage{height:170px;margin:10px 0 18px}
 .participant .hero-lamp{width:170px;height:170px}
 .participant .lamp-halo{top:34px;width:210px;height:130px}
 .participation-card{padding:20px;border-radius:18px}
 .participant .privacy{margin-bottom:17px}
 .participant .join-footer{margin-top:15px}
}
@media(max-width:350px){
 .participant .join-shell{padding:12px 16px 18px}
 .participant-brand .bank-logo{width:139px}
 .participant-brand .campaign-logo{width:76px}
 .join-content{padding-top:18px}
 .participant .occasion h1{font-size:32px}
 .participant .lamp-stage{height:152px}
 .participant .hero-lamp{width:152px;height:152px}
 .participation-card{padding:18px}
}
@media(min-width:701px) and (max-width:900px){.join-content{gap:30px;padding:32px 0 10px}.participant .occasion h1{font-size:40px}}

/* Keep decoration at the edges and content on one consistent vertical axis. */
.participant .lamp-stage{display:flex;align-items:center;justify-content:center;position:relative}
.participant .hero-lamp{display:block;flex:none;max-height:100%;max-width:100%;position:relative}
.participant .lamp-halo{position:absolute;left:50%;transform:translateX(-50%);pointer-events:none}
.participant form{text-align:left}
@media(max-width:700px){body.participant{background-position:center top;background-size:auto max(100svh,780px)}.participant .participation-card{background:#082342f5}.participant .join-shell{padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(22px,env(safe-area-inset-bottom))}}
