:root{font-family:"Noto Sans SC","Microsoft YaHei",system-ui,sans-serif;color:#21394c;background:#f2f5f7;font-size:16px}*{box-sizing:border-box}body{margin:0}button{font:inherit}a{color:inherit}.topline{height:5px;background:#a97739}.header{background:#fff;border-bottom:1px solid #d6e0e7}.header-inner{max-width:1200px;margin:auto;padding:22px 30px;display:flex;align-items:center;justify-content:space-between}.identity{display:flex;gap:15px;align-items:center}.mark{width:50px;height:50px;display:grid;place-items:center;border:2px solid #a97739;border-radius:50%;font-family:serif;font-size:25px;color:#a97739}.identity strong{display:block;font-size:21px;color:#173b63;letter-spacing:.1em}.identity small{display:block;margin-top:3px;color:#718391;font-size:11px;letter-spacing:.16em}.sample{border:1px solid #cbd6df;color:#647887;padding:7px 11px;font-size:13px}.hero{background:linear-gradient(115deg,#173b63,#245778);color:#fff}.hero-inner{max-width:1200px;margin:auto;padding:65px 30px 62px}.hero-label{font-size:14px;color:#e0c99e;letter-spacing:.17em}.hero h1{font-family:serif;font-weight:600;line-height:1.48;letter-spacing:.035em;font-size:clamp(31px,3.65vw,48px);margin:18px 0 20px;max-width:980px}.hero p{color:#d9e6ee;line-height:1.8;margin:0}.nav-shell{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid #d7e0e7}.nav-inner{max-width:1200px;margin:auto;padding:0 20px;overflow-x:auto}.tabs{display:flex;min-width:max-content}.tabs>button,.county-nav>button{border:0;border-bottom:3px solid transparent;background:none;color:#405b70;padding:20px 24px 17px;cursor:pointer;white-space:nowrap;min-height:60px}.tabs button:hover,.tabs button:focus-visible{background:#f0f5f8;color:#173b63}.tabs button[aria-selected=true]{border-color:#a97739;color:#173b63;font-weight:700}.county-nav{position:relative}.county-nav small{font-size:12px;color:#697f90;margin-left:7px}.county-menu{position:absolute;right:0;top:100%;min-width:215px;max-height:360px;overflow:auto;background:#fff;border:1px solid #d5dfe7;box-shadow:0 14px 30px #173b6326;padding:6px;z-index:20}.county-menu[hidden]{display:none}.county-menu button{display:block;width:100%;text-align:left;border:0;background:none;padding:12px 15px;cursor:pointer;color:#28475e}.county-menu button:hover,.county-menu button:focus-visible{background:#ecf2f6}.main{max-width:1200px;margin:auto;padding:44px 30px 100px;display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:56px}.main-column{min-width:0}.eyebrow,.side-label{font-size:13px;color:#a16f32;letter-spacing:.15em;font-weight:700}.panel h2{font-family:serif;color:#173b63;font-size:clamp(30px,3vw,40px);margin:11px 0 18px}.lead{font-size:19px;color:#344d61;line-height:1.9;margin:0}.section-rule{height:1px;background:#cbd8e1;margin:30px 0}.article h3,.asset-section h3{color:#17496f;font-size:21px;margin:29px 0 14px}.article p{line-height:2.05;margin:0 0 15px}.asset-section{margin-top:39px}.asset-section h3{border-left:3px solid #a97739;padding-left:12px}.media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}.empty-media{min-height:205px;background:#e8eef2;border:1px dashed #b4c6d2;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#577083;text-align:center;padding:22px}.media-symbol{font-size:36px;color:#7c98aa;line-height:1}.empty-media strong{font-size:17px;margin-top:10px}.empty-media small{font-size:13px;margin-top:6px}.media-item{margin:0;background:#fff;border:1px solid #d8e2e9}.media-item img{display:block;width:100%;height:auto;max-height:720px;object-fit:contain;background:#fff}.media-item video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#dce7ee}.media-item figcaption{padding:12px 15px;font-size:14px;color:#40596b}.file-card{display:flex;align-items:center;gap:17px;background:#fff;border:1px solid #d8e2e9;padding:19px 22px;text-decoration:none;margin-bottom:11px}.file-icon{background:#e7eff5;border-radius:4px;color:#1c5680;padding:12px;font-weight:700;flex:none}.file-card strong{display:block;color:#1c3e5d;font-size:16px}.file-card small{display:block;color:#758896;font-size:13px;margin-top:6px}.file-action{margin-left:auto;color:#1e5e8c;font-size:14px}.file-card:not(.file-empty):hover{border-color:#7ca5c2}@media(max-width:850px){.main{display:block;padding:32px 20px 65px}.sidebar{position:static;margin-top:50px}.hero-inner{padding:48px 22px}.nav-inner{padding:0 8px}.tabs>button,.county-nav>button{padding:17px 17px 14px}.county-menu{position:fixed;right:14px;top:calc(100px + env(safe-area-inset-top));max-height:60vh}.header-inner{padding:16px 20px}}@media(max-width:480px){.identity strong{font-size:17px}.identity small{font-size:10px}.mark{width:40px;height:40px;font-size:20px}.sample{display:none}.hero h1{font-size:30px}.hero p{font-size:14px}.lead{font-size:17px}}
.document-card{background:#fff;border:1px solid #d8e2e9;margin:16px 0 24px}.document-card header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;border-bottom:1px solid #e2e9ee}.document-card h4{margin:5px 0 0;color:#173b63;font-size:18px}.document-type{font-size:12px;color:#9b6d32;letter-spacing:.12em}.document-link{color:#1b5b86;white-space:nowrap;font-size:14px}.document-pending{font-size:13px;color:#80909c}.document-viewer{display:block;width:100%;height:min(78vh,900px);min-height:540px;background:#e8eef2;border:0}.document-card .empty-media{border:0;min-height:190px}.loading{color:#687d8e;padding:30px 0}@media(max-width:600px){.document-card header{align-items:flex-start;flex-direction:column}.document-viewer{height:70vh;min-height:440px}}

.main{display:block;max-width:1100px}.main-column{width:100%}.county-menu{position:fixed;right:auto;top:auto;z-index:1000;max-height:none;overflow-y:auto;overscroll-behavior:contain}.county-menu button{min-height:43px}@media(max-width:850px){.main{display:block}}



.event-images{display:block}.event-images .media-item:first-child{max-width:360px}.event-images .media-item+.media-item{margin-top:20px}
.media-item figcaption strong{display:block;color:#173b63;font-size:20px}.media-item figcaption p{margin:8px 0 0;color:#526b7e;line-height:1.8}.event-images .media-item:first-child{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,360px);align-items:center;gap:30px;max-width:none;padding:24px}.event-images .media-item:first-child img{grid-column:2;grid-row:1}.event-images .media-item:first-child figcaption{grid-column:1;grid-row:1}.event-images .media-item+.media-item figcaption{padding:20px 22px}.event-images .media-item+.media-item img{max-height:none}@media(max-width:700px){.event-images .media-item:first-child{display:flex;flex-direction:column;padding:20px}.event-images .media-item:first-child img{width:min(100%,320px)}}

.document-notice{padding:22px 24px;margin:0;color:#536b7d;line-height:1.9;background:#f4f7f9}

/* r12: centered masthead text and direct single-file category content */
.hero-inner{text-align:center}.hero h1{margin-left:auto;margin-right:auto}
.plain-panel{background:#fff;border:1px solid #d8e2e9;min-height:120px}
.content-empty{margin:0;padding:36px 24px;color:#637b8d;font-size:16px}
.content-frame{display:block;width:100%;border:0;min-height:200px;background:#fff}
.plain-image{display:block;width:100%;height:auto;object-fit:contain}
.plain-video{display:block;width:100%;max-height:80vh;background:#132636}
.pdf-stream{padding:16px;background:#eef2f5}
.pdf-sheet{margin:0 auto 16px;max-width:100%;background:#fff;overflow:hidden;position:relative}
.pdf-sheet:last-child{margin-bottom:0}.pdf-sheet canvas{display:block;width:100%;height:auto}
.pdf-status{margin:0;padding:24px;color:#536b7d;font-size:16px;line-height:1.8}
.pdf-sheet .pdf-status{position:absolute;inset:0;display:grid;place-items:center}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.pdf-stream{padding:5px}.pdf-sheet{margin-bottom:8px}.hero h1{font-size:clamp(23px,6.3vw,30px)}.hero-label{letter-spacing:.08em}}

.document-card .document-heading{display:flex;align-items:center;gap:14px;padding:23px 24px;background:#f8fafb;border-bottom:1px solid #d8e2e9}
.document-heading-mark{display:block;width:5px;height:30px;background:#a97739;flex:none}
.document-card .document-heading h4{margin:0;color:#173b63;font-family:"Songti SC","SimSun",serif;font-size:25px;font-weight:700;line-height:1.5;letter-spacing:.06em}
.document-heading-rule{height:1px;flex:1;background:linear-gradient(90deg,#a9773960,transparent);margin-left:10px}
@media(max-width:600px){.document-card .document-heading{flex-direction:row;padding:18px 16px;gap:10px}.document-card .document-heading h4{font-size:21px}.document-heading-mark{height:25px}}

/* r17: restrained exhibition guide, file entries and city backdrop */
body{background:#f0f4f7;min-height:100vh}.header-inner{padding:24px 30px}.identity strong{font-family:"Songti SC","SimSun",serif;font-size:24px;letter-spacing:.12em}.hero-inner{padding:58px 30px 54px}.hero h1{margin-top:0}.hero{border-bottom:1px solid #c4a66b;background:radial-gradient(ellipse at 80% 10%,#2e6082 0,transparent 55%),linear-gradient(115deg,#102e50,#245778)}
.main{padding-top:42px;padding-bottom:65px;min-height:380px}.section-heading{display:flex;align-items:center;gap:14px;border-bottom:1px solid #ccd8e1;padding-bottom:23px;margin-bottom:27px}.section-heading>span{width:4px;height:32px;background:#a97739}.panel .section-heading h2{margin:0;font-size:32px;letter-spacing:.12em}.browse-panel{border:0;background:transparent}.county-intro{font-size:17px;line-height:2;color:#476073;margin:0 0 30px;max-width:900px}
.document-list{display:grid;gap:16px;margin-bottom:34px}.document-entry{display:flex;gap:20px;align-items:center;width:100%;text-align:left;padding:25px 26px;background:#fff;border:1px solid #d8e2e9;border-left:3px solid #a97739;color:#173b63;cursor:pointer;transition:border-color .2s,background .2s}.document-entry:hover,.document-entry:focus-visible{border-color:#a97739;background:#fcfbf8}.document-entry:focus-visible{outline:2px solid #173b63;outline-offset:3px}.entry-icon{display:grid;place-items:center;width:46px;height:56px;background:#edf2f6;color:#a97739;font:24px serif;flex:none;border:1px solid #d7e1e8}.entry-text{flex:1;min-width:0}.entry-text strong{display:block;font:600 22px/1.65 "Songti SC","SimSun",serif;overflow-wrap:anywhere}.entry-text small{display:block;color:#7a8b98;font-size:14px;margin-top:5px}.entry-action{border:1px solid #c1cdd7;padding:9px 17px;flex:none;color:#173b63;font-size:15px}.document-entry:disabled{cursor:default;opacity:.65}.document-entry[aria-busy=true]{opacity:.7}.event-images{margin-top:35px}.city-bottom{position:relative;height:280px;background:linear-gradient(180deg,#f0f4f7 0%,#173b6388 35%,#102d4ee8 100%),url('./assets/city-bottom.jpg') center 54%/cover no-repeat;border-bottom:5px solid #a97739}.city-bottom-line{position:absolute;left:15%;right:15%;bottom:45px;height:1px;background:linear-gradient(90deg,transparent,#dbbf82,transparent)}
.preview-open{overflow:hidden}.preview-dialog{position:fixed;inset:4vh 4vw;margin:auto;width:min(1100px,92vw);max-width:none;height:92vh;max-height:92vh;padding:0;border:1px solid #b8c8d5;background:#f0f4f7;color:#173b63}.preview-dialog[open]{display:flex;flex-direction:column;z-index:2000}.preview-dialog::backdrop{background:#091d32c7}.preview-header{display:flex;align-items:center;gap:20px;justify-content:space-between;padding:18px 22px;background:#fff;border-top:4px solid #a97739;border-bottom:1px solid #d4dfe8}.preview-header h2{font-size:20px;line-height:1.6;overflow-wrap:anywhere;margin:0;min-width:0}.preview-header button,.preview-toolbar button,.preview-retry{border:1px solid #b9c9d6;background:#fff;padding:9px 17px;color:#173b63;cursor:pointer;flex:none;font:inherit}.preview-toolbar{display:flex;justify-content:center;align-items:center;gap:22px;padding:12px;background:#fff;border-bottom:1px solid #d8e2e9}.preview-toolbar button:disabled{opacity:.4;cursor:default}.preview-body{flex:1;min-height:0;overflow:auto;padding:18px;overscroll-behavior:contain;text-align:center}.preview-body canvas{display:block;height:auto;margin:auto;background:#fff}.preview-retry{display:inline-block;text-decoration:none;margin:12px}.preview-header button:focus-visible,.preview-toolbar button:focus-visible{outline:2px solid #a97739;outline-offset:2px}
@media(max-width:600px){.header-inner{padding:18px 16px}.identity{gap:10px}.identity strong{font-size:18px;letter-spacing:.025em}.hero-inner{padding:38px 18px 35px}.main{padding:28px 18px 45px;min-height:350px}.panel .section-heading h2{font-size:28px}.document-entry{padding:19px 16px;gap:12px}.entry-text strong{font-size:19px}.entry-action{padding:7px 10px;font-size:14px}.entry-icon{width:35px;height:45px;font-size:20px}.county-intro{font-size:16px}.city-bottom{height:220px;background-position:center center}.preview-dialog{inset:0;width:100%;height:100%;max-height:100%;border:0}.preview-header{padding:12px 14px;gap:12px}.preview-header h2{font-size:17px}.preview-toolbar{gap:14px;font-size:14px}.preview-body{padding:12px}.preview-header button,.preview-toolbar button{padding:8px 12px}}

/* r18: exact brand separator and intentional mobile headline breaks */
.brand-dot{color:#222;letter-spacing:0}.hero-title-line{display:block}.hero-title-part{display:inline}
@media(max-width:768px){.hero-title-part{display:block;white-space:nowrap}.hero h1{font-size:clamp(23px,6.1vw,30px);line-height:1.6;letter-spacing:.02em}.hero-title-line+.hero-title-line{margin-top:12px}}
.exhibitor-section{margin:26px 0;padding:22px;background:#fff;border:1px solid #d8e2e9}.exhibitor-section h3{margin:0 0 20px;border-left:3px solid #a97739;padding-left:12px;font-size:22px;color:#173b63}.exhibitor-gallery{display:flex;flex-direction:column;gap:18px}.exhibitor-gallery img{max-height:none;width:100%;height:auto}.exhibitor-pending{color:#718391;margin:0;padding:14px;border-bottom:1px solid #e6edf2}.image-preview .preview-image{display:block;margin:0 auto;width:min(100%,640px);height:auto}.image-preview .preview-body{background:#fff}@media(max-width:600px){.exhibitor-section{padding:18px 12px}}

.document-entry .file-entry-icon {
  display: block;
  width: 40px;
  height: 48px;
  object-fit: contain;
  padding: 0;
  border: 0;
  background: transparent;
  border-radius: 0;
  flex-shrink: 0;
}
