:root{font-family:system-ui,sans-serif;color:#111d3b;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}header{background:#111d3b;padding:24px 6vw}header a{color:white;text-decoration:none;font-size:28px;font-weight:800}header span{display:block;font-size:10px;letter-spacing:2px;color:#ffdf38;margin-top:5px}main{max-width:720px;margin:auto;padding:35px 22px}h1{font-size:clamp(32px,6vw,46px);letter-spacing:-1.5px;line-height:1.1}p{color:#566178;line-height:1.6}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px}nav{display:flex;gap:12px;margin:26px 0}button{border:1px solid #d5dae4;border-radius:14px;padding:15px 20px;background:white;color:#111d3b;font:inherit;font-weight:750;cursor:pointer;min-height:50px}button:disabled{opacity:.5;cursor:wait}button.primary{background:#111d3b;color:white;width:100%;margin-top:12px}nav button.selected{background:#ffdf38;border-color:#ffdf38}form,section,.offer{background:white;border:1px solid #e2e6ee;border-radius:24px;padding:24px;box-shadow:0 12px 35px #111d3b06}label{display:block;font-size:14px;font-weight:650;margin-top:18px}input{display:block;padding:15px;border:1px solid #ced5e1;border-radius:12px;width:100%;font:inherit;margin-top:8px}input:focus{outline:3px solid #ffdf38;border-color:#111d3b}.check{display:flex;gap:12px;line-height:1.5;font-weight:400}.check input{width:20px;flex-shrink:0}footer{font-size:12px;color:#66718a;line-height:1.6;margin-top:32px}#message{padding:15px;background:#fff9dc;border-radius:12px}#message:empty{display:none}a.action{display:block;padding:16px;border-radius:14px;background:#ffdf38;color:#111d3b;font-weight:800;text-decoration:none;margin:14px 0}[hidden]{display:none!important}

fieldset{border:1px solid #dbe1eb;border-radius:16px;padding:20px;margin:24px 0}legend{font-weight:750}select,textarea{width:100%;font:inherit;border:1px solid #cbd1dd;border-radius:10px;padding:12px;box-sizing:border-box;background:white;color:#111D3B}textarea{min-height:90px}#reviewReason{white-space:pre-wrap;background:#fff4c4;padding:16px;border-radius:12px}#reviewReason:empty{display:none}

/* Shared platform identity for registration, independent of merchant branding. */
.cp-registration-header{padding:28px 22px 24px;text-align:center;background:#111D3B}
.cp-brand-lockup{display:inline-flex;align-items:center;gap:12px;text-align:left;text-decoration:none}
.cp-brand-mark{display:block;width:88px;height:88px;border-radius:22px;animation:cp-brand-arrive 1.35s cubic-bezier(.16,1,.3,1) both;will-change:transform}
header .cp-brand-words{display:flex;flex-direction:column;color:#fff;margin:0;letter-spacing:0;animation:cp-word-arrive .9s .14s both}
.cp-brand-words strong{font-size:clamp(32px,8vw,42px);font-weight:850;line-height:1.04;letter-spacing:-1.4px}
.cp-brand-words small{font-size:11px;color:#FFD43B;letter-spacing:5px;margin-top:9px;font-weight:800}
.cp-brand-caption{color:#d3dbea;font-size:13px;margin:12px 0 0;line-height:1.4;animation:cp-word-arrive .8s .25s both}
@keyframes cp-brand-arrive{0%{opacity:0;transform:translateY(10px) scale(.85) rotate(-9deg)}60%{opacity:1;transform:translateY(-3px) scale(1.04) rotate(3deg)}100%{opacity:1;transform:none}}
@keyframes cp-word-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.cp-brand-mark,header .cp-brand-words,.cp-brand-caption{animation:none;will-change:auto}}

/* Brief opening identity; the form loads underneath, with no blocking timer. */
.cp-intro{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:#111D3B;pointer-events:none;animation:cp-intro-exit 1.4s ease-in both}
.cp-intro-brand{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px;animation:cp-intro-rise .6s cubic-bezier(.16,1,.3,1) both}
.cp-intro-mark{width:144px;height:144px;display:block;border-radius:32px;animation:cp-intro-ring .9s ease-in-out both}
.cp-intro-name{color:#fff;font-size:clamp(36px,10vw,48px);font-weight:850;letter-spacing:-1.8px;line-height:1.1;margin-top:10px}
.cp-intro-delivery{color:#FFD43B;font-size:12px;font-weight:800;letter-spacing:6px;padding-left:6px;margin-top:12px}
.cp-intro-dots{display:flex;gap:7px;margin-top:30px}.cp-intro-dots i{display:block;width:6px;height:6px;border-radius:50%;background:#FFD43B;animation:cp-intro-dot .7s ease-in-out both}.cp-intro-dots i:nth-child(2){animation-delay:.12s}.cp-intro-dots i:nth-child(3){animation-delay:.24s}
@keyframes cp-intro-exit{0%,75%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
@keyframes cp-intro-rise{from{opacity:0;transform:translateY(12px) scale(.94)}to{opacity:1;transform:none}}
@keyframes cp-intro-ring{0%,100%{transform:rotate(0)}25%{transform:rotate(-7deg)}50%{transform:rotate(5deg)}75%{transform:rotate(-2deg)}}
@keyframes cp-intro-dot{0%,100%{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.cp-intro{display:none;animation:none}.cp-intro *{animation:none!important}}
