:root{--bg:#f5f3ee;--ink:#14232e;--navy:#0c1924;--lime:#d6ff49;--gold:#b89b58;--muted:#65717a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,'Noto Sans TC','Microsoft JhengHei',sans-serif;background:var(--bg);color:var(--ink);line-height:1.65}a{text-decoration:none;color:inherit}.nav{position:sticky;top:0;z-index:20;background:#0c1924f5;color:white;display:flex;align-items:center;justify-content:space-between;padding:15px 5%;border-bottom:1px solid #ffffff25}.logo{font-weight:900;font-size:25px;letter-spacing:2px;line-height:1}.logo span{display:block;font-size:10px;letter-spacing:1px;margin-top:7px;font-weight:400}.nav nav{display:flex;align-items:center;gap:23px;font-size:13px}.nav a:hover{color:var(--lime)}.navcta{background:var(--lime);padding:9px 15px;color:var(--navy)!important;font-weight:bold}.menu{display:none;background:none;border:0;color:white;font-size:24px}.hero{min-height:640px;display:grid;grid-template-columns:57% 43%;background:var(--navy);color:#fff;overflow:hidden}.hero-inner{padding:100px 8% 65px 9%;position:relative;z-index:2}.eyebrow,.kicker{font-size:12px;font-weight:800;letter-spacing:2px;color:var(--gold)}h1{font-size:clamp(42px,5.3vw,83px);line-height:1.13;letter-spacing:-2px;margin:30px 0}h1 em{font-style:normal;color:var(--lime)}.intro{max-width:540px;color:#c6cfd5;font-size:17px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:35px 0 55px}.btn{display:inline-block;padding:13px 21px;font-weight:800;font-size:13px;border:1px solid #fff8}.primary{background:var(--lime);color:var(--navy);border-color:var(--lime)}.outline{color:white}.metrics{display:flex;gap:40px}.metrics div{display:flex;flex-direction:column}.metrics strong{font-size:29px;color:var(--lime)}.metrics small{font-size:11px;color:#b7c2c8}.hero-art{position:relative;background:radial-gradient(circle at 60% 50%,#304d5d,#101f2b 70%);overflow:hidden}.track{position:absolute;border:35px solid #d6ff491e;border-radius:50%;width:640px;height:640px;transform:rotate(-35deg);top:0;left:-130px}.track2{width:430px;height:430px;top:100px;left:-25px;border-width:15px;border-color:#ffffff15}.rider-icon{position:absolute;top:43%;left:18%;font-size:120px;color:var(--lime);transform:rotate(-20deg);white-space:nowrap;letter-spacing:-30px;text-shadow:0 10px 40px #0007}.rider-icon span{font-size:60px}.vertical{position:absolute;right:20px;bottom:30px;writing-mode:vertical-rl;letter-spacing:7px;font-size:13px;color:#ffffff8c}.section{padding:95px 7%;max-width:1600px;margin:auto}.section h2{font-size:clamp(29px,3.8vw,52px);line-height:1.22;letter-spacing:-1px;margin:18px 0 25px}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.split p{font-size:17px}.muted{color:var(--muted)}.dark{background:var(--navy);color:white;max-width:none}.dark .muted{color:#aab8c2}.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.chip{border:1px solid #ffffff60;border-radius:30px;padding:8px 16px;font-size:12px}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:30px 0 50px}.event{background:#1a2c39;padding:18px;display:flex;gap:14px;align-items:start;min-height:92px}.event span{color:var(--lime);font-weight:800;font-size:12px}.event strong{font-size:13px;font-weight:500}.banner{border-top:1px solid #ffffff4a;padding:32px 0;display:flex;justify-content:space-between;gap:30px}.banner small{color:var(--lime);letter-spacing:2px}.banner h3{font-size:34px;margin:8px 0}.banner p{color:#bac6ce}.banner-mark{font-size:25px;line-height:1.2;text-align:right;color:#d6ff496e;font-weight:900}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:40px 0 25px}.feature{background:white;border:1px solid #dce0dc;padding:28px;min-height:245px}.feature .num{color:var(--gold);font-weight:900}.feature h3{font-size:22px}.feature p{color:#53616a;font-size:14px}.status{display:inline-block;font-size:11px;background:#e8eddf;padding:5px 10px}.notice{background:#e9e8e1;padding:15px 20px;font-size:13px}.light{background:#e7e9e4;max-width:none}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.cards article{background:#fff;padding-bottom:20px}.cards h3,.cards p{padding:0 22px}.cards p{color:#5e6b73;font-size:14px}.art{height:210px;padding:24px;display:flex;align-items:end;font-size:37px;line-height:1.05;font-weight:900;letter-spacing:-1px}.art1{background:linear-gradient(145deg,#b7da3c,#253f30);color:white}.art2{background:linear-gradient(145deg,#172c3b,#7191a0);color:#d6ff49}.art3{background:linear-gradient(145deg,#b89b58,#2e3540);color:white}.partner-panel{border:1px solid #b6c0bd;padding:35px}.partner-panel span{font-size:12px;letter-spacing:2px;color:#987d39}.partner-panel h3{font-size:26px}.contact{background:#1a303e;color:white;max-width:none}.contact p{max-width:650px}.contact .muted{font-size:12px;color:#aab8c2}footer{background:#08131c;color:#bdc9d0;padding:30px 7%;display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap;font-size:12px}footer b{display:block;font-size:24px;color:white}footer span{display:block}@media(max-width:850px){.menu{display:block}.nav nav{display:none;position:absolute;top:65px;left:0;right:0;background:#0c1924;flex-direction:column;align-items:stretch;padding:25px;gap:18px}.nav nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-inner{padding:65px 7%}.hero-art{height:250px}.rider-icon{font-size:80px;top:20%;left:30%}.split{grid-template-columns:1fr;gap:15px}.event-grid,.feature-grid,.cards{grid-template-columns:1fr 1fr}.section{padding:65px 6%}}@media(max-width:570px){h1{font-size:42px}.metrics{gap:18px}.metrics strong{font-size:24px}.event-grid,.feature-grid,.cards{grid-template-columns:1fr}.section-head{display:block}.banner-mark{display:none}.hero-art{height:190px}.rider-icon{top:10%}}

.language-switch{display:flex;align-items:center;gap:5px;margin-left:12px;flex-shrink:0}.language-switch a{padding:7px 10px;border:1px solid currentColor;border-radius:6px;text-decoration:none;font-size:13px;font-weight:700;opacity:.7}.language-switch a[aria-current="page"]{background:#d9f24c;color:#101820;border-color:#d9f24c;opacity:1}@media(max-width:980px){.language-switch{margin-left:auto;margin-right:12px}.language-switch a{padding:6px 9px}}

/* HKKBA V1.3 additions */
.top-contact{display:flex;gap:18px;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:9px 5%;background:#edf7ff;color:#15345b;font-size:13px}.top-contact a{color:inherit;text-decoration:none}.nav .logo img{width:75px;height:75px;object-fit:contain;background:white;border-radius:12px}.banner-slider{height:clamp(220px,38vw,500px);position:relative;background:#0954c6;overflow:hidden}.banner-slider .slide{position:absolute;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .45s}.banner-slider .slide.active{opacity:1}.banner-slider button{position:absolute;top:48%;z-index:3;border:0;border-radius:50%;width:44px;height:44px;background:#092d66cc;color:white;font-size:23px;cursor:pointer}.slide-prev{left:15px}.slide-next{right:15px}.event-details summary{padding:18px;background:#1375d1;color:white;border-radius:12px;cursor:pointer;font-weight:bold;margin:20px 0}.recognition{margin-top:24px;padding:24px;border-radius:16px;background:linear-gradient(110deg,#e8f5ff,#f3e8ff);color:#173a65}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.video-grid a{min-height:140px;border-radius:15px;background:linear-gradient(135deg,#0959b6,#4b319a);color:white;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;font-size:19px;font-weight:bold}.share-card{margin-top:12px;padding:9px 14px;border:1px solid #54a4e5;border-radius:30px;background:#fff;color:#17518a;cursor:pointer}body{background-image:radial-gradient(circle at 96% 12%,#c4ebff50 0 100px,transparent 102px),radial-gradient(circle at 3% 75%,#d6f5ed70 0 120px,transparent 122px)}@media(max-width:700px){.top-contact{justify-content:center;font-size:11px}.video-grid{grid-template-columns:1fr}.nav .logo img{width:50px;height:50px}}

/* V1.4: restore original hero layout; banners are compact square slides at right */
.hero{min-height:430px;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center}
.hero-inner{padding:52px 7% 48px 9%}
.hero h1{font-size:clamp(34px,4vw,62px);margin:20px 0}
.hero .actions{margin:24px 0 30px}
.hero-art{height:100%;min-height:420px;display:flex;align-items:center;justify-content:center;padding:26px;background:radial-gradient(circle at 60% 50%,#304d5d,#101f2b 70%)}
.hero-banner-card{width:min(100%,370px);aspect-ratio:1/1;border:5px solid #ffffff25;border-radius:18px;overflow:hidden;box-shadow:0 18px 45px #0007;background:#0b3b8a}
.hero-banner-card .banner-slider{width:100%;height:100%;aspect-ratio:1/1}
.hero-banner-card .slide{object-fit:contain}
.hero-banner-card .banner-slider button{width:34px;height:34px;font-size:18px}
@media(max-width:850px){.hero{grid-template-columns:1fr}.hero-art{height:auto;min-height:0;padding:18px 6% 34px}.hero-banner-card{width:min(100%,320px)}.hero-inner{padding:46px 7% 22px}}

/* V1.5: visible and clickable contact channels on both language versions */
.top-contact{justify-content:flex-end;gap:12px 20px;padding:10px 5%;align-items:center}.top-link{display:inline-flex;align-items:center;gap:7px;font-weight:700;overflow-wrap:anywhere}.top-link svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.top-contact .whatsapp-link{color:#087a42}.top-contact .whatsapp-icon{width:22px;height:22px;fill:#20b96a;stroke:#fff;stroke-width:1.2}.social-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;flex-shrink:0}.facebook-icon{background:#1877f2;color:#fff!important;font:bold 25px Arial,sans-serif;padding-top:5px}.instagram-icon{background:linear-gradient(45deg,#f9ce34,#ee2a7b,#6228d7);color:white}.instagram-icon svg{width:22px;height:22px;fill:none;stroke:white;stroke-width:2}.instagram-icon .ig-dot{fill:white;stroke:none}.instagram-icon.pending{opacity:.65;cursor:default}.whatsapp-cta{margin-left:10px;background:#20b96a;color:white;border-color:#20b96a}.facebook-cta{margin-left:10px;background:#1877f2;color:white;border-color:#1877f2}@media(max-width:700px){.top-contact{justify-content:center;gap:8px 13px}.top-link{font-size:12px}.whatsapp-cta,.facebook-cta{margin:10px 8px 0 0}}

/* V1.6: school honour roll and dated event additions */
.honour-poster-link{display:block;max-width:560px;margin:25px auto 32px;text-align:center;color:#163c66;font-weight:800}.honour-poster-link img{width:100%;height:auto;display:block;border-radius:12px;box-shadow:0 12px 30px #102b4a25}.honour-poster-link span{display:block;margin-top:10px;text-decoration:underline;text-underline-offset:4px}.event-date,.event-place{display:block;color:#b9cbd8;font-size:12px;margin-bottom:6px}.event-place{margin-top:7px;margin-bottom:0}.event-disclaimer{color:#b9cbd8;font-size:13px}.event-details h3{margin:30px 0 5px;color:#d6ff49}

/* V1.8 lookup and forms */
.lookup-box{display:grid;gap:9px;margin-top:16px}.lookup-box label{font-weight:700}.lookup-box input{width:100%;padding:12px;border:1px solid #a8b4c7;border-radius:9px;font-size:16px;background:#fff;color:#14213b}.lookup-btn,.mini-action{display:inline-block;padding:11px 14px;border-radius:9px;background:#1d64bc;color:#fff!important;border:0;font-weight:700;text-decoration:none;cursor:pointer}.lookup-btn{opacity:.75}.lookup-status{font-size:13px;color:#555}.fb-action{background:#1769aa}.form-download{margin:18px 0}.feature .mini-action{margin-top:12px}.feature-grid .feature{min-width:0}

/* V1.9: member photo album background */
.photo-album-feature{position:relative;isolation:isolate;overflow:hidden;background:#102033!important;color:#fff!important;}
.photo-album-feature::before{content:"";position:absolute;inset:0;z-index:-2;background:url("member-albums-background.jpg") center center/cover no-repeat;opacity:.28;}
.photo-album-feature::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(135deg,rgba(7,20,41,.78),rgba(10,37,61,.58));}
.photo-album-feature h3,.photo-album-feature p,.photo-album-feature .num{color:#fff!important;}
.photo-album-feature .fb-action{display:inline-flex;align-items:center;gap:8px;background:#1877f2!important;color:#fff!important;border-color:#1877f2!important;text-decoration:none;}
.photo-album-feature .fb-action:hover{background:#0d5dc4!important;}

/* V1.10 refinements */
.hero-banner-card .banner-slider{position:relative;isolation:isolate;overflow:hidden}
.hero-banner-card .banner-slider img.slide{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;opacity:0;visibility:hidden;z-index:0;transition:opacity .65s ease,visibility .65s ease}
.hero-banner-card .banner-slider img.slide.active{opacity:1;visibility:visible;z-index:1}
.hero-banner-card .banner-slider .slide-prev,.hero-banner-card .banner-slider .slide-next{z-index:4}
.slide-dots{position:absolute;bottom:9px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:5;background:#0a203a9c;padding:6px 10px;border-radius:20px}
.slide-dot{width:9px;height:9px;border-radius:50%;background:#fff8;border:0;cursor:pointer;padding:0}
.slide-dot.active{background:#d6ff49;transform:scale(1.25)}
.photo-album-feature::before{opacity:.70!important;background-position:center center!important}
.photo-album-feature::after{background:linear-gradient(135deg,rgba(7,20,41,.53),rgba(10,37,61,.42))!important}
.photo-album-feature h3,.photo-album-feature p,.photo-album-feature .fb-action{position:relative;z-index:2;text-shadow:0 1px 5px #001d38}
#school-honours>.kicker{text-align:center}
#school-honours .honour-title{text-align:center;font-size:clamp(31px,4.5vw,58px);font-weight:900;letter-spacing:.035em;line-height:1.3;margin:15px auto 25px;max-width:950px;text-shadow:0 2px 0 #ffffffa6}
#school-honours .honour-title::after{content:'';display:block;margin:16px auto 0;width:120px;height:5px;border-radius:5px;background:linear-gradient(90deg,#d9ad45,#dbfa4d,#d9ad45)}
@media(max-width:570px){.hero-banner-card{width:min(100%,320px)}.hero-art{min-height:0}.hero .actions{gap:9px}.hero .actions .btn{padding:11px 12px}}

/* V1.11 navigation and race poster */
.nav nav{gap:14px}.nav-dropdown{position:relative;color:#fff}.nav-dropdown summary{list-style:none;cursor:pointer;font-weight:700;padding:10px 4px;white-space:nowrap}.nav-dropdown summary::-webkit-details-marker{display:none}.dropdown-menu{position:absolute;top:100%;left:0;min-width:215px;background:#152c3c;border:1px solid #ffffff35;box-shadow:0 12px 24px #0005;border-radius:8px;padding:9px;z-index:30}.dropdown-menu a{display:block;padding:9px 12px;border-radius:5px}.dropdown-menu a:hover{background:#ffffff18}.race-poster-section{background:#eaf0f5;text-align:center}.race-poster-wrap{position:relative;max-width:570px;margin:0 auto}.race-poster-wrap img{width:100%;display:block;border-radius:15px;box-shadow:0 15px 40px #122a3b35}.poster-whatsapp{display:inline-flex;margin:15px auto 0;background:#19a65d;color:white;padding:12px 22px;border-radius:40px;font-weight:800}.committee-note{padding-top:30px;padding-bottom:35px;background:#edf0ef}.committee-note h2{font-size:26px}.committee-note p{color:#687680}#results{position:relative;isolation:isolate}#results::before{content:"";position:absolute;inset:0;z-index:-2;background:url('results-watermark.jpg') center center/cover no-repeat;opacity:.19;filter:blur(5px) saturate(.65)}#results::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f5f3eee6,#f5f3eebd)}
@media(max-width:850px){.nav .nav-dropdown{width:100%}.nav .dropdown-menu{position:static;box-shadow:none;background:#1b3445;margin-top:4px}.nav nav{gap:10px}.nav-dropdown summary{white-space:normal}}

/* V1.12 compact poster popup and soft watermark inside results card */
.race-poster-section{padding:34px 7%;text-align:center;background:#eaf0f5}.race-poster-section h2{font-size:clamp(23px,3vw,32px);margin:5px 0 18px}.poster-brief{font-size:13px;color:#607482}.poster-modal[hidden]{display:none!important}.poster-modal{position:fixed;inset:0;background:#06121de8;z-index:9999;display:flex;align-items:center;justify-content:center;padding:22px;overflow:auto}.poster-modal-inner{position:relative;max-width:min(90vw,680px);max-height:94vh;display:flex;flex-direction:column;align-items:center;gap:10px}.poster-modal-inner img{max-width:100%;max-height:calc(94vh - 85px);object-fit:contain;border-radius:9px}.poster-close{position:absolute;right:-12px;top:-12px;background:white;color:#102538;border:0;border-radius:50%;font-size:20px;width:39px;height:39px;cursor:pointer;z-index:2}.poster-open{cursor:pointer}.poster-image-trigger{cursor:zoom-in}#results .feature:first-child{position:relative;isolation:isolate;overflow:hidden;background:#fff}#results .feature:first-child:before{content:"";position:absolute;inset:0;z-index:-2;background:url('results-watermark.jpg') center/cover no-repeat;filter:blur(9px) saturate(.65);opacity:.24;transform:scale(1.06)}#results .feature:first-child:after{content:"";position:absolute;inset:0;z-index:-1;background:#ffffffbd}#results .feature:first-child .lookup-box{background:#ffffffd9;position:relative}#results .feature:first-child h3,#results .feature:first-child p{position:relative}

/* V1.13: retain the supplied poster's orange title, wheel graphics and framing. */
#results::before{background-position:center top;opacity:.32;filter:blur(1.5px) saturate(.9)}
#results::after{background:linear-gradient(90deg,#f5f3eedb,#f5f3eea6)}
#results .feature:first-child{background:#fffaf0}
#results .feature:first-child:before{background-position:center top;filter:blur(1px) saturate(.95);opacity:.78;transform:scale(1.015)}
#results .feature:first-child:after{background:linear-gradient(180deg,#ffffff70,#ffffffa8)}
#results .feature:first-child .lookup-box{padding:12px;border-radius:12px;background:#fffffff0;box-shadow:0 3px 14px #42331820}
#results .feature:first-child h3,#results .feature:first-child p{background:#ffffffb8;border-radius:5px}

/* V1.14: school record verification watermark - synthetic school crests */
#results .feature:nth-child(2){position:relative;isolation:isolate;overflow:hidden;background:#fffdf5;min-height:295px}
#results .feature:nth-child(2)::before{content:"";position:absolute;inset:0;z-index:-2;background:url('school-crests-watermark.jpg') center center / cover no-repeat;opacity:.52;filter:blur(1.2px);transform:scale(1.02)}
#results .feature:nth-child(2)::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#ffffffc9,#ffffffe0 65%,#ffffffb5)}
#results .feature:nth-child(2) h3,#results .feature:nth-child(2) p,#results .feature:nth-child(2) a{position:relative}
#results .feature:nth-child(2) h3,#results .feature:nth-child(2) p{background:#ffffffb5;border-radius:6px;padding:5px 7px}
#results .feature:nth-child(2) .mini-action{box-shadow:0 3px 12px #0002}

/* V1.15: four activity cards above race archive */
#community .cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
#community .cards article{min-width:0}
#community .cards .art{min-height:190px}
#community .art4{background:linear-gradient(135deg,#e6a92a,#a94728 70%,#47242d);color:#fff}
#community .competition-card-link{display:block;color:inherit;text-decoration:none;height:100%}
#community .competition-card-link:hover .art4{filter:brightness(1.08)}
#community .card-action{display:inline-block;margin:14px 22px 6px;border:1px solid #9eb2bc;border-radius:30px;padding:8px 13px;font-size:13px}
@media(max-width:950px){#community .cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#community .cards{grid-template-columns:1fr}}

/* V1.17 YouTube video embeds */
.youtube-video-card{min-width:0;display:flex;flex-direction:column;gap:12px}
.youtube-video-card iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:12px;background:#111}
.youtube-video-card a{font-weight:650;text-decoration:none}
@media(max-width:700px){#videos .video-grid{display:grid;grid-template-columns:1fr;gap:22px}}

/* V1.19 activity photo and enquiry updates */
#community .cards .art1,#community .cards .art4{background-size:cover;background-position:center;min-height:205px;text-shadow:0 3px 13px #000c}
#community .cards article{display:flex;flex-direction:column}
#community .cards article>.competition-card-link{display:block}
.card-tools{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:auto 18px 0;padding-top:14px}
.card-whatsapp,.share-enhanced{display:inline-flex;align-items:center;justify-content:center;border-radius:24px;padding:9px 13px;font-size:12px;font-weight:800;text-decoration:none;cursor:pointer}
.card-whatsapp{background:#137c51;color:white!important;border:1px solid #137c51}
.share-enhanced{background:#152f52;color:#fff;border:1px solid #152f52;margin:0;letter-spacing:.5px}
.share-enhanced:hover,.card-whatsapp:hover{filter:brightness(1.16)}

/* V1.21 activity details */
.activity-info{margin:12px 18px 14px;padding:12px 14px;background:rgba(17,51,72,.06);border-left:3px solid #9dbf24;border-radius:5px;font-size:13px;line-height:1.75;color:#253c47;font-weight:600}
.activity-info div+div{margin-top:5px}

/* V1.22: centered, prominent titles; only grey details panel */
#community .cards article{display:flex;flex-direction:column;align-items:stretch}
#community .cards .activity-title{display:flex;align-items:center;justify-content:center;text-align:center;min-height:100px;margin:0;padding:18px 12px!important;font-size:clamp(21px,1.8vw,29px);line-height:1.35;font-weight:900;letter-spacing:.035em;color:#132d42;word-break:keep-all}
#community .cards .activity-info{margin:0 15px 18px;padding:15px 14px;background:#edf0f1;border-left:4px solid #a2c132;border-radius:8px;line-height:1.75;font-size:13px}
#community .cards .card-tools{margin:auto 15px 0;padding-top:15px}
#community .cards .competition-card-link{height:auto}
#community .cards .art{align-items:center;justify-content:center;text-align:center}

/* V1.23 public welfare */
.welfare-poster-link{display:block;max-width:600px;margin:22px auto;text-align:center;text-decoration:none;color:inherit}.welfare-poster-link img{display:block;width:100%;max-height:450px;object-fit:contain;border-radius:14px;box-shadow:0 10px 30px #0002}.welfare-poster-link span{display:inline-block;margin-top:12px;font-weight:800}.welfare-mission{line-height:1.85}.welfare-mission h3{margin-top:24px}.welfare-ird{font-size:.9rem;opacity:.8}.welfare-actions{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}.welfare-actions .mini-action{display:inline-flex;align-items:center}

/* V1.24 public welfare two-column layout */
#partners .welfare-layout{display:grid;grid-template-columns:minmax(0,0.95fr) minmax(0,1.05fr);gap:28px;align-items:stretch;margin-top:26px}
#partners .welfare-layout-poster{min-width:0;display:flex;align-items:flex-start;justify-content:flex-start}
#partners .welfare-poster-link{display:block;width:100%;max-width:490px;margin:0;text-align:center}
#partners .welfare-poster-link img{display:block;width:100%;height:auto;max-height:690px;object-fit:contain;object-position:top center;border-radius:14px}
#partners .welfare-orgs{display:grid;grid-template-rows:1fr 1fr;gap:20px;min-width:0}
#partners .welfare-org-card{background:#fff;border:1px solid #dfd2ac;border-radius:18px;padding:clamp(18px,3vw,34px);box-shadow:0 8px 25px rgba(30,38,52,.06);display:flex;flex-direction:column;justify-content:center;min-height:220px}
#partners .welfare-org-card h3{font-size:clamp(23px,2.6vw,33px);margin:0 0 5px;color:#203348}
#partners .welfare-org-card small{color:#897144;letter-spacing:.04em;font-weight:650}
#partners .welfare-org-card p{margin:16px 0;color:#66717b}
#partners .welfare-logo-placeholder{border:1px dashed #d3c9ae;border-radius:12px;min-height:70px;display:flex;align-items:center;justify-content:center;color:#92908a;background:#faf9f5;font-size:14px}
@media(max-width:760px){#partners .welfare-layout{grid-template-columns:1fr}#partners .welfare-layout-poster{justify-content:center}#partners .welfare-orgs{grid-template-rows:auto auto}#partners .welfare-org-card{min-height:190px}}

/* V1.25 HKCF section heading and navigation refinements */
.welfare-heading-with-logo{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;margin-bottom:12px}
.welfare-heading-with-logo h2{margin:0}
.hkcf-heading-logo{width:180px;max-width:38%;height:100px;object-fit:contain;object-position:center;background:#fff;border-radius:12px;padding:6px}
#school-verification{scroll-margin-top:120px}
@media(max-width:650px){.hkcf-heading-logo{width:130px;height:80px}.welfare-heading-with-logo{gap:10px}}

/* V1.27: Beneficiary logo within card, no duplicate beside heading */
.beneficiary-logo { display:block; width:min(100%,360px); height:auto; object-fit:contain; margin:18px auto 4px; border-radius:10px; background:#fff; }
/* V1.28: balanced welfare columns and compact organization cards */
#partners .welfare-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start;max-width:1050px;margin-left:auto;margin-right:auto}
#partners .welfare-layout-poster{justify-content:center}
#partners .welfare-poster-link{max-width:460px}
#partners .welfare-orgs{grid-template-rows:auto auto;gap:16px;align-content:start}
#partners .welfare-org-card{min-height:0;padding:18px 22px;justify-content:flex-start}
#partners .welfare-org-card h3{font-size:22px}
#partners .welfare-org-card p{font-size:13px;margin:9px 0}
#partners .welfare-logo-placeholder{min-height:50px;font-size:12px}
#partners .beneficiary-logo{width:100%;max-width:225px;max-height:105px;object-fit:contain;object-position:center;margin:10px auto 0}
@media(max-width:760px){#partners .welfare-layout{grid-template-columns:1fr;max-width:480px}#partners .welfare-org-card{padding:18px 20px}}

.footer-powered {text-align:center; font-size:13px; font-weight:600; letter-spacing:.025em; padding:14px 12px 6px; opacity:.85;}

/* V130: race photograph as subtle hero background; existing carousel remains interactive. */
.hero{position:relative;isolation:isolate;background:#0c1924}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#0c1924 0%,#0c1924 28%,rgba(12,25,36,.97) 47%,rgba(12,25,36,.78) 69%,rgba(12,25,36,.72) 84%,#0c1924 100%),url('hero-race-background.jpg') center bottom/cover no-repeat}
.hero-inner,.hero-art{z-index:1}
@media(max-width:850px){.hero{display:flex;flex-direction:column;align-items:stretch}.hero-inner{width:100%;padding-bottom:clamp(185px,40vw,320px)}.hero::before{background:linear-gradient(180deg,#0c1924 0%,#0c1924 33%,rgba(12,25,36,.98) 48%,rgba(12,25,36,.86) 63%,rgba(12,25,36,.57) 80%,#0c1924 100%),url('hero-race-background.jpg') center 77%/100% auto no-repeat}.hero-art{background:transparent;padding-top:0}}
@media(max-width:570px){.hero-inner{padding-bottom:220px}.hero::before{background:linear-gradient(180deg,#0c1924 0%,#0c1924 44%,rgba(12,25,36,.97) 55%,rgba(12,25,36,.62) 73%,#0c1924 91%),url('hero-race-background.jpg') center 76%/auto 43% no-repeat}.hero-art{padding-top:0}}

.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,2vw,26px)}.metrics>div{min-width:0}@media(max-width:600px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:18px}}

/* V132: subtle race photograph watermark behind mission text */
#about.mission-photo-bg{position:relative;isolation:isolate;background:#f5f5f0;overflow:hidden}
#about.mission-photo-bg::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(248,248,244,.91),rgba(248,248,244,.85)),url('mission-race-background.jpg') center 52%/cover no-repeat;pointer-events:none}
#about.mission-photo-bg h2,#about.mission-photo-bg p{position:relative}

/* V133: certificate application infographic */
.achievement-process-image{width:100%;max-width:1200px;margin:26px auto 22px;text-align:center}.achievement-process-image img{display:block;width:100%;height:auto;object-fit:contain;border-radius:12px}.form-download{text-align:center;margin-top:20px}

/* V134: sponsorship and contact polish */
.welfare-logo-placeholder{display:none!important}
.sponsor-logo{display:block;max-width:185px;width:65%;height:95px;object-fit:contain;object-position:center;margin:12px auto 0;border-radius:12px}
.welfare-org-card{overflow:hidden}
.welfare-poster-link span{display:none!important}
.welfare-download-secondary{display:inline-flex!important;margin:14px auto 0}
.welfare-layout-poster{text-align:center}
.welfare-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.welfare-actions .mini-action,.welfare-download-secondary{border-radius:14px;padding:14px 20px;text-decoration:none;font-weight:800;transition:transform .18s ease,box-shadow .18s ease}
.welfare-actions .mini-action:hover,.welfare-download-secondary:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(15,35,55,.16)}
.welfare-download-btn{background:linear-gradient(115deg,#235ec7,#398fe4)!important;color:#fff!important;border:1px solid #438ce5!important}
.welfare-email-btn{background:#fff!important;color:#173f78!important;border:2px solid #bdd1e7!important}
.welfare-whatsapp-btn{background:#15875a!important;color:white!important;border:2px solid #15875a!important}
.welfare-actions .action-icon{font-size:1.3em;line-height:1;vertical-align:middle;margin-right:4px}
@media(max-width:650px){.welfare-actions .mini-action{width:100%;justify-content:center}.sponsor-logo{max-width:150px;height:75px}}

/* V135 recruitment banner */
#recruit{padding-top:44px;padding-bottom:65px;text-align:center}
#recruit .recruit-banner{display:block;width:100%;max-width:1250px;height:auto;object-fit:contain;margin:0 auto 26px;border-radius:16px;box-shadow:0 14px 32px rgba(15,30,45,.10)}
#recruit .recruit-content{max-width:760px;margin:0 auto}
#recruit .recruit-content h2{margin:8px 0 12px}
#recruit .recruit-content p{margin:0 auto 23px;line-height:1.8}
#recruit .recruit-join{display:inline-flex;align-items:center;justify-content:center;padding:16px 38px;background:linear-gradient(110deg,#ff8a00,#f65a18);color:white;border-radius:999px;text-decoration:none;font-size:1.13rem;font-weight:850;box-shadow:0 7px 18px #e66a3044;transition:transform .2s}
#recruit .recruit-join:hover{transform:translateY(-3px)}
@media(max-width:600px){#recruit{padding-top:28px}#recruit .recruit-banner{border-radius:10px}#recruit .recruit-join{width:100%;max-width:310px}}

/* V136 staff application */
#recruit .recruit-content{max-width:1000px}
.recruit-application{text-align:left;margin:32px auto 0;background:#fff;border:1px solid #dce5e8;border-radius:20px;padding:clamp(18px,3vw,40px);box-shadow:0 12px 32px #142c3512}
.recruit-form-head h3{font-size:clamp(1.3rem,2.5vw,2rem);margin:0 0 8px;color:#132b3b}
#recruit .recruit-form-head p{margin:0 0 24px;color:#64717c}
.recruit-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 22px}
.recruit-form-grid label{display:flex;flex-direction:column;gap:8px;font-weight:700;color:#253e4d}
.recruit-form-grid label.full{grid-column:1/-1}
.recruit-form-grid input,.recruit-form-grid select,.recruit-form-grid textarea{width:100%;box-sizing:border-box;padding:13px 14px;font:inherit;font-weight:400;color:#1b2c38;border:1px solid #b9cbd1;border-radius:10px;background:#fff}
.recruit-form-grid input:focus,.recruit-form-grid textarea:focus,.recruit-form-grid select:focus{outline:2px solid #78bbd1;outline-offset:1px}
.recruit-terms{margin-top:24px;background:#f2f7f6;padding:20px;border-radius:12px;color:#28424a}
.recruit-terms h4{margin:0 0 12px;font-size:1.12rem}
.recruit-terms ol{padding-left:22px;line-height:1.75;margin:0 0 18px}
.recruit-consent{display:flex;gap:12px;align-items:flex-start;font-weight:700;line-height:1.6}
.recruit-consent input{margin-top:6px;width:18px;height:18px;flex-shrink:0}
.recruit-submit-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}
.recruit-send,.recruit-chat{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:0;border-radius:12px;padding:15px 22px;text-decoration:none;font:inherit;font-weight:800;cursor:pointer}
.recruit-send{background:#159b57;color:white;box-shadow:0 7px 18px #159b5730}
.recruit-chat{background:#e9f8ef;color:#137c49;border:1px solid #80cda3}
#recruit .recruit-note{margin:15px 0 0;font-size:.9rem;color:#61717a;line-height:1.65}
@media(max-width:650px){.recruit-form-grid{grid-template-columns:1fr}.recruit-submit-row>*{width:100%}}

/* V137: subtle image treatments while preserving all original text and functionality */
#events .race-archive-visual{position:relative;width:100%;max-width:1100px;height:clamp(100px,13vw,170px);margin:12px auto 16px;border-radius:15px;overflow:hidden;background:#07519b;isolation:isolate;border:1px solid #ffffff29}
#events .race-archive-visual::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,42,100,.91),rgba(5,64,134,.70) 40%,rgba(5,45,106,.73)),url('race-history-watermark.png') center 50%/cover no-repeat;opacity:1}
#events .archive-official-logo{position:absolute;top:12px;left:14px;width:clamp(48px,7vw,83px);height:clamp(48px,7vw,83px);object-fit:contain;background:#fff;border-radius:10px;padding:4px;box-shadow:0 4px 14px #0005}
#events .event-details summary{background:linear-gradient(110deg,#0870d2,#114d9b);box-shadow:0 5px 14px #0002}
#events .international-banner-watermark{position:relative;isolation:isolate;overflow:hidden;min-height:205px;align-items:center;padding:30px 26px;border-radius:14px;background:#07519b}
#events .international-banner-watermark::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,28,67,.94),rgba(6,49,110,.83) 56%,rgba(5,43,94,.75)),url('international-events-watermark.png') center/cover no-repeat}
#events .international-banner-watermark h3,#events .international-banner-watermark p,#events .international-banner-watermark small{position:relative;text-shadow:0 2px 5px #0007}
@media(max-width:650px){#events .race-archive-visual{height:108px}#events .international-banner-watermark{min-height:205px;padding:22px 18px}#events .international-banner-watermark h3{font-size:25px}#events .archive-official-logo{top:10px;left:10px}}

/* V138: Collapsible staff application */
.recruit-accordion{overflow:hidden;padding:0!important}
.recruit-accordion-toggle{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;list-style:none;padding:22px 26px;background:linear-gradient(110deg,#122b3d,#203d4c);color:white;border-radius:12px;user-select:none}
.recruit-accordion-toggle::-webkit-details-marker{display:none}
.recruit-accordion-toggle strong{display:block;font-size:clamp(19px,2.2vw,27px);line-height:1.4}
.recruit-accordion-toggle small{display:block;margin-top:5px;color:#d3e6ec;font-size:14px}
.recruit-accordion-chevron{font-size:32px;transition:transform .2s}
.recruit-accordion[open] .recruit-accordion-chevron{transform:rotate(180deg)}
.recruit-accordion-body{padding:24px 20px}
.recruit-accordion-toggle:focus-visible{outline:3px solid #b9f238;outline-offset:3px}
@media(max-width:600px){.recruit-accordion-toggle{padding:18px 16px}.recruit-accordion-body{padding:16px 10px}}

/* V139 Threads icon in top contact row */
.top-contact .threads-icon{display:inline-flex;align-items:center;justify-content:center;background:#111;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:50%;width:36px;height:36px;flex:none;text-decoration:none;transition:transform .2s,background .2s}
.top-contact .threads-icon svg{width:23px;height:23px;display:block}
.top-contact .threads-icon:hover{background:#333;transform:translateY(-2px)}
