.referral-page{padding:100px 8vw 120px}.referral-page .container{max-width:1000px}.referral-page h1{font-size:clamp(32px,5vw,64px);line-height:1.2;margin:24px 0}.referral-page h2{font-size:clamp(22px,3vw,32px);line-height:1.5;max-width:800px}.referral-page p,.referral-page li{font-size:18px;line-height:1.9}.referral-page .referral-rate{font-size:clamp(100px,15vw,180px);line-height:1.1;font-weight:700;letter-spacing:-.07em;margin:32px 0;color:#682c83}.referral-rate span{font-size:.4em;letter-spacing:0}.referral-page ol{padding-left:24px;margin:28px 0}.referral-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:30px}
/* Screenshot-based vertical contact rail; keep the same composition at narrow widths. */
.contact-rail{--rail-bg:#ede9df;--rail-item:clamp(76px,12vh,112px);position:fixed;right:20px;top:clamp(90px,calc(50vh - 300px),180px);z-index:90;width:72px;color:#333;font-family:inherit}
.contact-rail a,.contact-rail button{color:inherit;text-decoration:none}
.rail-mascot{position:absolute;z-index:2;top:-30px;left:-6px;width:84px;height:84px;object-fit:contain;pointer-events:none}
.contact-rail-items{padding:42px 0 0;background:var(--rail-bg);border-radius:42px 42px 0 0;box-shadow:0 4px 24px #0000000c}
.contact-rail-items>a,.contact-rail-items>button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:13px;height:var(--rail-item);padding:12px 8px;width:100%;border:0;border-bottom:1px solid #fff2;background:none;font:inherit;cursor:pointer}
.contact-rail-items span{writing-mode:vertical-rl;letter-spacing:4px;font-size:18px;line-height:1.3}
.contact-rail svg{width:29px;height:29px;flex-shrink:0}
.contact-rail-items>a:hover,.contact-rail-items>button:hover,.contact-rail-items>[aria-expanded=true]{background:#e4dfd3}
.contact-rail a:focus-visible,.contact-rail button:focus-visible{outline:3px solid #6b3f87;outline-offset:3px}
.rail-reward{position:fixed;left:22px;bottom:22px;display:flex;gap:9px;align-items:center;background:var(--rail-bg);border-radius:30px;padding:11px 18px;font-size:13px;box-shadow:0 3px 15px #0001}
.rail-reward svg{width:22px;height:22px}.rail-reward small{margin-left:8px;font-weight:700;font-size:15px}
.rail-popup{position:absolute;right:90px;top:40px;width:264px;padding:32px 24px;background:#fff;color:#333;box-shadow:0 8px 35px #0002;text-align:center;line-height:1.7}
.rail-popup[hidden]{display:none}.rail-popup strong{display:block;font-size:21px;font-weight:500}.rail-popup p{font-size:15px;margin:16px 0;overflow-wrap:anywhere}.rail-popup>a{display:block;font-size:16px}
.contact-rail [data-rail-close]{position:absolute;top:3px;right:5px;border:0;background:none;font-size:24px;cursor:pointer;width:32px;height:32px;z-index:2}
.rail-wechat-popup{right:0;top:calc(var(--rail-item) * 2 + 42px);width:228px;padding:0;background:none;box-shadow:none}
.rail-qr-card{position:relative;background:white;padding:25px 22px 17px;box-shadow:0 6px 25px #0001}
.rail-qr-card:after{content:'';position:absolute;left:50%;bottom:-11px;width:22px;height:22px;background:#fff;transform:translateX(-50%) rotate(45deg)}
.rail-qr{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;margin:0 auto 16px}
.rail-wechat-fallback{min-height:145px;display:flex;flex-direction:column;align-items:center;justify-content:center}.rail-wechat-fallback svg{width:62px;height:62px}.rail-wechat-fallback p{margin:12px 0;font-size:15px}
.rail-popup .rail-scan{display:block;width:max-content;max-width:100%;margin:24px auto 0;padding:10px 32px;border-radius:40px;background:var(--rail-bg);font-size:24px;line-height:1.4;font-weight:500}
html[lang=en] .contact-rail-items span{writing-mode:horizontal-tb;letter-spacing:0;font-size:11px}
.enquiry-form small{font-size:13px;line-height:1.6;font-weight:400}.shortlist-bubble{bottom:94px!important}.referral-page ol{list-style:decimal}
@media(max-width:700px){.contact-rail{--rail-item:73px;right:8px;top:30%;width:48px}.rail-mascot{width:61px;height:61px;left:-7px;top:-27px}.contact-rail-items{padding-top:25px;border-radius:30px 30px 0 0}.contact-rail-items>a,.contact-rail-items>button{padding:8px 3px;gap:6px}.contact-rail-items span{font-size:13px;letter-spacing:2px}.contact-rail svg{width:22px;height:22px}.rail-popup{position:fixed;right:68px;top:auto;bottom:32px;width:min(240px,calc(100vw - 84px))}.rail-wechat-popup{right:8px;bottom:20px;top:auto;width:min(228px,calc(100vw - 76px))}.rail-reward{left:12px;bottom:14px;padding:10px 14px;font-size:12px}.rail-reward small{font-size:12px}.rail-popup .rail-scan{font-size:21px}.referral-page{padding:55px 68px 110px 24px}.referral-page p,.referral-page li{font-size:16px}html[lang=en] .contact-rail-items span{font-size:9px}}
@media(max-height:650px){.contact-rail{--rail-item:62px;top:65px}.contact-rail-items>a,.contact-rail-items>button{gap:5px;padding:5px}.contact-rail-items span{writing-mode:horizontal-tb;font-size:12px;letter-spacing:0}.rail-wechat-popup{position:fixed;right:100px;top:auto;bottom:20px}}
.contact-rail-items span{white-space:nowrap;flex-shrink:0}.contact-rail .rail-wechat-fallback svg{width:62px;height:62px}
@media(max-width:700px) and (min-height:651px){.contact-rail{--rail-item:80px}}
