@font-face{font-family:Bricolage Grotesque;src:url(/BricolageGrotesque.woff2) format("woff2");font-display:swap}@font-face{font-family:Inter;src:url(/Inter.woff2) format("woff2");font-display:swap}:root{font-family:Inter,system-ui,sans-serif;color:#1e1e1e;background:#f2f2ef;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button{font:inherit}.shell{min-height:100dvh;padding:24px 32px 20px;display:grid;grid-template-rows:auto 1fr auto;background:radial-gradient(circle at 92% 12%,#f2b01e 0 7%,transparent 7.2%),linear-gradient(112deg,transparent 0 72%,rgba(227,58,44,.08) 72% 100%),#f2f2ef;overflow:hidden}.shell header{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:50px}.shell header img{width:clamp(150px,22vw,220px);height:50px;object-fit:contain;object-position:left center}.experience-mark,.brand-name{font-family:Bricolage Grotesque,Inter,sans-serif;font-size:clamp(22px,3vw,34px)}.shell header div{display:flex;align-items:center;gap:8px;text-align:right}.shell header span,.eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em}.shell header strong{font-size:15px}.shell footer{text-align:center;font-size:12px;font-weight:650;color:#5f625f}.stage{width:min(760px,100%);margin:auto;padding:32px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;text-align:center}.intro{display:grid;justify-items:center;gap:12px}.eyebrow{display:inline-flex;padding:8px 12px;border:1px solid #1e1e1e;border-radius:999px;background:#fff}.stage h1{max-width:680px;margin:0;font-family:Bricolage Grotesque,Inter,sans-serif;font-size:clamp(44px,7vw,76px);font-weight:800;line-height:.96;letter-spacing:-.04em}.stage p{max-width:590px;margin:0;font-size:clamp(16px,2.2vw,20px);line-height:1.55}.stage-content{width:100%;display:grid;justify-items:center;gap:24px}.paper-preview{width:230px;min-height:290px;padding:28px 18px;background:#fff;border:2px solid #1e1e1e;box-shadow:10px 10px #0b4d57;transform:rotate(-2deg);display:flex;flex-direction:column;justify-content:space-between;text-align:left}.paper-preview span{font-size:12px;font-weight:800;letter-spacing:.1em}.paper-preview strong{font-family:Bricolage Grotesque,sans-serif;font-size:43px;line-height:.9}.paper-preview i{border-top:2px solid;font-size:12px;font-style:normal;padding-top:12px}.button{min-height:56px;min-width:220px;padding:14px 24px;border-radius:12px;border:2px solid #0b4d57;font-weight:800;cursor:pointer;transition:transform .14s}.button:active{transform:translateY(2px)}.button:focus-visible,.choice:focus-visible,.text-button:focus-visible{outline:3px solid #e33a2c;outline-offset:3px}.primary{background:#0b4d57;color:#fff}.campaign{background:#f2b01e;color:#1e1e1e;border-color:#1e1e1e;box-shadow:5px 5px #1e1e1e}.secondary{background:#fff;color:#0b4d57}.button:disabled{opacity:.6;cursor:wait}.text-button{border:0;background:transparent;color:#0b4d57;text-decoration:underline;font-weight:700;min-height:44px;cursor:pointer}.choices{width:100%;display:grid;gap:14px}.choice{min-height:112px;padding:18px 22px;background:#fff;border:2px solid #1e1e1e;border-radius:16px;display:grid;grid-template-columns:44px 1fr auto;grid-template-rows:auto auto;text-align:left;align-items:center;cursor:pointer;box-shadow:5px 5px #0b4d57}.choice>span{grid-row:1/3;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f2b01e;font-size:12px;font-weight:800}.choice strong{font-family:Bricolage Grotesque,sans-serif;font-size:28px}.choice small{font-size:14px;color:#5f625f}.choice i{grid-column:3;grid-row:1/3;font-size:30px;font-style:normal}.choice.selected{background:#0b4d57;color:#fff}.camera-frame{width:min(500px,90vw);aspect-ratio:4/3;padding:24px;border:3px dashed #fff;border-radius:24px;background:#0b4d57;color:#fff;display:grid;place-items:center;align-content:center;gap:20px}.camera-mark{padding:8px 12px;border-radius:999px;background:#f2b01e;color:#1e1e1e;font-size:12px;font-weight:800}.photo{width:min(430px,80vw);aspect-ratio:1;margin:0;border:4px solid #1e1e1e;border-radius:24px;overflow:hidden;box-shadow:10px 10px #f2b01e;background:#0b4d57}.self-serve-timer{position:fixed;top:18px;left:50%;z-index:5;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:8px 14px;border:2px solid #1e1e1e;border-radius:999px;background:#fff;box-shadow:3px 3px #1e1e1e;font-size:12px;font-weight:800}.self-serve-timer strong{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#f2b01e}.photo img{width:100%;height:100%;object-fit:cover}.actions{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.microcopy{font-size:13px!important;color:#5f625f}.status{min-height:70vh}.status h1{font-size:clamp(36px,6vw,60px)}.status-mark,.spinner{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:#f2b01e;border:3px solid #1e1e1e;font-size:40px;font-weight:800}.spinner{border:9px solid #d8d8d2;border-top-color:#e33a2c;background:transparent;animation:spin 1s linear infinite}.result-card{width:min(540px,95%);padding:24px;background:#fff;border:2px solid #1e1e1e;border-radius:16px;box-shadow:8px 8px #0b4d57;display:flex;align-items:center;gap:24px;text-align:left}.qr{width:180px;height:180px}.qr.pending{background:#d8d8d2;display:grid;place-items:center;text-align:center;color:#5f625f;font-size:14px;font-weight:800}.result-card strong{font-family:Bricolage Grotesque,sans-serif;font-size:27px}.result-card p{font-size:15px}.result-link{display:inline-block;margin-top:10px;color:#0b4d57;font-size:14px;font-weight:800}.notice{padding:12px 16px;background:#fff;border-left:5px solid #8a5b00;font-size:14px!important}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:600px){.shell{padding:20px}.stage{padding:24px 0}.result-card{flex-direction:column;text-align:center}.actions,.actions .button{width:100%}}@media(max-height:900px)and (min-width:700px){.stage{padding:10px 0;gap:14px}.intro{gap:6px}.stage h1{font-size:clamp(38px,5vw,58px)}.stage p{font-size:16px}.stage-content{gap:12px}.choices{gap:9px}.choice{min-height:82px;padding:10px 18px}.choice strong{font-size:23px}.choice i{font-size:24px}}
