:root { --red:#a31e2d; --red-light:#bf4f4f; --red-mid:#c46161; --text:#353535; --width:1140px; }
* { box-sizing:border-box; }
html { background:#fff; }
body { margin:0; color:var(--text); font-family:Arial,"Microsoft JhengHei",sans-serif; line-height:1.55; }
.skip-link { position:absolute; left:-999em; }
.skip-link:focus { left:10px; top:10px; z-index:20; background:#fff; padding:8px; }
.masthead { height:196px; overflow:hidden; text-align:center; background:#f3efed; border-top:30px solid var(--red); border-bottom:22px solid var(--red); }
.masthead img { display:block; width:min(876px,100%); height:144px; margin:auto; object-fit:contain; }
.site-nav { background:#d8d8d8; }
.site-nav__inner { display:flex; width:min(720px,100%); margin:auto; }
.site-nav a { padding:8px 22px; color:#303030; text-decoration:none; font-size:18px; font-weight:700; white-space:nowrap; }
.site-nav a:hover,.site-nav a.active { color:#fff; background:#575757; }

/* Homepage: the original site uses an automatic, clickable carousel. */
.hero-carousel { position:relative; height:314px; overflow:hidden; background:#222; }
.hero-slide { position:absolute; inset:0; display:block; color:#fff; opacity:0; visibility:hidden; transition:opacity .55s ease,visibility .55s; text-decoration:none; }
.hero-slide.is-active { opacity:1; visibility:visible; }
.hero-slide img { width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-slide span { position:absolute; right:0; bottom:0; left:0; padding:18px 80px; background:rgba(0,0,0,.54); text-align:center; font-size:18px; font-weight:700; }
.carousel-arrow { position:absolute; top:calc(50% - 22px); z-index:2; width:44px; height:44px; border:0; border-radius:50%; background:rgba(0,0,0,.48); color:#fff; cursor:pointer; font-size:42px; line-height:34px; opacity:.75; }
.carousel-arrow:hover,.carousel-arrow:focus { opacity:1; background:var(--red); }
.carousel-arrow--prev { left:18px; }.carousel-arrow--next { right:18px; }
.carousel-dots { position:absolute; right:0; bottom:8px; left:0; z-index:2; display:flex; justify-content:center; gap:8px; }
.carousel-dots button { width:11px; height:11px; padding:0; border:1px solid #fff; border-radius:50%; background:transparent; cursor:pointer; }
.carousel-dots button.is-active { background:#fff; }
.event-title { padding:40px 20px 44px; color:#fff; background:var(--red-light); text-align:center; }
.event-title h1 { margin:0 0 20px; font-size:32px; }.event-title h2 { margin:0; font-size:20px; }
.results { padding:23px 0 35px; color:#fff; background:var(--red-mid); text-align:center; }
.results h2 { margin:0 0 15px; font-size:20px; }.results > div { display:grid; grid-template-columns:repeat(4,1fr); width:min(var(--width),100%); margin:auto; }
.results p { margin:0; }.results b { display:block; min-width:8ch; font-size:30px; font-variant-numeric:tabular-nums; }.results span { font-size:30px; font-weight:700; }
.feature-row { display:grid; grid-template-columns:285px 1fr 285px; gap:12px; width:min(var(--width),calc(100% - 30px)); margin:22px auto 45px; }
.feature-row aside { padding:14px; border:1px solid #ddd; background:#f2f2f2; }.feature-row h3 { margin:-14px -14px 12px; padding:5px; color:var(--red); background:#d2d2d2; text-align:center; font-size:16px; }
.feature-row aside a { display:block; margin:8px 0; color:#34759d; text-decoration:none; font-size:16px; font-weight:700; line-height:1.55; }.feature-row aside a:hover { text-decoration:underline; }
.video-wrap iframe,.facebook-frame { width:100%; height:300px; border:0; }
.news { width:min(var(--width),calc(100% - 30px)); margin:0 auto 32px; }.news h2,.partners h2,.links h2 { margin:0 0 14px; text-align:center; font-size:32px; }
.news-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:10px; }.news-grid a { color:#444; text-decoration:none; font-size:15px; font-weight:700; line-height:1.45; }.news-grid a:hover span { color:var(--red); text-decoration:underline; }.news-grid img { display:block; width:100%; aspect-ratio:1; margin-bottom:8px; object-fit:contain; }
.map { position:relative; height:430px; overflow:hidden; background:#d7e7eb; }
.map__status { position:absolute; top:50%; left:50%; z-index:500; margin:0; padding:8px 13px; border-radius:4px; color:#444; background:rgba(255,255,255,.92); box-shadow:0 1px 5px rgba(0,0,0,.2); transform:translate(-50%,-50%); pointer-events:none; }
.map__status.is-error { color:#8f1825; }
.map .leaflet-popup-content { margin:0; font-family:Arial,"Microsoft JhengHei",sans-serif; font-size:15px; }
.map .leaflet-popup-content-wrapper { overflow:hidden; border-radius:4px; }
.nybc-map-popup__title { margin:0; padding:18px 20px; font-size:24px; line-height:1.25; }
.nybc-map-popup__site { padding:9px 16px; border-top:1px solid #eee; border-bottom:1px solid #fff; background:#eee; font-size:17px; }
.nybc-map-popup__table { width:calc(100% - 32px); margin:14px 16px 18px; border-collapse:collapse; font-size:16px; }
.nybc-map-popup__table th,.nybc-map-popup__table td { padding:7px 12px; border:1px solid #fff; background:#ddd; text-align:left; font-weight:400; line-height:1.25; }
.nybc-map-popup__table th { width:47%; }
.partners { padding:20px 15px 35px; background:#fff; }.partner-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; width:min(1140px,100%); margin:auto; text-align:center; }.partner-grid article { min-width:0; }.partner-grid img { display:block; width:100%; max-width:380px; height:auto; margin:0 auto; }.partner-grid h3 { display:table; margin:0 auto 10px; padding:3px 13px; color:#fff; background:#b12418; font-size:28px; line-height:1.35; }.partner-grid h3 a { color:inherit; text-decoration:none; }.partner-grid h3 a:hover,.partner-grid h3 a:focus { text-decoration:underline; }.partner-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }.partner-actions p { width:160px; margin:0; padding:10px 5px; border:2px solid #b45751; border-radius:10px; color:#333; font-size:17px; line-height:1.45; }.partner-actions strong,.partner-actions span { display:block; }
.links { padding:25px 10px 32px; background:#eee; }.link-carousel { display:flex; align-items:center; gap:8px; width:min(1180px,100%); margin:auto; }.link-carousel__viewport { overflow:hidden; flex:1; }.link-carousel__track { display:flex; transition:transform .55s ease; will-change:transform; }.link-card { display:flex; flex:0 0 14.285714%; min-width:0; min-height:160px; padding:0 7px; align-items:center; justify-content:end; flex-direction:column; color:#222; text-align:center; text-decoration:none; font-size:13px; font-weight:700; line-height:1.25; }.link-card:hover { color:var(--red); }.link-card img { display:block; max-width:128px; max-height:112px; margin-bottom:7px; object-fit:contain; }.link-carousel__arrow { flex:0 0 28px; width:28px; height:44px; border:0; background:#bbb; color:#fff; cursor:pointer; font-size:32px; line-height:32px; }.link-carousel__arrow:hover { background:var(--red); }

/* Interior pages and the section navigation restored from the old Drupal site. */
.interior-layout { display:grid; grid-template-columns:196px minmax(0,1fr); gap:24px; width:min(1260px,calc(100% - 76px)); margin:52px auto 80px; align-items:start; }
.section-sidebar ul { margin:0; padding:0; list-style:none; }.section-sidebar > nav > ul > li { margin-bottom:10px; }.section-sidebar a { display:block; padding:14px 16px; border-radius:5px; color:#555; background:#dedede; text-decoration:none; font-size:17px; }.section-sidebar > nav > ul > li > a:hover,.section-sidebar > nav > ul > li > a.active { color:#fff; background:#1693ae; font-weight:700; }.section-sidebar li ul { margin:6px 0 0 16px; }.section-sidebar li ul a { padding:8px 10px; background:transparent; font-size:15px; }.section-sidebar li ul a:hover,.section-sidebar li ul a.active { color:var(--red); background:transparent; text-decoration:underline; }
.page-content { min-width:0; }.page-content h1 { margin:0 0 20px; padding-bottom:11px; border-bottom:2px solid var(--red); color:#444; font-size:36px; }.rich-content { font-size:17px; }.rich-content img { max-width:100%; height:auto; }.rich-content iframe { max-width:100%; }.rich-content a { color:#2f7098; }.rich-content p { margin:0 0 18px; }
.content-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.content-card { min-height:195px; padding:20px; border:1px solid #ddd; border-top:4px solid var(--red); background:#fafafa; }.content-card h2 { margin:0 0 5px; font-size:22px; line-height:1.35; }.content-card h2 a { color:#333; text-decoration:none; }.content-card h2 a:hover { color:var(--red); text-decoration:underline; }.content-card time { color:#888; font-size:14px; }.content-card p { margin:10px 0; color:#555; font-size:15px; }.read-more { color:#35769c; font-weight:700; text-decoration:none; }.read-more:hover { text-decoration:underline; }
.pub-page h1 { margin-bottom:18px; }.product-featured__item,.publication-item { display:grid; grid-template-columns:220px minmax(0,1fr); gap:28px; padding:18px 0 28px; border-bottom:1px solid #ddd; }.product-featured__item img { display:block; width:220px; height:220px; object-fit:contain; }.product-featured__item h2,.publication-item h2 { margin:0 0 7px; font-size:24px; line-height:1.35; }.product-featured__item h2 a,.publication-item h2 a { color:#3682bd; text-decoration:none; }.product-featured__item h2 a:hover,.publication-item h2 a:hover,.product-retired a:hover { text-decoration:underline; }.product-featured__item strong { color:#b21b2b; font-size:14px; }.product-featured__item p,.publication-item p { margin:8px 0 0; font-size:15px; }.retired-heading { margin:26px 0 10px; font-size:25px; }.product-retired { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px 20px; }.product-retired article { min-width:0; }.product-retired img { display:block; width:min(130px,100%); aspect-ratio:1; object-fit:contain; }.product-retired h3 { margin:5px 0 0; font-size:14px; line-height:1.35; }.product-retired a { color:#3682bd; text-decoration:none; }.publication-item { grid-template-columns:140px minmax(0,1fr); padding:20px 0 30px; }.publication-item img { display:block; width:140px; max-height:220px; object-fit:contain; }.publication-item h2 { font-size:23px; }.publication-item p { font-size:16px; font-weight:600; line-height:1.7; }
.download-table-wrap { overflow-x:auto; }.download-table { width:100%; border-collapse:collapse; font-size:15px; }.download-table th { padding:10px; color:#fff; background:#333; text-align:left; }.download-table td { padding:9px 10px; border-bottom:2px solid #fff; background:#ddd; vertical-align:middle; }.download-table td:nth-child(3) { white-space:nowrap; }.download-table a { color:#2d7db5; font-weight:700; text-decoration:none; }.file-badge { display:inline-block; min-width:42px; padding:1px 6px; border-radius:8px; color:#fff !important; text-align:center; font-size:12px; }.file-badge--xlsx { background:#45b83d; }.file-badge--doc { background:#199de3; }
.financial-page section { padding:0 0 24px; border-bottom:1px solid #ddd; }.financial-page h3 { margin:22px 0 12px; font-size:22px; }.financial-page .rich-content p { margin:0; }.financial-page .rich-content img { display:block; width:min(700px,100%); height:auto; }
.english-report__body { display:grid; grid-template-columns:180px minmax(0,1fr); gap:20px; align-items:start; }.english-report__body > a img { display:block; width:180px; max-height:300px; object-fit:contain; }.english-report .rich-content { font-family:Georgia,"Times New Roman",serif; font-size:15px; line-height:1.7; }.english-report .rich-content p:first-child { margin-top:0; }.report-download { margin:22px 0 0; padding:10px 14px; background:#eee; }.report-download a { color:#3682bd; font-size:17px; font-weight:700; text-decoration:none; }.report-download a:hover { text-decoration:underline; }
.site-footer { padding:35px 20px 42px; color:#fff; background:#333; text-align:center; font-size:14px; }.site-footer a { color:#fff; text-decoration:none; }.site-footer a:hover { text-decoration:underline; }.site-footer p { max-width:950px; margin:12px auto 0; }.site-footer__login { margin-top:14px; }

@media (max-width:920px) { .feature-row { grid-template-columns:240px 1fr; }.facebook-frame { display:none; }.interior-layout { width:min(100% - 36px,900px); grid-template-columns:180px minmax(0,1fr); } .content-list { grid-template-columns:1fr; } .product-retired { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:700px) { .masthead { height:105px; border-top-width:12px; border-bottom-width:10px; }.masthead img { height:83px; }.site-nav__inner { overflow:auto; }.site-nav a { padding:9px 13px; font-size:15px; }.hero-carousel { height:230px; }.hero-slide span { padding:13px 48px; font-size:15px; }.carousel-arrow { width:35px; height:35px; font-size:32px; line-height:25px; }.carousel-arrow--prev { left:7px; }.carousel-arrow--next { right:7px; }.event-title { padding:28px 15px; }.event-title h1 { font-size:25px; }.results > div { grid-template-columns:repeat(2,1fr); row-gap:18px; }.results b,.results span { font-size:23px; }.feature-row { grid-template-columns:1fr; }.video-wrap iframe { height:220px; }.news-grid { grid-template-columns:repeat(2,1fr); }.map { height:270px; }.partner-grid { grid-template-columns:1fr; gap:28px; }.partner-grid img { max-width:340px; }.link-card { min-height:125px; font-size:13px; }.link-carousel__arrow { flex-basis:28px; width:28px; }.interior-layout { display:block; width:calc(100% - 32px); margin:35px auto 60px; }.section-sidebar { margin-bottom:25px; }.section-sidebar > nav > ul { display:flex; flex-wrap:wrap; gap:7px; }.section-sidebar > nav > ul > li { margin:0; }.section-sidebar a { padding:8px 11px; font-size:14px; }.section-sidebar li ul { display:none; }.page-content h1 { font-size:30px; }.rich-content { font-size:16px; }.product-featured__item,.publication-item { grid-template-columns:100px minmax(0,1fr); gap:15px; }.product-featured__item img,.publication-item img { width:100px; height:130px; }.product-featured__item h2,.publication-item h2 { font-size:19px; }.product-featured__item p,.publication-item p { font-size:14px; line-height:1.55; }.product-retired { grid-template-columns:repeat(2,minmax(0,1fr)); }.english-report__body { grid-template-columns:1fr; }.english-report__body > a img { width:150px; }.site-footer { font-size:12px; } }
/* Managed content fields */
.product-price,.product-meta{font-weight:700;color:#9f1d2e}.product-meta{display:flex;gap:14px;align-items:center;margin:0 0 18px}.product-status{display:inline-block;padding:4px 8px;border-radius:3px;background:#9f1d2e;color:#fff}.product-status--discontinued{background:#777}.product-detail__image{display:block;max-width:360px;max-height:360px;object-fit:contain;margin:0 24px 18px 0;float:left}.product-detail .rich-content{overflow:hidden}.content-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px}.content-card__image img{width:180px;height:120px;object-fit:cover}.content-tags{display:flex;gap:6px;flex-wrap:wrap}.content-tags span{padding:2px 7px;border-radius:999px;background:#eef3f5;color:#42616c;font-size:.85rem}@media(max-width:640px){.content-card{grid-template-columns:1fr}.content-card__image img{width:100%;height:auto}.product-detail__image{float:none;max-width:100%;margin-right:0}}
.news-detail-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 18px;padding-left:10px;border-left:4px solid #d8d8d8}.news-detail-meta time{color:#333}.news-detail-meta .content-tags{margin:0}.news-detail-meta .content-tags span{border-radius:3px;background:#777;color:#fff;font-weight:700}
