/* HKECA UI v2: shared visual tokens and refinements for the three core pages. */
:root{--blue:#004AAD;--red:#BB262C;--ink:#192C35;--muted:#5D6D75;--paper:#F7F8F8;--line:#DFE6EA;--blue-tint:#EDF4FC;--radius:10px;--max:1180px}
html{scroll-padding-top:160px}body{font-size:17px;line-height:1.85;-webkit-font-smoothing:antialiased}h1,h2,h3{font-weight:750;text-wrap:balance}h2{font-size:38px;line-height:1.45;letter-spacing:-.03em}h3{font-size:24px;line-height:1.5}p{color:var(--muted)}.masthead{height:82px}.navigation{height:52px;gap:36px}.header{box-shadow:0 1px 0 var(--line)}.brand .official-logo{width:62px}.brand strong{font-size:23px;letter-spacing:.06em}.brand small{font-size:8px}.utility{font-size:12px;color:var(--muted)}.language{min-width:46px;min-height:42px;border-radius:6px}.navigation>a.active,.nav-group>a.active{color:var(--blue)}.nav-group>a.active{box-shadow:0 3px var(--blue);height:100%;display:flex;align-items:center}.navigation>a{font-size:14px}.nav-group>a{font-size:14px}.nav-sub{border-radius:0 0 8px 8px}.nav-sub a{font-size:14px}.nav-sub a:hover{color:var(--blue)}.button{border-radius:6px;min-height:48px;padding:12px 23px;gap:14px;font-size:14px;transition:background-color .15s,color .15s,box-shadow .15s}.button.red{box-shadow:0 3px 8px #004AAD12}.button.outline{border-color:#C5D1D8;background:white}.button.outline:hover{border-color:var(--blue);color:var(--blue);background:#F5F9FE}.text-link,.simple-link{font-size:14px;line-height:1.65}.actions{gap:20px}.button:disabled{opacity:1;background:#E8EDF1!important;color:#7C898F!important;box-shadow:none;border-color:#D8E1E5;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #004AAD;outline-offset:4px}.eyebrow{font-size:11px;letter-spacing:.1em;margin-bottom:18px}.hero{background:linear-gradient(90deg,white 0%,white 54%,#F5F6F3 54%,#F5F6F3 100%)}.hero-grid{min-height:635px;gap:55px;padding-block:58px}.hero h1{font-size:60px;line-height:1.36;letter-spacing:-.055em;margin-bottom:28px}.hero-brand-line{font-size:11px;margin-bottom:24px}.hero-lead{font-size:17px;line-height:1.95;max-width:540px}.hero .actions{margin-top:30px}.hero-art img{width:100%;height:auto}.section{padding-block:84px}.section-number{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid #A9BEDA;color:var(--blue);font-size:11px;line-height:1;font-weight:700;border-radius:50%;margin-bottom:22px}.introduction-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px}.introduction-grid>div:first-child h2{margin-bottom:24px}.introduction-grid .text-link{max-width:270px}.full-intro{max-width:780px}.full-intro>p{font-size:18px;line-height:2;margin-bottom:25px}.intro-disclosure{border-top:1px solid var(--line);padding-top:18px}.intro-disclosure summary{display:flex;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;color:var(--blue);font-size:14px;font-weight:700;padding-bottom:5px}.intro-disclosure summary::-webkit-details-marker{display:none}.intro-disclosure summary span{transition:transform .15s}.intro-disclosure[open] summary span{transform:rotate(45deg)}.intro-disclosure>div{padding-top:22px}.intro-disclosure p{font-size:16px;line-height:1.95}.community-grid{gap:65px;align-items:center}.community-grid .sample-art{border-radius:var(--radius);overflow:hidden}.community-grid h2{font-size:34px}.community p,.service-grid p{font-size:16px;line-height:1.95}.team-grid{gap:25px;margin-top:32px}.team-block,.team-block:first-child{padding:34px;border:1px solid var(--line);border-radius:var(--radius);background:#FAFCFD}.team-block h3{color:var(--blue);font-size:25px}.team-block p{font-size:15px}.sample-card{border:1px solid #E1E6E9;border-radius:var(--radius);overflow:hidden}.news-cards .sample-card{display:flex;flex-direction:column}.news-cards .card-copy{display:flex;flex-direction:column;flex:1;padding:25px}.news-cards h3{font-size:21px}.news-cards .card-copy>.text-link{margin-top:auto;align-self:flex-start}.sample-card .micro{font-size:10px;color:#657784;letter-spacing:.025em}.sample-card .demo-note{margin-top:5px;margin-bottom:20px;border-left:2px solid #B89A6C}.demo-note{background:#FBF8F2;border:1px solid #EEE3CF;color:#756340;border-radius:6px;padding:13px 17px;font-size:12px;line-height:1.75}.service-section{background:#F4F7FA;padding-block:84px}.service-grid{gap:60px}.service-grid h2{font-size:34px}.aed-service{border-color:#CCD9E2}.aed-service h2{font-size:29px}.contact-section{background:#EEF4FB;padding-block:68px}.contact-section .wrap{max-width:940px}.contact-section h2{font-size:35px;max-width:840px}.contact-section p{font-size:16px;line-height:1.95}.footer{background:#FAFBFC;border-top:1px solid var(--line);padding-top:55px}.footer-grid{gap:35px}.footer p,.footer a,.footer span{overflow-wrap:anywhere}.footer .brand{gap:10px}.footer .brand .official-logo{width:50px}.footer .brand strong{font-size:19px;white-space:nowrap}.footer .brand small{font-size:6px}.footer-grid h3{font-size:15px;margin-bottom:15px}.footer-grid a,.footer-grid p{font-size:12px}.footer-grid>div:first-child p{color:var(--blue);font-size:14px;margin-top:20px}.footer-bottom{font-size:11px;border-color:var(--line)}
.page-title{padding:35px 0 50px;background:linear-gradient(115deg,#F0F5FC,#F9FAFA);border-bottom:1px solid #E4EAF1}.breadcrumb{font-size:12px;color:#6D7D89;margin-bottom:24px}.page-title h1{font-size:48px;line-height:1.3;max-width:1060px;margin-bottom:15px}.page-title h2{font-size:28px;line-height:1.5;margin:20px 0 18px;max-width:950px;color:var(--ink)}.page-title p{font-size:16px;line-height:1.95;max-width:960px;margin-bottom:12px}.content-page{padding-block:60px 80px}.section-nav{display:flex;gap:32px;padding-block:24px;border-bottom:1px solid var(--line)}.section-nav a,.course-nav a{color:var(--muted);font-size:14px;font-weight:650;white-space:nowrap}.section-nav a:hover,.course-nav a:hover{color:var(--blue)}.about-content{padding-top:60px}.about-content>section{margin-bottom:72px;scroll-margin-top:160px}.reading-section{display:grid;grid-template-columns:.65fr 1.35fr;gap:70px}.section-label h2{font-size:32px;max-width:240px}.reading-copy p{font-size:16px;line-height:2.05;margin-bottom:24px}.reading-copy p:first-child{font-size:18px;color:var(--ink)}.mission-vision{display:grid;grid-template-columns:1fr 1.25fr;gap:0;border-radius:var(--radius);overflow:hidden;border:1px solid #D6E1EC;background:#F2F6FB}.mission-vision article{padding:40px}.mission-vision article:first-child{background:white;border-right:1px solid #D6E1EC}.mission-vision h2{font-size:28px;margin-bottom:22px}.mission-vision p{font-size:16px;line-height:1.95;margin-bottom:0}.mission-vision .mission-statement{font-size:29px;font-weight:750;color:var(--blue);line-height:1.8}.section-heading{display:flex;align-items:center;gap:18px;margin-bottom:30px}.section-heading h2{font-size:32px;margin:0}.section-heading .section-number{margin:0}.value-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}.value-grid article{grid-column:span 2;background:#F8FAFC;border:1px solid var(--line);border-radius:var(--radius);padding:30px}.value-grid article:nth-child(n+4){grid-column:span 3}.value-grid p{font-size:15px;line-height:1.95;margin-bottom:0}.value-grid strong{display:block;font-size:21px;color:var(--ink);line-height:1.5}.value-grid p br{display:none}.value-number{font-size:11px;color:var(--blue);font-weight:700;display:block;margin-bottom:20px}.work-list article{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:27px 0}.work-list article:first-child{padding-top:0}.work-number{color:var(--blue);font-size:12px;font-weight:700;padding-top:8px}.work-list h3{font-size:22px;margin-bottom:13px}.work-list p{font-size:15px;line-height:1.95;margin-bottom:0}.team-invitation{background:#EEF4FB;padding:36px;border-radius:var(--radius);display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.team-invitation h2{font-size:26px;margin:14px 0 0}.team-invitation .actions{margin:0;justify-content:flex-end}.team-invitation .eyebrow{margin:0;color:var(--blue)}
.course-page{padding-top:0}.course-nav{display:flex;gap:32px;align-items:center;border-bottom:1px solid var(--line);padding:24px 0;margin-bottom:48px}.course-overview{grid-template-columns:1.2fr .8fr;gap:65px;align-items:start;scroll-margin-top:160px}.course-overview h2{font-size:34px}.course-overview>div>p:first-of-type{font-size:19px;line-height:1.8;color:var(--blue)}.course-overview p,.course-overview li{font-size:15px;line-height:1.95}.course-overview ul{padding-left:20px;margin-bottom:30px}.course-overview li{padding-block:4px}.course-overview h3{font-size:22px;margin-top:30px;margin-bottom:15px}.course-visual{position:sticky;top:160px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:white}.course-visual img{aspect-ratio:4/3}.course-visual>div{padding:28px}.course-badge{display:inline-block;background:#EAF2FF;color:var(--blue);border-radius:4px;font-size:12px;font-weight:700;padding:4px 10px;margin-bottom:13px}.course-visual p{font-size:19px;color:var(--ink);font-weight:700;margin-bottom:24px;line-height:1.65}.course-visual .button{width:100%}.process-panel{background:#F4F7FB;border-radius:var(--radius);border:1px solid #DDE6F0;padding:32px;margin-block:40px 55px}.process-panel h2{font-size:28px}.process-panel ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:0;counter-reset:process;list-style:none;margin-bottom:30px}.process-panel li{font-size:14px;line-height:1.8;counter-increment:process}.process-panel li:before{content:counter(process,decimal-leading-zero);display:block;color:var(--blue);font-size:12px;font-weight:750;padding-bottom:12px;margin-bottom:14px;border-bottom:2px solid #CCDCEF}.process-panel>p{font-size:13px;margin:0;line-height:1.85}.course-page #sessions{scroll-margin-top:160px;margin-bottom:60px}.course-page #sessions>h2{font-size:30px}.session-card{display:flex;flex-direction:column;background:white;border:1px solid #D8E2EC;border-radius:var(--radius);padding:26px}.session-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:25px}.language-badge{color:var(--blue);background:#EFF5FE;padding:4px 9px;border-radius:4px;font-size:12px;font-weight:700}.session-card .micro{font-size:9px;color:#78858F;letter-spacing:0}.session-card h3{font-size:23px;margin-bottom:12px;line-height:1.55}.session-time{font-size:13px;margin-bottom:25px}.session-facts{display:grid;grid-template-columns:1fr 1fr;gap:15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:20px;margin-bottom:20px}.session-facts small{display:block;color:var(--muted);font-size:12px}.session-facts b{font-size:22px;color:var(--ink)}.session-venue{font-size:13px;margin-bottom:24px}.session-card .button{margin-top:auto;width:100%}.registration-panel{max-width:920px;margin:0 auto 40px;padding:36px;border-radius:var(--radius);background:white;box-shadow:0 5px 28px #17252A07;border:1px solid #D8E2EC;scroll-margin-top:160px}.registration-panel h2{font-size:28px}.registration-panel label{font-size:14px;line-height:1.8}.registration-panel label small{font-size:10px;color:var(--muted);font-weight:400;margin-left:6px}.registration-panel input:not([type=checkbox]),.registration-panel select,.registration-panel textarea,#contact-form input:not([type=checkbox]),#contact-form select,#contact-form textarea{border-radius:6px;border-color:#BCCBD5;min-height:48px;font-size:16px;padding:11px 14px}.registration-panel input:focus,.registration-panel select:focus,.registration-panel textarea:focus{border-color:var(--blue)}.registration-panel .stepper{padding:0;margin:28px 0 35px;gap:18px}.stepper li{color:#85929A}.stepper .active{color:var(--blue)}.stepper li b{background:#EDF1F5;color:#748490;border-color:#D6DFE6}.stepper li.active b{background:var(--blue);color:white;border-color:var(--blue)}#guardian{padding:20px;background:#F4F7FB;border:1px solid #DCE6F0;border-radius:6px;margin-top:20px}#guardian p{font-size:13px}.registration-panel p{font-size:14px;line-height:1.9}.registration-panel .checkbox-label{gap:10px;font-weight:400}.registration-panel input[type=checkbox]{width:18px;height:18px;flex-shrink:0;accent-color:var(--blue);margin-top:4px}.course-page>.inset-panel:last-child{background:#F7F9FB;padding:30px;border-radius:var(--radius)}.course-page>.inset-panel:last-child h2{font-size:24px}.course-page>.inset-panel:last-child p{font-size:14px}.person-card .card-copy{padding:25px}.person-card h3{font-size:24px}.person-card .person-role{font-size:12px!important}.faq-item{padding-block:23px}.faq-item summary{font-size:16px;color:var(--ink)}.faq-item p{font-size:15px;line-height:1.95}.article-body{max-width:900px}.article-body h2{font-size:30px}.article-body .sample-art{border-radius:var(--radius);overflow:hidden}.article-body p{font-size:16px;line-height:1.95}.inset-panel{border-radius:var(--radius)}dialog{border-radius:12px;border:1px solid var(--line);max-width:540px;padding:35px}dialog::backdrop{background:#17252A65}
@media(min-width:1000px){html[lang=en] .hero h1{font-size:52px;line-height:1.2}html[lang=en] .hero-lead{font-size:16px;line-height:1.85}.footer-grid{grid-template-columns:1.2fr .85fr .9fr 1.2fr}}
@media(max-width:1050px){.reading-section,.introduction-grid{gap:40px;grid-template-columns:.65fr 1.35fr}.mission-vision article{padding:30px}.course-overview{gap:35px}.footer-grid{grid-template-columns:1fr 1fr}.team-invitation{display:block}.team-invitation .actions{margin-top:28px;justify-content:flex-start}}
@media(max-width:780px){html{scroll-padding-top:95px}.wrap{width:calc(100% - 36px)}.masthead{height:76px}.brand .official-logo{width:45px}.brand strong{font-size:18px}.brand small{font-size:6px}.language{min-width:42px;min-height:44px;font-size:12px}.navigation{display:none}.navigation.open{top:76px;padding:12px 20px 25px;box-shadow:0 12px 24px #17252A12;max-height:calc(100vh - 85px);overflow:auto}.nav-group>a.active{box-shadow:none}.navigation a,.nav-group>a{font-size:15px}.nav-sub a{font-size:13px}.hero{background:#F7F8F5}.hero-grid{padding-block:42px 24px;min-height:0;gap:24px}.hero h1{font-size:41px;line-height:1.35;letter-spacing:-.045em;margin-bottom:22px}.hero-brand-line{font-size:9px;margin-bottom:22px}.hero-lead{font-size:15px;line-height:1.95}.hero .actions{margin-top:25px}.hero-art{max-width:480px}.hero-art img{width:100%}.button{min-height:48px;font-size:13px;padding:12px 18px}.actions{gap:17px}.text-link,.simple-link{font-size:13px}.section{padding-block:55px}h2{font-size:28px;line-height:1.55}.introduction-grid,.reading-section{grid-template-columns:1fr;gap:24px}.section-number{margin-bottom:13px;width:29px;height:29px;font-size:10px}.introduction-grid>div:first-child h2{margin-bottom:16px}.introduction-grid .text-link{max-width:none}.full-intro>p{font-size:16px;line-height:2}.intro-disclosure p{font-size:14px;line-height:1.95}.community-grid{gap:28px}.community-grid h2{font-size:27px}.community-grid .sample-art{order:2}.community p,.service-grid p{font-size:14px}.team-grid{gap:18px}.team-block,.team-block:first-child{padding:25px;border:1px solid var(--line)}.team-block h3{font-size:22px}.team-block p{font-size:14px}.news-cards .card-copy{padding:23px}.news-cards h3{font-size:20px}.card-copy p{font-size:14px}.service-section{padding-block:55px}.service-grid{gap:30px}.service-grid h2{font-size:28px}.aed-service{padding-top:30px}.aed-service h2{font-size:25px}.contact-section{padding-block:50px}.contact-section h2{font-size:28px}.contact-section p{font-size:14px}.footer{padding-block:40px 20px}.footer-grid{gap:28px}.footer .brand .official-logo{width:45px}.footer .brand strong{font-size:18px}.page-title{padding-block:27px 34px}.breadcrumb{font-size:11px;margin-bottom:19px}.page-title h1{font-size:33px}.page-title h2{font-size:22px;margin-block:18px 16px;line-height:1.6}.page-title p{font-size:14px;line-height:1.95}.content-page{padding-block:35px 55px}.section-nav,.course-nav{gap:24px;padding-block:18px;overflow-x:auto;overscroll-behavior-x:contain}.section-nav a,.course-nav a{font-size:12px}.about-content{padding-top:35px}.about-content>section{margin-bottom:45px;scroll-margin-top:95px}.section-label h2{font-size:28px;max-width:none;margin-bottom:0}.reading-copy p{font-size:14px;line-height:2}.reading-copy p:first-child{font-size:16px}.mission-vision{grid-template-columns:1fr}.mission-vision article{padding:27px}.mission-vision article:first-child{border-right:0;border-bottom:1px solid #D6E1EC}.mission-vision h2{font-size:24px}.mission-vision .mission-statement{font-size:26px}.mission-vision p{font-size:14px}.section-heading{gap:14px;margin-bottom:24px}.section-heading h2{font-size:27px}.value-grid{grid-template-columns:1fr;gap:14px}.value-grid article,.value-grid article:nth-child(n+4){grid-column:auto;padding:25px}.value-grid strong{font-size:20px}.value-grid p{font-size:14px}.value-number{margin-bottom:14px}.work-list article{gap:18px;padding-block:24px}.work-list h3{font-size:21px}.work-list p{font-size:14px}.team-invitation{padding:27px}.team-invitation h2{font-size:23px}.team-invitation .actions{gap:15px}.course-page{padding-top:0}.course-nav{margin-bottom:32px}.course-overview{grid-template-columns:1fr;gap:25px;scroll-margin-top:95px}.course-overview h2{font-size:28px}.course-overview>div>p:first-of-type{font-size:17px}.course-overview p,.course-overview li{font-size:14px}.course-overview h3{font-size:21px}.course-visual{position:static;max-width:510px;width:100%;margin:auto}.course-visual>div{padding:23px}.course-visual p{font-size:18px}.process-panel{padding:25px;margin-block:35px 40px}.process-panel h2{font-size:25px}.process-panel ol{grid-template-columns:1fr 1fr;gap:24px}.process-panel li{font-size:12px}.process-panel>p{font-size:12px}.course-page #sessions{scroll-margin-top:95px;margin-bottom:40px}.course-page #sessions>h2{font-size:26px}.session-card{padding:25px}.session-card-top{margin-bottom:18px}.session-card h3{font-size:23px}.registration-panel{padding:23px;scroll-margin-top:95px}.registration-panel h2{font-size:25px}.registration-panel .stepper{gap:10px;margin-block:25px}.stepper li{font-size:10px;line-height:1.6}.stepper b{margin-bottom:8px}.registration-panel .checkbox-label{font-size:12px;line-height:1.9}#guardian{padding:17px}.registration-panel .actions{gap:13px}.demo-note{font-size:11px;padding:12px 14px}.course-page>.inset-panel:last-child{padding:23px}.article-body p{font-size:14px}.article-body h2{font-size:26px}dialog{max-width:calc(100% - 36px);padding:27px}.footer-bottom{font-size:10px;line-height:1.8}.footer-grid p,.footer-grid a{font-size:12px}}
@media(max-width:370px){.wrap{width:calc(100% - 28px)}.brand strong{font-size:15px}.brand small{font-size:5px}.brand .official-logo{width:39px}.brand{gap:7px}.hero h1{font-size:35px}.hero-brand-line{font-size:8px}.hero-lead{font-size:14px}.page-title h1{font-size:30px}.page-title h2{font-size:21px}.header-tools{gap:2px}.language{min-width:38px}.session-facts b{font-size:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Use the viewport scroll padding once, avoiding doubled anchor offsets. */
.about-content>section,.course-overview,.course-page #sessions,.registration-panel,.contact-section{scroll-margin-top:0}
.section-nav,.course-nav{scrollbar-width:none}.section-nav::-webkit-scrollbar,.course-nav::-webkit-scrollbar{display:none}.session-card .micro{color:#5D6D75;font-size:10px}
.stepper li.active{color:var(--blue);border-color:var(--blue)}.stepper li.active span{color:var(--blue)}
