/* Awesome Design direction: disciplined sports editorial, Lions blue / gold. */
:root{--blue:#00338d;--ink:#183453;--muted:#6e7f95;--line:#dce4ef;--pale:#eff5fc}body{background:#f3f5f8;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'PingFang HK','Noto Sans TC',sans-serif;line-height:1.6}.header{max-width:1240px;padding:20px 36px;border-radius:0;box-shadow:none;background:#fff}.brand strong{font-size:21px}.brand img{width:48px;height:48px}.brand small{font-size:9px;letter-spacing:.08em}main{max-width:1240px;margin:0 auto;background:#fff}.hero{min-height:400px;padding:50px 48px;border-radius:0;background-image:linear-gradient(90deg,#062c72 0%,#062c72f2 30%,#062c7280 57%,#062c7200 80%),url('/static/assets/hero-macpherson.png');background-position:center;background-size:cover;border-bottom:5px solid #f3be29}.hero h1{line-height:1.15;letter-spacing:-.04em;max-width:650px}.hero h1 em{font-size:84px;letter-spacing:-.06em;color:#f6c438}.hero h1>span{font-size:50px}.hero-content>p:not(.venue){font-size:17px;font-weight:400;letter-spacing:.04em}.eyebrow{font-size:10px;letter-spacing:.2em;opacity:.8}.event-lines{position:static;gap:14px;font-size:13px;margin-top:24px}.event-lines span:first-child{background:#f6c438;border-radius:6px;color:#102d55;padding:8px 14px}.venue{font-size:24px!important;letter-spacing:0;margin:16px 0}.badges{position:static;display:flex;gap:8px;margin-top:18px}.badges span{padding:5px 11px;background:#ffffff12;border:1px solid #ffffff45;border-radius:4px;font-size:11px;font-weight:500}.page{margin:30px 36px 40px}.content-grid{grid-template-columns:minmax(0,1fr) 310px;gap:28px;align-items:start}.card{border:1px solid #e1e7f0;border-radius:12px;box-shadow:none;background:white;padding:28px}#registerForm{padding:28px;border-radius:12px}#registerForm .steps{margin:-28px -28px 26px;padding:22px 26px;background:#f6f8fc;border-bottom:1px solid #e3e9f1;min-height:78px;gap:12px;border-radius:12px 12px 0 0}.steps b{height:30px;width:30px;font-size:13px;box-shadow:none}.steps li{font-size:12px;gap:8px}.section-kicker{display:block;color:#8c7235;font-size:10px;letter-spacing:.17em;margin-bottom:7px}#registerForm h2{font-size:28px;letter-spacing:-.03em;margin:0 0 8px}p.muted{font-size:13px}.fields{gap:18px 22px;margin-top:25px}label{font-size:12px;font-weight:600;color:#39516f}input,select{border:1px solid #cdd8e7;border-radius:6px;background:#fcfdff;min-height:45px;box-shadow:none;font:inherit;color:#17395f}input:focus,select:focus{outline:2px solid #d1e0fa;border-color:#4778be}input[type=checkbox]{min-height:0}.info{border:0;border-left:3px solid #d9ad39;border-radius:5px;background:#f3f7fd;padding:16px 18px;font-size:13px}#registerForm>.info{margin-top:24px;padding-left:18px}#registerForm>.info:before{display:none}.check{font-size:12px;margin:15px 0;gap:10px}.primary{background:#00338d;color:#fff;border-radius:6px;padding:14px;font-size:14px;box-shadow:none;letter-spacing:.02em}.primary:hover:not(:disabled){background:#052866}.primary:disabled{background:#e2e8f0;color:#46566d;opacity:1}.fine{font-size:11px;color:#7b8799}.summary{padding:26px!important;margin:0!important;min-height:0!important;border-top:4px solid #00338d;position:static}.summary-heading{background:none;color:#183453;margin:0!important;padding:0;font-size:16px}.summary .section-kicker,.summary>h3{display:none}.summary .price{font-size:49px;letter-spacing:-.04em;margin:18px 0 22px;line-height:1}.price small{font-size:12px;color:#718099;letter-spacing:0}.summary dl>div{padding:15px 0!important}.summary dl>div:before{display:none}.summary dd{font-size:17px!important}.summary dt{font-size:12px}.summary-note{position:static!important;top:auto!important;margin:25px -26px -26px;padding:22px 26px!important;border-top:1px solid #dce4ef;background:#f4f7fc;border-radius:0 0 10px 10px}.summary-note:before{display:none}.summary-note h3{font-size:15px}.summary-note p{font-size:12px}.payment-summary{background:#f6f8fc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:24px;padding:22px 28px}.payment-summary strong{font-size:30px}.tabs{margin-top:20px;padding:4px;background:#f1f4f9;border:0;border-radius:8px;gap:4px}.tabs button{border-radius:5px;background:none;font-size:13px;padding:12px 8px}.tabs button[aria-selected=true]{background:#fff;color:#00338d;box-shadow:0 2px 6px #143a6910}.payment-steps{margin:0;padding:0 4px 25px}.fps-details{font-size:13px}#fpsQr{width:240px}footer{max-width:1240px;background:#f9fafc;border-top:1px solid #e3e9f0;padding:25px 36px;margin:auto}.partners img{height:50px}.partners figcaption{font-size:10px}body[data-page=admin] main{padding-top:1px}body:not([data-page=registration]) .hero{min-height:220px;padding:30px 40px}#adminPage{margin:30px;border:0}button:focus-visible,a:focus-visible{outline:3px solid #e5bc47;outline-offset:3px}@media(max-width:750px){.header{padding:15px 20px}.brand strong{font-size:17px}.hero{min-height:370px;padding:30px 24px;background-position:65% center;background-image:linear-gradient(90deg,#062c72f5,#062c7290 65%,#062c7230),url('/static/assets/hero-macpherson.png')}.hero h1 em{font-size:64px}.hero h1>span{font-size:38px}.hero-content>p:not(.venue){font-size:14px}.event-lines{font-size:11px;flex-wrap:wrap}.venue{font-size:22px!important}.badges{flex-wrap:wrap}.content-grid{grid-template-columns:1fr;gap:20px}.page{margin:20px 16px 28px}#registerForm{padding:22px}#registerForm .steps{margin:-22px -22px 24px;padding:18px 15px;gap:7px}.steps li{font-size:10px}.steps b{width:25px;height:25px}#registerForm h2{font-size:25px}.fields{grid-template-columns:1fr;gap:17px}.summary{order:2}.summary dl{display:block}.summary dl>div:last-child{display:flex}.summary .price{font-size:44px}.summary-note{margin-top:22px}.card{padding:22px}.payment-summary{padding:18px}.tabs button{font-size:12px}footer{padding:22px}.partner-group+.partner-group{border:0;padding-left:0}body:not([data-page=registration]) .hero{padding:26px 24px;min-height:210px}#adminPage{margin:16px 0}}

/* Keep the home banner close to its original 2172 x 724 image ratio. */
body[data-page=registration] .hero{aspect-ratio:3/1;min-height:352px;padding:27px 38px}
@media(max-width:750px){body[data-page=registration] .hero{aspect-ratio:auto;min-height:350px;padding:25px 22px}body[data-page=registration] .hero h1 em{font-size:57px}body[data-page=registration] .hero h1>span{font-size:32px}body[data-page=registration] .event-lines{margin-top:12px}body[data-page=registration] .badges{margin-top:12px}}
