/* Approved blue and yellow theme, based on HKUST MTPC PowerPoint Template 15. */
@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/roboto-400.woff2') format('woff2')}
@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/roboto-500.woff2') format('woff2')}
@font-face{font-family:Roboto;font-style:normal;font-weight:700 900;font-display:swap;src:url('assets/fonts/roboto-700.woff2') format('woff2')}
@font-face{font-family:Roboto;font-style:italic;font-weight:400;font-display:swap;src:url('assets/fonts/roboto-400-italic.woff2') format('woff2')}
body{font-family:Roboto,sans-serif}
h1,.brand,.menu{font-family:"メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Sans","Noto Sans JP",sans-serif}
h2,h3{font-family:Roboto,sans-serif;font-weight:500}
[hidden]{display:none!important}
.institution-strip{background:#fff;border-bottom:1px solid rgba(29,91,137,.15)}.institution-logos{width:min(1180px,calc(100% - 2rem));margin:auto;display:flex;align-items:center;justify-content:flex-start;gap:1.65rem;padding:.75rem 0}.institution-logos a{display:flex;align-items:center;justify-content:center;height:62px}.institution-logos img{display:block;width:auto;max-width:100%;object-fit:contain}.institution-logos a.hkust-logo{width:155px}.institution-logos a.hkust-logo img{max-height:46px}.institution-logos a.civil-logo{width:285px}.institution-logos a.civil-logo img{max-height:54px}.institution-logos a.robotics-logo{width:215px;color:#062e52}.institution-logos a.gz-logo{width:175px}.institution-logos a.gz-logo img{max-height:46px}.robotics-wordmark{display:block;width:100%;height:auto;overflow:visible;fill:currentColor}.robotics-wordmark .ri-mark{font:900 78px/1 Arial Black,Arial,sans-serif;letter-spacing:-8px}.robotics-wordmark .ri-zh{font:700 20px/1 Arial,"Microsoft JhengHei",sans-serif}.robotics-wordmark .ri-en{font:700 10.5px/1 Arial,sans-serif;letter-spacing:.2px}.brand{white-space:nowrap;letter-spacing:.015em}.brand small{margin-left:.35rem;font-size:inherit}.chair-card .chair-role{font-size:.85rem;font-weight:850;color:var(--teal);margin:-.4rem 0 1rem}.chair-subtitle{margin:2.6rem 0 1.25rem;padding-top:1.6rem;border-top:1px solid var(--line);font-size:1.45rem;line-height:1.25;color:var(--deep)}
:root{--ink:#16324f;--deep:#062e52;--teal:#1d5b89;--cyan:#007dae;--orange:#f0cc79;--pale:#f1f5fa;--muted:#5f7185;--line:rgba(29,91,137,.19);--shadow:0 18px 44px rgba(6,46,82,.10)}
.topbar{background:#062e52;box-shadow:0 4px 20px rgba(6,46,82,.14);border-bottom:1px solid rgba(255,255,255,.12)}
.brand,.brand span{color:#fff}.menu{color:#fff}.menu a:hover{color:#f0cc79}
.menu .register-link{border-color:#f0cc79;background:#f0cc79;color:#062e52}
.hero{background:#062e52}
.hero::before{background:linear-gradient(90deg,rgba(6,46,82,.97) 0%,rgba(6,46,82,.79) 40%,rgba(6,46,82,.13) 78%),linear-gradient(0deg,rgba(6,46,82,.46),transparent 60%),url('assets/hkust-campus-official-4k.jpg') right center/cover no-repeat}
.hero::after{background:linear-gradient(148deg,rgba(51,81,113,.18) 0 42%,transparent 42.15%),repeating-linear-gradient(30deg,transparent 0 200px,rgba(240,204,121,.15) 201px,transparent 202px);opacity:.7;mix-blend-mode:normal}
.kicker{background:#1d5b89;border-left-color:#f0cc79}
.button.primary{background:#f0cc79;color:#062e52}.button.teal{background:#1d5b89;color:#fff}.button{box-shadow:0 12px 28px rgba(6,46,82,.15)}
.hero .actions .button{min-height:54px;padding:.9rem 1.35rem;font-size:1.05rem;font-weight:700;line-height:1.25;letter-spacing:.015em;box-shadow:0 12px 30px rgba(6,46,82,.24)}
.hero .actions .button svg{width:20px;height:20px;flex-shrink:0}
.fact-panel{border-top-color:#f0cc79;background:rgba(255,255,255,.96)}
.fact-icon,.fact:first-child .fact-icon{color:#1d5b89}.fact strong{font-size:1.15rem;line-height:1.28}.fact span{color:#64778b;font-size:.98rem}.fact strong .venue-detail{font-size:.8em;line-height:1.4;white-space:normal}
.eyebrow{color:#1d5b89}.portrait{box-shadow:0 0 0 2px rgba(29,91,137,.27),0 15px 30px rgba(6,46,82,.12)}
.speaker{box-shadow:0 12px 30px rgba(6,46,82,.06)}.org{color:#5f7185}
.session-head,.modal-head{background:linear-gradient(90deg,#062e52,#1d5b89);border-bottom:3px solid #f0cc79}.session-head span{color:#f0cc79}
.time{color:#1d5b89}.agenda-title{color:#163b5d}.who{color:#64778b}.agenda-note{background:#f5f7fa;color:#5f7185}
.poster-panel{border-left-color:#f0cc79}.poster-fact svg{stroke:#1d5b89}.poster-fact span{color:#64778b}
.campus-photo{content:url('assets/hkust-campus-official-4k.jpg');object-position:right center}
.venue-meta{color:#335171}.footer{background:#062e52;color:#d1deea}.footer strong{color:#f0cc79}
.modal-body{color:#536c85}dialog::backdrop{background:rgba(6,46,82,.68)}
.travel-heading{margin:3.5rem 0 1.5rem}.travel-heading h3{font-size:2rem;margin:.3rem 0 .7rem}.travel-heading p{color:var(--muted)}
.travel-grid,.chair-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.visit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.info-card,.chair-card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--orange);padding:2rem;box-shadow:0 12px 30px rgba(6,46,82,.05);min-width:0}
.card-label{display:block;color:var(--teal);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;margin-bottom:1rem}
.info-card h3,.chair-card h3{font-size:1.35rem;line-height:1.3;color:var(--deep);margin:0 0 1rem}.info-card p,.chair-card p{font-size:.97rem;line-height:1.75;color:var(--muted);margin:0 0 1rem}.info-card strong{color:var(--ink)}
.info-card .source-link{display:inline-block;margin-top:.5rem}.hotel-name-zh{letter-spacing:.08em}.hotel-details{display:grid;grid-template-columns:5.8rem minmax(0,1fr);gap:.75rem 1rem;margin:1.5rem 0;color:var(--muted);font-size:.95rem;line-height:1.6}.hotel-details dt{font-weight:750;color:var(--ink)}.hotel-details dd{margin:0;overflow-wrap:anywhere}.hotel-details a{color:var(--teal)}
.chair-card{text-align:center;display:flex;flex-direction:column;align-items:center}.chair-card img{width:154px;height:170px;object-fit:cover;object-position:center 20%;border-radius:50%;border:6px solid var(--pale);outline:1px solid var(--line);margin:.5rem 0 1.7rem}.chair-card .source-link{margin-top:auto}.chair-card p{max-width:290px}
.footer-contact{margin:.8rem 0 0;font-size:.82rem;color:#d1deea}.footer-contact a{color:inherit;overflow-wrap:anywhere}.footer-contact a:hover{text-decoration:underline}
.invitation-details{list-style:none;margin:1.6rem 0 0;padding:0;color:var(--muted);line-height:1.8}.invitation-details li{margin:.4rem 0}.hotel-figure{max-width:900px;margin:1.8rem 0}.hotel-figure img{display:block;width:100%;height:auto}.hotel-figure figcaption{margin-top:.6rem;font-size:.75rem;color:var(--muted)}.hotel-figure a:hover{text-decoration:underline}
.visitor-page{width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:3.5rem 0}.visitor-section{margin-bottom:3rem}.visitor-section h1,.visitor-title{text-align:center;font-size:clamp(2rem,4vw,3rem);line-height:1.2;letter-spacing:-.025em;font-weight:750;color:var(--deep);margin:0;padding:1rem 0 1.5rem;border-bottom:1px solid var(--line)}.visitor-block{padding:1.8rem 1rem;border-bottom:1px solid var(--line)}.visitor-block h2{font-size:1.15rem;color:var(--teal);margin:0 0 1.5rem}.visitor-block h3{font-size:1.65rem;color:var(--deep);margin:0 0 .75rem}.visitor-block p{line-height:1.85;color:var(--muted);margin:0 0 1.2rem}.visitor-block p:last-child{margin-bottom:0}.hotel-recommendation{padding-top:2.3rem}.hotel-recommendation .eyebrow{color:var(--teal)}.visitor-back{margin:2rem 1rem 0}.menu a[aria-current="page"]{color:var(--orange)}
@media(max-width:1100px){.nav{flex-direction:column;align-items:flex-start;padding:.8rem 0;gap:.9rem}.menu{flex-wrap:wrap;gap:1rem}.travel-grid{grid-template-columns:1fr}.contact-panel{align-items:flex-start;flex-direction:column;gap:1rem}}
@media(max-width:760px){.visit-grid,.chair-grid{grid-template-columns:1fr}.info-card,.chair-card{padding:1.5rem}.contact-panel{padding:2rem 1.5rem}.menu{gap:.9rem .85rem;font-size:.82rem}.hotel-details{grid-template-columns:5rem minmax(0,1fr)}}
.chair-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.chair-card h3{min-height:3.5rem}.chair-portrait-frame{width:154px;height:170px;overflow:hidden;border-radius:50%;border:6px solid var(--pale);outline:1px solid var(--line);margin:.5rem 0 1.7rem}.chair-portrait-frame img{width:100%;height:100%;margin:0;border:0;outline:0;border-radius:0;transform:scale(1.65);transform-origin:50% 13%}
.hero-inner{padding-top:3.2rem}
.speaker .portrait[src$="pai-zheng-updated.png"]{object-position:center 82%}
.visitor-institution-strip{border-top:4px solid var(--orange)}
.civil-mark-only{position:relative;display:block;width:205px;height:54px;overflow:hidden}
.civil-mark-only img{position:absolute;left:-128px;top:0;width:auto!important;height:54px!important;max-width:none!important;max-height:none!important}
.institution-logos a.civil-logo{width:205px}
.heading.stacked>p{max-width:1140px}
.poster-intro{max-width:1140px}
.modal-body{max-height:68vh;overflow:auto}
@media(max-width:1100px){.chair-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.institution-logos{gap:1.2rem}}
@media(max-width:640px){.chair-grid{grid-template-columns:1fr}.hero-inner{padding-top:2rem}.hero-institution-strip .institution-logos{padding:0;gap:.65rem 1rem}.institution-logos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem .85rem}.institution-logos a{height:50px;justify-self:center}.institution-logos a.hkust-logo,.hero-institution-strip .institution-logos a.hkust-logo{width:125px}.institution-logos a.civil-logo,.hero-institution-strip .institution-logos a.civil-logo{width:175px}.institution-logos a.robotics-logo,.hero-institution-strip .institution-logos a.robotics-logo{width:150px}.institution-logos a.gz-logo,.hero-institution-strip .institution-logos a.gz-logo{width:140px}.institution-logos a.hkust-logo img,.institution-logos a.gz-logo img{max-height:40px}.civil-mark-only{width:175px;height:48px}.civil-mark-only img{left:-114px;height:48px!important}.chair-subtitle{margin-top:2rem;font-size:1.25rem}}
.topbar .nav{width:min(1324px,calc(100% - 4rem));min-height:78px;display:flex;flex-direction:row;flex-wrap:nowrap;gap:14px;align-items:center;padding:0;white-space:nowrap}
.topbar .brand{flex:none;font-size:19.52px}.topbar .brand small{color:#f0cc79}
.topbar .institution-logos{display:flex;width:auto;margin:0;justify-content:flex-start;gap:8px;padding:0;flex:none}
.topbar .institution-logos a{height:48px;flex-shrink:0}
.topbar .institution-logos a.hkust-logo{width:86px}
.topbar .institution-logos a.civil-logo{width:110px}
.topbar .institution-logos a.robotics-logo{width:86px}
.topbar .institution-logos a.gz-logo{width:96px}
.topbar .institution-logos a.journal-logo{width:36px;height:48px;background:transparent}
.topbar .institution-logos a.journal-logo img{width:36px;height:36px;max-height:36px;object-fit:contain}
.topbar .institution-logos img{filter:none;mix-blend-mode:normal;max-height:36px}
.topbar .civil-mark-only{width:110px;height:32px}
.topbar .civil-mark-only img{left:-81px;top:-18px;width:196px!important;height:auto!important;max-width:none;max-height:none}
.robotics-original-frame{display:block;width:86px;height:37px;overflow:hidden}
.topbar .robotics-original-frame img{display:block;width:86px;height:auto;max-height:none;max-width:none}
.topbar .menu{margin-left:auto;justify-content:flex-end;flex-wrap:nowrap;gap:14px;min-height:30px;font-size:13px;transform:translateX(24px)}
.topbar .register-link{display:block;padding:10px 16px}
.topbar .menu a[aria-current="page"]{color:#f0cc79;text-decoration:underline;text-underline-offset:5px}
@media(max-width:1500px){.topbar .brand{font-size:19px}.topbar .register-link{padding:10px 13px}}
@media(max-width:1430px){.topbar .nav{flex-wrap:wrap;padding:.6rem 0;gap:.4rem 1rem}.topbar .menu{flex-basis:100%;justify-content:flex-end;flex-wrap:wrap;transform:none}}
@media(max-width:760px){.topbar{position:relative}.topbar .nav{width:calc(100% - 2rem);white-space:normal}.topbar .brand{white-space:nowrap}.topbar .institution-logos{width:100%;min-width:0;flex-wrap:wrap;gap:.3rem .85rem}.topbar .menu{justify-content:flex-start;font-size:13px;gap:.85rem}}
#committees .chair-subtitle{margin:0 0 1.25rem;padding:0;border:0}
.committee-members{margin-top:2.5rem;padding-top:1.6rem;border-top:1px solid var(--line)}.committee-members h3{margin:0 0 1.25rem;color:var(--deep);font-size:1.45rem;line-height:1.25}.member-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.8rem 1.5rem;list-style:none;margin:0;padding:0;color:var(--muted);font-size:1rem;line-height:1.6}
@media(max-width:760px){.member-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1rem}}
.venue-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:stretch}
.venue-grid>.campus-photo{display:block;width:100%;height:auto;min-height:0;aspect-ratio:16/10;object-fit:cover}
.campus-map-link{display:block;width:100%;align-self:center;background:transparent;border:0;cursor:zoom-in}
.campus-map{display:block;width:100%;height:auto}
.campus-map-link:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
.venue-grid>.venue-copy{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:2rem;align-items:center}
.venue-copy .venue-meta{margin:0;padding:0;border:0;font-size:1rem;line-height:1.6}.venue-copy .university-name{margin:.65rem 0 0}
/* Shared section-subheading scale: venue, travel, poster, and committees. */
.supporters-section .heading h2{white-space:normal;text-wrap:balance}
.supporter-logos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2rem 3rem;align-items:center;padding:1.25rem 0 0}
.supporter-logo{grid-column:span 2;display:flex;align-items:center;justify-content:center;min-width:0;height:200px;overflow:hidden;background:#fff}
.supporter-logo:nth-child(4){grid-column:2/span 2}.supporter-logo:nth-child(5){grid-column:4/span 2}
.supporter-logo img{display:block;width:100%;height:auto;max-height:200px;object-fit:contain}
.supporter-civil img{width:100%;max-width:none;flex-shrink:0}
.supporter-ri img{width:132%;max-width:none;max-height:none;flex-shrink:0}
.supporter-journal img{width:200px;max-width:100%;max-height:200px}
@media(min-width:1431px){.topbar .nav{width:min(1420px,calc(100% - 4rem))}.topbar .menu{gap:12px;transform:none}}
@media(max-width:900px){.supporter-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 2rem}.supporter-logo,.supporter-logo:nth-child(4),.supporter-logo:nth-child(5){grid-column:auto;height:170px}.supporter-logo img{max-width:300px}.supporter-civil img{max-width:330px}.supporter-ri img{max-width:350px}.supporter-journal img{width:180px}}
@media(max-width:480px){.supporter-logos{grid-template-columns:1fr;gap:1rem}.supporter-logo{height:135px}.supporter-logo img{max-width:290px}.supporter-civil img{max-width:330px}.supporter-ri img{max-width:350px}}
:root{--section-subheading-size:2rem;--section-subheading-line:1.25}
#venue .venue-place,#venue .travel-heading h3,#committees .chair-subtitle,#committees .committee-members h3,#poster .poster-panel h3{font-size:var(--section-subheading-size);line-height:var(--section-subheading-line);font-weight:500;letter-spacing:0;color:var(--deep)}
#venue .venue-place{margin:.65rem 0 0}
.poster-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.2rem}
.fact strong .venue-detail .room-code{display:inline;white-space:nowrap;font:inherit;color:inherit;margin:0}
@media(min-width:901px){.hero-inner{grid-template-columns:minmax(0,1fr) 480px;gap:2rem}.fact strong .venue-detail{white-space:nowrap}}
@media(max-width:640px){:root{--section-subheading-size:1.5rem}}
@media(max-width:900px){.venue-grid{grid-template-columns:1fr}.venue-grid>.campus-photo{aspect-ratio:16/9}.campus-map-link{aspect-ratio:auto}.campus-map{height:auto}.venue-grid>.venue-copy{grid-template-columns:1fr;gap:1.25rem}.venue-copy .venue-meta{padding-top:1.1rem;border-top:1px solid var(--line)}}

/* Capacity notice and desktop speaker arrangement. */
.hero .registration-note{display:inline-block;max-width:100%;margin:1rem 0 0;padding:.65rem 1rem;border-radius:.65rem;background:rgba(6,46,82,.58);color:#fff;font-size:.95rem;line-height:1.5;font-weight:500;box-shadow:none}
@media(min-width:901px){.speaker-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.speaker{grid-column:span 2}.speaker:nth-child(7){grid-column:2/span 2}.speaker .portrait{width:min(150px,calc(100% - 1.5rem));height:auto;aspect-ratio:150/164}}

/* Match the visible logo artwork, including source files with internal margins. */
.aligned-logo{position:relative;display:block;flex:none;height:var(--logo-height);overflow:hidden}
.aligned-logo img{position:absolute!important;display:block!important;max-width:none!important;max-height:none!important;object-fit:fill!important;flex:none!important;transform:none!important}
.topbar .institution-logos{--logo-height:26px;gap:8px}
.topbar .institution-logos a.hkust-logo,.topbar .institution-logos a.civil-logo,.topbar .institution-logos a.robotics-logo,.topbar .institution-logos a.gz-logo,.topbar .institution-logos a.journal-logo{width:auto;height:48px}
.supporter-logos{--logo-height:60px}
.supporter-logo,.supporter-logo:nth-child(n){height:150px;overflow:visible}
@media(max-width:1100px){.supporter-logos{--logo-height:52px}}
@media(max-width:480px){.supporter-logos{--logo-height:48px}.supporter-logo,.supporter-logo:nth-child(n){height:110px}}

/* Optical balance: long department wordmark and detailed journal logo. */
.topbar .civil-logo .aligned-logo{--logo-height:23px}
.topbar .journal-logo .aligned-logo{--logo-height:36px}
.supporter-civil .aligned-logo{height:calc(var(--logo-height) * .8)}
.supporter-journal .aligned-logo{height:calc(var(--logo-height) * 1.62)}
/* A compact secondary notice, subordinate to the registration button. */
.hero .registration-note{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.45rem .7rem;margin:1rem 0 0;padding:.6rem .85rem;background:#f8f6ee;color:#16324f;border:1px solid rgba(240,204,121,.75);border-radius:.65rem;box-shadow:0 3px 12px rgba(6,46,82,.1);font-size:.875rem;font-weight:400;line-height:1.5;letter-spacing:0}
.hero .registration-note strong{font-size:inherit;font-weight:700;color:#062e52}
.notice-divider{height:.9em;width:1px;background:#c4b58e;flex:none}
@media(max-width:480px){.hero .registration-note{gap:.25rem .5rem;padding:.55rem .75rem;font-size:.8125rem}.notice-divider{display:none}.hero .registration-note>span:last-child{flex-basis:100%}}

/* Match the notice to the combined CTA row in width, type size and pill shape. */
.hero-registration{display:inline-grid;grid-template-columns:minmax(0,1fr);width:max-content;max-width:100%;margin-top:1.7rem}
.hero-registration .actions{margin-top:0}
.hero-registration .actions .button{flex:1 1 auto}
.hero .hero-registration .registration-note{display:flex;justify-content:center;align-items:center;width:100%;min-height:54px;margin:.8rem 0 0;padding:.8rem 1.2rem;border-radius:999px;font-size:1.05rem;line-height:1.25;gap:.35rem .65rem}
.hero .hero-registration .registration-note strong{font-size:inherit}
@media(max-width:480px){.hero-registration{width:100%}.hero-registration .actions .button{flex-basis:100%}.hero .hero-registration .registration-note{padding:.85rem 1.1rem}.hero-registration .notice-divider{display:none}.hero-registration .registration-note>span:last-child{text-align:center}}

/* Match the white CTA and soften the journal mark's visual weight. */
.hero .hero-registration .registration-note{background:#fff;border-color:rgba(255,255,255,.34)}

/* Anchor only the profile action; preserve all existing card content positions. */
#speakers .speaker{position:relative}
#speakers .speaker-body{padding-bottom:3.1rem}
#speakers .speaker .profile-button{position:absolute;left:1.15rem;bottom:1.15rem;margin-top:0}

/* Keep the supplied full-length portrait focused on the speaker’s face. */
.speaker .portrait.yee-locke{object-position:center 10%}
