/* IndustryConnect redesign (home, directory, listing, exhibitions). Loaded only on pages that set ViewBag.IcUi.
   Brand: red #ED1C24 for accents, #D0161E for filled buttons (white text passes WCAG AA), near-black, white, light gray.
   Phone first; every control is at least 44 px tall on a phone. No fade-in animations on content. */
:root{--ink:#14171c;--ink2:#2b3036;--ink3:#3b4048;--muted:#5d636c;--line:#e5e7eb;--line2:#eceef1;--bg:#f6f7f9;--card:#fff;
 --red:#ED1C24;--red6:#D0161E;--red7:#a50f15;--red8:#b01219;--soft:#fdecec;--soft2:#fdf3f3;--softline:#f6d3d4;--ok:#0b6b3f;--okbg:#e6f6ee;
 --dark:#16181d;--radius:16px;--font:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--head:"Plus Jakarta Sans",Inter,system-ui,sans-serif}
.icx{margin:0;font:15px/1.55 var(--font);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;overflow-x:hidden}
.icx *,.icx *::before,.icx *::after{box-sizing:border-box}
.icx a{color:inherit;text-decoration:none}
.icx a:hover{text-decoration:none}
.icx img{max-width:100%}
.icx h1,.icx h2,.icx h3,.icx h4{font-family:var(--head);margin:0;letter-spacing:-.015em;color:#111318;line-height:1.2}
.icx p{margin:0}
.icx ul{margin:0;padding:0;list-style:none}
/* [hidden] must win over component display rules (.h-ai, .sugg, .sheet, filtered rows). */
.icx [hidden]{display:none!important}
.icx button,.icx input,.icx select{font:inherit;color:inherit}
.icx button{cursor:pointer}
.icx :focus-visible{outline:3px solid rgba(208,22,30,.45);outline-offset:2px;border-radius:6px}
.icx .i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
.icx svg.fl{width:21px;height:14px;border-radius:2px;flex:none;box-shadow:0 0 0 1px rgba(16,24,40,.14);vertical-align:-2px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ic-wrap{max-width:1176px;margin:0 auto;padding:0 32px}
.ic-main{display:block;min-height:50vh}
.ic-skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--dark);color:#fff!important;padding:10px 14px;border-radius:8px}
.ic-skip:focus{top:10px}

/* header */
.ic-top{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-bottom:1px solid var(--line2)}
.ic-top-in{display:flex;align-items:center;gap:24px;height:70px}
.ic-logo{display:flex;align-items:center;flex:none}
.ic-logo img{height:44px;width:auto;display:block}
.ic-nav{display:flex;gap:2px;min-width:0}
.ic-nav a{position:relative;padding:10px 12px;border-radius:8px;font-weight:500;font-size:14.5px;color:var(--ink3);white-space:nowrap}
.ic-nav a:hover{background:#f4f5f7;color:#111}
.ic-nav a[aria-current=page]{color:#111;font-weight:650}
.ic-nav a[aria-current=page]::after{content:"";position:absolute;left:12px;right:12px;bottom:-14px;height:3px;border-radius:3px;background:var(--red)}
.ic-top-r{margin-left:auto;display:flex;align-items:center;gap:14px}
.ic-link{font-weight:600;color:var(--ink2);font-size:14.5px;display:inline-flex;align-items:center;gap:6px;min-height:44px}
.ic-icon{width:44px;height:44px;border-radius:10px;border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;color:var(--ink)}
.ic-icon .i{width:24px;height:24px}
.ic-phone{display:none!important}
.ic-menu{border-top:1px solid var(--line2);background:#fff}
.ic-menu nav{display:flex;flex-direction:column;padding-top:6px;padding-bottom:12px}
.ic-menu a{min-height:48px;display:flex;align-items:center;font-weight:600;border-bottom:1px solid #f1f2f4}
.ic-menu a[aria-current=page]{color:var(--red7)}

/* buttons, chips, tags */
.ic-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 20px;border-radius:10px;font:600 15px/1 var(--font);border:1px solid transparent;white-space:nowrap;transition:background .15s,border-color .15s;cursor:pointer;text-align:center}
.ic-btn-red{background:var(--red6);color:#fff!important}
.ic-btn-red:hover{background:var(--red8)}
.ic-btn-dark{background:var(--dark);color:#fff!important}
.ic-btn-dark:hover{background:#000}
.ic-btn-line{background:#fff;border-color:#d4d7dc;color:#1b1e23!important}
.ic-btn-line:hover{border-color:#9aa0a8}
.ic-btn-soft{background:var(--soft);color:var(--red7)!important}
.ic-btn-wa{background:#e7f7ee;color:var(--ok)!important}
.ic-btn-sm{height:40px;padding:0 14px;font-size:14px;border-radius:9px}
.ic-btn-lg{height:54px;padding:0 26px;font-size:16.5px;border-radius:12px}
.ic-btn-block{width:100%}
.ic-btn .i{width:18px;height:18px}
.ic-eyebrow{display:inline-flex;align-items:center;gap:10px;font:700 12.5px var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--red7);margin-bottom:14px}
.ic-eyebrow::before{content:"";width:22px;height:2px;background:var(--red)}
.ic-eyebrow.on-dark{color:#ff9d92}
.red{color:var(--red)}
.tag{display:inline-block;font:700 11.5px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--red7);background:var(--soft);padding:5px 9px;border-radius:6px}
.chip{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 14px;border-radius:999px;border:1px solid #d9dce1;background:#fff;font:500 14px var(--font);color:#262a30;white-space:nowrap;cursor:pointer}
.chip:hover{border-color:#9aa0a8}
.chip.on,.chip[aria-pressed=true],.chip[aria-current]{background:var(--dark);border-color:var(--dark);color:#fff}
.chip svg.fl{width:20px;height:13px}
.chip .x{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;margin-right:-6px}
.chip .x .i{width:14px;height:14px}
.chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.crumbs{display:flex;gap:8px;flex-wrap:wrap;font-size:13.5px;color:var(--muted);margin:0 0 12px;padding:0;list-style:none}
.crumbs li{list-style:none;margin:0;padding:0}
.crumbs li::marker{content:none}
.crumbs a{color:var(--ink3)}
.crumbs a:hover{text-decoration:underline}
.crumbs li+li::before{content:"›";margin-right:8px;color:#9aa0a8}
.crumbs li[aria-current] {color:var(--ink);font-weight:500}
.ic-sec{padding:56px 0}
.ic-sec-gray{background:var(--bg)}
.sec-h{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}
.sec-h h2{font-size:28px;font-weight:800}
.sec-h p{margin-top:6px;color:var(--muted)}
.more{font-weight:650;color:var(--red8)!important;display:inline-flex;gap:6px;align-items:center;white-space:nowrap;font-size:15px;min-height:44px}
.more .i{width:18px;height:18px}
.more:hover{text-decoration:underline}
.ic-note{display:flex;gap:10px;align-items:flex-start;background:#fff6e0;border:1px solid #f1d9a0;color:#5c3d00;border-radius:12px;padding:12px 14px;font-size:14.5px}
.ic-note .i{color:#8a5a00;margin-top:1px}

/* footer */
.ic-foot{border-top:1px solid var(--line2);padding:0 0 26px;font-size:14px;color:var(--muted);background:#fff}
.ic-foot-trust{border-bottom:1px solid var(--line2);padding:20px 0;margin-bottom:36px;background:#fff}
.ic-foot-trust .trust-items{justify-content:center;gap:28px 48px}
.ic-foot-grid{display:grid;grid-template-columns:1.5fr 1.5fr 1fr 1fr;gap:32px}
.ic-foot h2{font:700 12px var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin-bottom:12px}
.ic-foot ul li a{display:inline-flex;align-items:center;gap:8px;min-height:32px;color:var(--ink3)}
.ic-foot ul li a:hover{color:var(--red7)}
.ic-foot-brand img.ic-foot-c21{height:26px;width:auto;margin-bottom:12px;display:block}
.ic-foot-brand p{max-width:330px}
.ic-foot-name{font:750 15px var(--head);color:var(--ink);margin-bottom:6px!important}
.ic-foot-contact{margin-top:12px!important}
.icx .ic-foot-contact li a{display:flex;align-items:flex-start;gap:9px;min-height:36px;padding:6px 0;color:var(--ink3)}
.ic-foot-contact .i{width:17px;height:17px;color:var(--red6);margin-top:2px}
.ic-social{display:flex;gap:8px;margin-top:10px}
.ic-social a{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink3)}
.ic-social a:hover{border-color:var(--red6);color:var(--red7)}
.ic-social .i{width:18px;height:18px}
.ic-foot-countries{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}
.ic-langs{display:flex;flex-wrap:wrap;gap:6px}
.ic-langs form{margin:0}
.ic-langs button{min-height:36px;padding:0 12px;border-radius:8px;border:1px solid var(--line);background:#fff;font-size:13.5px;color:var(--ink3)}
.ic-langs button[aria-current]{background:var(--dark);color:#fff;border-color:var(--dark)}
/* header language switcher (details/summary: works without JS; ic-ui.js adds outside-click, Escape and arrow keys) */
.ic-lang{position:relative}
.ic-lang summary{list-style:none;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 10px;border-radius:9px;font:600 14px var(--font);color:var(--ink2);cursor:pointer;white-space:nowrap}
.ic-lang summary::-webkit-details-marker{display:none}
.ic-lang summary:hover,.ic-lang[open] summary{background:#f4f5f7}
.ic-lang summary .i{width:18px;height:18px}
.ic-lang summary .ic-lang-caret{width:14px;height:14px;transition:transform .15s}
.ic-lang[open] .ic-lang-caret{transform:rotate(180deg)}
.ic-lang-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:60;min-width:190px;margin:0;padding:6px;background:#fff;border:1px solid #dcdfe3;border-radius:12px;box-shadow:0 20px 40px -16px rgba(16,24,40,.3)}
.ic-lang-menu button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:0 12px;border:0;border-radius:8px;background:transparent;font-size:14.5px;font-weight:500;text-align:left;color:var(--ink)}
.ic-lang-menu button:hover,.ic-lang-menu button:focus-visible{background:#f3f4f6}
.ic-lang-menu button[aria-current]{color:var(--red7);font-weight:650}
.ic-lang-menu .i{width:16px;height:16px}
.ic-menu-lang{display:flex;flex-direction:column;gap:8px;padding-top:4px;padding-bottom:16px;margin:0}
.ic-menu-lang-h{display:flex;align-items:center;gap:8px;font:700 12px var(--font);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.ic-menu-lang-h .i{width:16px;height:16px}
.ic-menu-lang-b{display:flex;flex-wrap:wrap;gap:8px}
.ic-menu-lang button{min-height:44px;padding:0 14px;border-radius:10px;border:1px solid var(--line);background:#fff;font-size:14.5px;color:var(--ink2)}
.ic-menu-lang button[aria-current]{background:var(--dark);border-color:var(--dark);color:#fff}
.ic-foot-copy{margin-top:28px!important;padding-top:18px;border-top:1px solid var(--line2);font-size:13px}

/* ===== HOME ===== */
.h-hero{background:radial-gradient(900px 420px at 88% -12%,rgba(237,28,36,.08),transparent 62%),linear-gradient(#fff,#f7f8fa);border-bottom:1px solid var(--line2)}
.h-hero-in{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(0,.88fr);gap:52px;padding-top:56px;padding-bottom:56px;align-items:center}
.h-hero h1{font-size:50px;line-height:1.07;font-weight:800;letter-spacing:-.03em}
.h-sub{font-size:18px;color:#474d56;margin:18px 0 24px!important;max-width:580px}
.h-mode{display:none;padding:4px;background:#eceef1;border-radius:12px;margin-bottom:12px;gap:2px}
.ic-js .h-mode{display:inline-flex}
/* Saved AI mode applied before first paint (class set in <head>); ic-ui.js then manages the hidden attributes. */
html.ic-ai #h-direct{display:none!important}
html.ic-ai #h-ai[hidden]{display:flex!important}
.h-mode button{min-height:40px;display:inline-flex;align-items:center;gap:6px;padding:0 16px;border-radius:9px;border:0;background:transparent;font-weight:600;font-size:14.5px;color:var(--ink3)}
.h-mode button[aria-selected=true]{background:#fff;color:#111;box-shadow:0 1px 3px rgba(16,24,40,.15)}
.h-mode .spark{color:var(--red6)}
.h-search{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;padding:8px;background:#fff;border:1px solid #d9dce1;border-radius:16px;box-shadow:0 16px 36px -16px rgba(16,24,40,.22)}
.h-field{display:flex;align-items:center;gap:10px;padding:0 14px;height:54px;color:#6b7179;min-width:0}
.h-field input,.h-field select,.h-field textarea{border:0;outline:0;font:500 16px var(--font);color:var(--ink);background:transparent;width:100%;height:100%;min-width:0}
.h-field select{cursor:pointer;-webkit-appearance:none;appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235d636c' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right center/16px no-repeat;padding-right:20px}
.h-field input::placeholder,.h-field textarea::placeholder{color:#767c85}
.h-field:focus-within{color:var(--ink)}
.h-kw{grid-column:1/-1;border-bottom:1px solid var(--line2);height:56px}
.h-state{border-left:1px solid var(--line)}
.h-search .ic-btn{height:54px;padding:0 28px;font-size:16px}
/* AI search chat (home hero) */
.h-chat{display:flex;flex-direction:column;background:#fff;border:1px solid #d9dce1;border-radius:16px;box-shadow:0 16px 36px -16px rgba(16,24,40,.22);overflow:hidden}
.h-chat-top{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 16px;border-bottom:1px solid var(--line2)}
.h-chat-t{font:700 14px var(--font);display:inline-flex;align-items:center;gap:6px;margin-right:auto}
.h-chat-t .spark{color:var(--red6)}
.h-chat-btn{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 10px;border:0;border-radius:8px;background:transparent;font-size:13.5px;font-weight:600;color:var(--ink3)}
.h-chat-btn:hover{background:#f3f4f6}
.h-chat-btn .i{width:16px;height:16px}
.h-chat-close{display:none}
.h-chat-log{display:flex;flex-direction:column;gap:12px;padding:16px;min-height:150px;max-height:440px;overflow-y:auto;overscroll-behavior:contain;background:#fafbfc;scroll-behavior:smooth}
.h-chat-empty p{color:var(--ink3);font-size:14.5px;margin-bottom:12px!important}
.h-chat-ex{display:flex;flex-wrap:wrap;gap:8px}
.h-chat-ex .chip,.h-chat-opts .chip{white-space:normal;text-align:left;min-height:38px;padding:7px 14px;line-height:1.35;font-size:13.5px}
.msg{max-width:92%}
.msg .txt{font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.msg.me{align-self:flex-end;background:var(--dark);color:#fff;padding:9px 14px;border-radius:16px 16px 4px 16px;max-width:82%}
.msg.ai{align-self:flex-start;width:100%;max-width:100%}
.msg.ai .who{display:block;font:700 11.5px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--red7);margin-bottom:4px}
.msg.ai>.txt{display:inline-block;background:#fff;border:1px solid var(--line);padding:9px 14px;border-radius:4px 16px 16px 16px;max-width:92%}
.msg.ai .h-res-list{margin-top:10px}
.msg.ai .biz{grid-template-columns:48px minmax(0,1fr);padding:14px;margin-bottom:0}
.msg.ai .av{width:48px;height:48px;border-radius:12px;font-size:16px}
.msg.ai .biz h3{font-size:15.5px}
.msg.ai .biz-act{grid-column:1/-1;width:auto;justify-content:flex-start}
.msg.ai .biz-act .ic-btn{flex:0 1 auto}
.msg.ai .biz-act .ic-btn-dark{flex-basis:auto}
.msg.ai .empty-claim{margin-top:10px}
.h-chat-note{font-size:12.5px;color:#5c3d00;margin-top:6px!important}
.h-chat-opts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.h-chat-all{margin-top:4px!important}
.typing .dots{display:inline-flex;gap:4px;background:#fff;border:1px solid var(--line);padding:12px 14px;border-radius:4px 16px 16px 16px}
.typing .dots i{width:7px;height:7px;border-radius:50%;background:#9aa0a8;animation:ic-dot 1.2s infinite ease-in-out}
.typing .dots i:nth-child(2){animation-delay:.15s}.typing .dots i:nth-child(3){animation-delay:.3s}
@keyframes ic-dot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@media (prefers-reduced-motion:reduce){.typing .dots i{animation:none}.h-chat-log{scroll-behavior:auto}}
.h-chat-form{display:flex;align-items:flex-end;gap:8px;padding:10px;border-top:1px solid var(--line2);background:#fff}
.h-chat-form textarea{flex:1;min-width:0;resize:none;border:1px solid #d9dce1;border-radius:12px;padding:12px 14px;font:500 16px/1.4 var(--font);color:var(--ink);min-height:48px;max-height:132px;outline:0;background:#fff}
.h-chat-form textarea:focus{border-color:var(--ink3);box-shadow:0 0 0 3px rgba(237,28,36,.12)}
.h-chat-send{flex:none;width:48px;height:48px;border-radius:12px;border:0;background:var(--red6);color:#fff;display:grid;place-items:center}
.h-chat-send:hover{background:var(--red8)}
.h-chat-send:disabled{opacity:.55;cursor:default}
.h-chat-hint{font-size:12.5px;color:var(--muted);padding:0 14px 10px;background:#fff}
.flagrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px;font-size:13.5px;color:#4b5159}
.fls{display:flex;gap:2px;flex-wrap:wrap}
.fls a{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:7px}
.fls a:hover,.fls a[aria-current]{background:#eef0f3}
.fls svg.fl{width:24px;height:16px}
.h-popular{margin-top:14px;font-size:14px;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.h-popular a{min-height:36px;display:inline-flex;align-items:center;padding:0 13px;border-radius:999px;background:#fff;border:1px solid #e0e3e7;color:var(--ink2);font-weight:500}
.h-popular a:hover{border-color:#efa1a4}
.h-claim{display:grid;grid-template-columns:140px minmax(0,1fr);gap:22px;padding:24px;background:#fff;border:1px solid #e6e8eb;border-radius:22px;box-shadow:0 30px 60px -30px rgba(16,24,40,.35);align-items:start}
.h-claim img{width:140px;height:auto;aspect-ratio:480/639;object-fit:cover;border-radius:5px;box-shadow:0 14px 26px -10px rgba(0,0,0,.45);transform:rotate(-3deg);margin-top:6px}
.h-claim h2{font-size:23px;line-height:1.2;margin:10px 0 6px;font-weight:800}
.h-claim p{font-size:14.5px;color:#474d56}
.h-dead{display:flex;gap:8px;align-items:center;font:600 13.5px var(--font)!important;color:#5c3d00!important;background:#fff6e0;border:1px solid #f1d9a0;padding:8px 10px;border-radius:9px;margin:14px 0!important}
.h-dead .i{width:17px;height:17px}
.fine{font-size:12.5px!important;color:var(--muted)!important;margin-top:8px!important;text-align:center}
/* AI results */
.h-results{margin-top:18px}
.h-results[hidden]{display:none}
.understood{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px;color:var(--ink3);margin-bottom:12px}
.understood b{font-weight:650;margin-right:2px}
.understood .chip{min-height:36px;font-size:13.5px}
.h-res-list{display:grid;gap:10px}
.h-res-foot{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-top:12px}
/* trust strip */
.h-trust{border-bottom:1px solid var(--line2);background:#fff}
.h-trust-in{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-top:22px;padding-bottom:22px}
.trust-items{display:flex;gap:36px;flex-wrap:wrap;align-items:flex-end}
.ti{display:flex;flex-direction:column;gap:8px;min-height:44px}
.ti small{display:block;font:700 10.5px var(--font);letter-spacing:.08em;text-transform:uppercase;color:#6b7179}
.ti a{display:inline-flex;align-items:center;height:40px;flex:none}
/* Partner logos are always shown in their own colours; hover only lifts them a little. */
.icx .ti img{height:40px;width:auto;max-width:220px;object-fit:contain;display:block;transition:transform .2s}
.icx .ti img.c21{height:28px}
.icx .ti a:hover img,.icx .ti a:focus-visible img{transform:translateY(-2px)}
.trust-note{font-size:13.5px;color:var(--muted);max-width:420px;text-align:right}
/* country tiles */
.ctiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.ctile{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;min-height:122px;transition:border-color .15s,box-shadow .15s}
.ctile:hover{border-color:#efa1a4;box-shadow:0 10px 22px -14px rgba(237,28,36,.45)}
.ctile svg.fl{width:38px;height:25px;border-radius:3px}
.ctile b{font:750 15px var(--head)}
.ctile span{font-size:12.5px;color:var(--muted);line-height:1.4}
.ctile.all{background:var(--dark);border-color:var(--dark);color:#fff}
.ctile.all b{color:#fff}.ctile.all span{color:#c4c8ce}.ctile.all .i{width:26px;height:26px;color:#ff9d92}
/* category tiles */
.cat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.cat{display:flex;align-items:center;gap:14px;padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;min-height:72px;transition:border-color .15s,box-shadow .15s}
.cat:hover{border-color:#efa1a4;box-shadow:0 10px 22px -14px rgba(237,28,36,.5)}
.ci{width:44px;height:44px;border-radius:12px;background:var(--soft);color:#c0121a;display:grid;place-items:center;flex:none}
.cat b{display:block;font-weight:650;font-size:15px;line-height:1.3}
/* catalogs */
.cc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.cc{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;display:flex;flex-direction:column}
.cc-thumb{aspect-ratio:16/10;position:relative;display:flex;align-items:flex-end;padding:14px;background:linear-gradient(135deg,hsl(var(--h) 30% 26%),hsl(var(--h) 25% 42%));color:#fff;overflow:hidden}
.cc-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.cc-ini{font:800 22px var(--head);position:relative}
.cc .ai{position:absolute;left:12px;top:12px;z-index:2;display:inline-flex;align-items:center;gap:5px;font:700 11.5px var(--font);background:rgba(0,0,0,.55);padding:5px 8px;border-radius:999px}
.cc .ai .i{width:14px;height:14px}
.cc-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:4px;flex:1}
.cc-body small{font:600 12px var(--font);color:#646a73}
.cc-body h3{font-size:16px;line-height:1.3}
.cc-act{display:flex;align-items:center;gap:14px;margin-top:auto;padding-top:10px}
/* exhibitions teaser */
.hx{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:18px;align-items:stretch}
.hx-feat{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 24px 48px -32px rgba(16,24,40,.45);display:flex;flex-direction:column}
.hx-bn{aspect-ratio:1920/540}
.hx-feat-b{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;padding:18px 20px;align-items:center;flex:1}
.hx-info h3{font-size:21px;margin:4px 0 6px}
.hx-act{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}
.hx-list{display:flex;flex-direction:column;gap:12px}
.hx-row{display:grid;grid-template-columns:132px minmax(0,1fr);gap:14px;padding:10px;border:1px solid var(--line);border-radius:16px;background:#fff;align-items:center;flex:1}
.hx-row .bn{aspect-ratio:16/10;border-radius:10px;width:132px}
.hx-row h3{font-size:15.5px;line-height:1.3;margin:2px 0 4px}
.hx-row h3 a:hover,.hx-info h3 a:hover{text-decoration:underline}
.hx-when{font-size:13px;color:var(--ink3)}
/* dark free-ad band */
.h-dark{position:relative;overflow:hidden;background:#0c0e12;color:#fff;padding:72px 0}
.h-dark::before{content:"";position:absolute;width:760px;height:760px;right:-180px;bottom:-420px;background:radial-gradient(closest-side,rgba(237,28,36,.42),rgba(237,28,36,.08) 55%,transparent 72%);pointer-events:none}
.h-dark::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 60%);mask-image:linear-gradient(90deg,transparent,#000 60%);pointer-events:none}
.h-dark-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:48px;align-items:center}
.h-dark-cover img{display:block;width:240px;height:auto;border-radius:6px;transform:rotate(4deg);box-shadow:0 30px 60px -20px rgba(0,0,0,.8),0 0 80px -10px rgba(237,28,36,.45)}
.h-dark h2{font-size:44px;line-height:1.08;max-width:700px;color:#fff;font-weight:800}
.h-dark em{font-style:italic;font-weight:700;color:#ff8f80}
.h-dark .lead{color:#c8cbd1;font-size:17px;margin-top:14px!important;max-width:600px}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:30px 0;max-width:900px}
.step{padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.04)}
.step b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--red6);color:#fff;font:700 14px var(--font);margin-bottom:12px}
.step h3{color:#fff;font-size:16px}
.step p{color:#b9bdc4;font-size:14px;margin-top:4px!important}
.dark-cta{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.dark-cta span{color:#d8dbe0;font-size:14px}

/* shared date blocks and banners */
.date{flex:none;width:76px;border-radius:12px;background:var(--dark);color:#fff;text-align:center;padding:9px 4px 10px;display:flex;flex-direction:column;align-self:flex-start}
.date .mo{font:700 11.5px var(--font);letter-spacing:.1em;text-transform:uppercase;color:#ff9d92}
.date .dd{font:800 20px/1.15 var(--head);letter-spacing:-.02em}
.date .wd{font:500 11.5px var(--font);color:#c4c8ce}
.date.red{background:var(--red6)}.date.red .mo{color:#ffd9d6}.date.red .wd{color:#ffe1de}
.bn{position:relative;overflow:hidden;background:#1b1e24;isolation:isolate;display:block}
.bn .bn-bg{position:absolute;inset:-24px;width:calc(100% + 48px);height:calc(100% + 48px);object-fit:cover;filter:blur(18px) brightness(.55) saturate(1.15);z-index:-2}
.bn .bn-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:-1}
.bn-ph{position:absolute;inset:0;z-index:-3;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:6px;padding:16px 18px;overflow:hidden;color:#fff;
 background:radial-gradient(130% 120% at 100% 0,var(--ph,#c0121a) 0,transparent 58%),linear-gradient(140deg,#0b1430 0%,#15244a 52%,#2a1030 100%)}
.bn-ph::before{content:"";position:absolute;right:-46px;top:-46px;width:190px;height:190px;border-radius:50%;border:30px solid rgba(255,255,255,.07)}
.bn-ph::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.09) 1px,transparent 1px);background-size:16px 16px;-webkit-mask-image:linear-gradient(200deg,#000,transparent 60%);mask-image:linear-gradient(200deg,#000,transparent 60%)}
.bn-ph>*{position:relative;z-index:1;max-width:100%}
/* A banner exists: the placeholder is only its gradient background; its text shows only if the banner fails (bn-off). */
.bn-ph.has-img>*{visibility:hidden}
.bn-off .bn-ph.has-img>*{visibility:visible}
.bn-off>img{display:none}
.bn-ph-name{font:800 22px/1.12 var(--head);letter-spacing:-.02em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;text-shadow:0 2px 12px rgba(0,0,0,.25)}
.bn-ph-place{display:flex;align-items:center;gap:7px;font:600 13px var(--font);color:rgba(255,255,255,.86)}
.bn-ph-place svg.fl{width:20px;height:13px;box-shadow:0 0 0 1px rgba(255,255,255,.35)}
.bn-ph-date{display:inline-flex;align-items:baseline;gap:7px;padding:5px 10px;border-radius:9px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);font:700 11.5px var(--font);letter-spacing:.08em;text-transform:uppercase;color:#ffd9d6}
.bn-ph-date b{font:800 16px/1 var(--head);letter-spacing:-.01em;color:#fff;text-transform:none}
.ecard .bn-ph{padding-top:64px}
.bn-ph.big{justify-content:center;padding:24px 36px;gap:10px}
.bn-ph.big .bn-ph-name{font-size:40px;-webkit-line-clamp:2;max-width:820px}
.bn-ph.big .bn-ph-place{font-size:15px}
.bn-ph.mini{padding:8px 10px;justify-content:center}
.bn-ph.mini .bn-ph-name{font-size:13px;line-height:1.2;-webkit-line-clamp:3}
.bn-ph.mini::before{width:90px;height:90px;border-width:14px;right:-30px;top:-30px}
.cd{position:absolute;right:12px;top:12px;background:rgba(17,19,24,.85);color:#fff;font:700 12px var(--font);padding:6px 10px;border-radius:999px}
.cd.hot{background:var(--red6)}
.cd-t{font:700 11.5px var(--font);color:var(--ink3);background:#eef0f3;padding:3px 8px;border-radius:999px;margin-left:6px;white-space:nowrap}
.cd-t.hot{background:var(--soft);color:var(--red7)}
.place{display:flex;align-items:center;gap:7px;font-size:14px;color:var(--ink2);font-weight:500}
.place.big{font-size:16px;margin-top:6px!important}
.place svg.fl{width:20px;height:13px}
.e-tag{font:600 12.5px var(--font);color:#646a73}
.pill-red{white-space:nowrap;font:700 11px var(--font);letter-spacing:.06em;text-transform:uppercase;background:var(--soft);color:var(--red7);padding:4px 8px;border-radius:6px}

/* ===== DIRECTORY ===== */
.d-head{background:linear-gradient(#fff,#f7f8fa);border-bottom:1px solid var(--line2);padding:30px 0 26px;position:relative;z-index:12}
.d-head h1{font-size:38px;font-weight:800}
.sub{color:#474d56;margin:8px 0 18px!important;font-size:17px}
.cchips{flex-wrap:wrap}
.d-search{position:relative;max-width:740px;margin-top:20px}
.d-input{display:flex;align-items:center;gap:12px;height:58px;padding:0 16px;border:2px solid var(--dark);border-radius:14px;background:#fff;font:500 17px var(--font)}
.d-input:focus-within{box-shadow:0 0 0 4px rgba(237,28,36,.14)}
.d-input input{border:0;outline:0;flex:1;min-width:0;font:500 17px var(--font);background:transparent}
.kbd{font:600 12px var(--font);color:#646a73;border:1px solid #d9dce1;border-radius:6px;padding:3px 7px}
.sugg{position:absolute;left:0;right:0;top:calc(100% + 8px);background:#fff;border:1px solid #dcdfe3;border-radius:14px;box-shadow:0 28px 56px -18px rgba(16,24,40,.32);padding:8px;z-index:40;max-height:min(70vh,520px);overflow:auto}
.sugg[hidden]{display:none}
.sugg h4{font:700 11px var(--font);letter-spacing:.08em;text-transform:uppercase;color:#646a73;margin:8px 10px 4px}
.sugg a{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:0 10px;border-radius:9px;font-size:15px}
.sugg a b{font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sugg a.hl,.sugg a:hover{background:#f3f4f6}
.sugg mark{background:none;color:var(--red8);font-weight:700}
.sugg a span{color:#646a73;font-size:13px;white-space:nowrap;flex:none}
.sugg .all{color:var(--red8);font-weight:650;justify-content:flex-start;border-top:1px solid #eef0f2;border-radius:0;margin-top:6px}
.sugg .all .i{width:16px;height:16px}
.sugg .none{padding:10px;color:var(--muted);font-size:14px}
.az{position:sticky;top:70px;z-index:10;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line2)}
.az-in{display:flex;gap:2px;overflow-x:auto;padding-top:8px;padding-bottom:8px;scrollbar-width:none}
.az-in::-webkit-scrollbar{display:none}
.az a,.az span{flex:none;width:38px;height:38px;display:grid;place-items:center;border-radius:9px;font:650 14.5px var(--font);color:var(--ink3)}
.az span{color:#c2c6cc}
.az a:hover{background:#f3f4f6}
.az a.on{background:var(--red6);color:#fff}
.d-pop{padding-top:40px}
.pop-chips{display:flex;flex-wrap:wrap;gap:10px}
.pop-chips a{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border:1px solid #e0e3e7;border-radius:12px;font-weight:550;background:#fff}
.pop-chips a:hover{border-color:#efa1a4}
.grp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.grp{border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff;display:flex;flex-direction:column}
.grp h3{font-size:16px;display:flex;gap:10px;align-items:center;margin-bottom:10px;line-height:1.25}
.grp .ci{width:36px;height:36px;border-radius:10px}
.grp .ci .i{width:18px;height:18px}
.grp li a,.azcols li a{display:flex;justify-content:space-between;gap:10px;align-items:center;min-height:38px;font-size:14.5px;color:#262a30;border-bottom:1px solid #f0f1f3}
.grp li a:hover,.azcols li a:hover{color:var(--red7)}
.see{display:inline-flex;margin-top:auto;padding-top:10px;font-weight:650;color:var(--red8)!important;font-size:14px;min-height:40px;align-items:center;background:none;border:0;padding-left:0}
.azh{font-size:26px;color:var(--red6)!important;margin:22px 0 6px;scroll-margin-top:140px}
.azcols{columns:3;column-gap:36px}
.azcols li{break-inside:avoid}
.merged{font:600 10.5px var(--font);font-style:normal;color:var(--ok);background:var(--okbg);padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em;flex:none}
.d-ask{margin-top:10px!important;font-size:14px;color:var(--muted)}
.d-search .sugg{top:66px}
.d-ask a{font-weight:650;color:var(--red8)}
.d-ask a:hover{text-decoration:underline}
.d-none-match{padding:20px;border:1px dashed #d9dce1;border-radius:14px;color:var(--muted);margin-top:16px}
.mini-claim{margin-top:34px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border-radius:16px;background:var(--soft2);border:1px solid var(--softline)}
.mini-claim h3{font-size:18px}
.mini-claim p{color:#474d56;margin-top:2px!important}
.d-filter-on .azl-hide{display:none}

/* ===== LISTING ===== */
.l-head{background:#f7f8fa;border-bottom:1px solid var(--line2);padding:26px 0 22px}
.l-head h1{font-size:34px;font-weight:800}
.l-sum{max-width:820px;color:var(--ink3);font-size:15.5px;margin-top:10px!important;line-height:1.6}
.rel{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:16px}
.rel-l{font-size:13.5px;color:var(--muted);margin-right:2px}
.rel .chip{min-height:36px;font-size:13.5px}
.l-body{display:grid;grid-template-columns:300px minmax(0,1fr);gap:32px;padding-top:26px;padding-bottom:50px;align-items:start}
.l-side{position:sticky;top:90px;border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff;max-height:calc(100vh - 110px);overflow:auto}
.l-side-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.l-side-h b{font:800 17px var(--head)}
.l-side-h .ic-link{color:var(--red8);font-size:14px}
.fgrp{padding:14px 0;border-top:1px solid #eef0f2}
.fgrp:first-of-type{border-top:0}
.fgrp h2,.fgrp h4{font:700 12px var(--font);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.fsearch{display:flex;align-items:center;gap:8px;height:44px;padding:0 6px 0 12px;border:1px solid #d9dce1;border-radius:10px;color:#6b7179;background:#fff}
.fsearch input{border:0;outline:0;font:15px var(--font);width:100%;background:transparent;color:var(--ink);min-width:0}
.fsearch .i{width:18px;height:18px}
.fsearch button{border:0;background:var(--dark);color:#fff;border-radius:8px;height:34px;padding:0 10px;font-size:13px;font-weight:600}
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.cgrid a{display:flex;align-items:center;gap:7px;min-height:38px;padding:0 8px;border:1px solid var(--line);border-radius:9px;font-size:13px;white-space:nowrap;overflow:hidden}
.cgrid a span{overflow:hidden;text-overflow:ellipsis}
.cgrid a:hover{border-color:#9aa0a8}
.cgrid a[aria-current]{border-color:var(--dark);background:var(--dark);color:#fff;font-weight:600}
.slist{display:flex;flex-direction:column}
.slist a{display:flex;align-items:center;gap:10px;min-height:38px;font-size:14.5px;color:var(--ink2);border-radius:8px;padding:0 6px}
.slist a::before{content:"";width:16px;height:16px;border:1.5px solid #b8bcc3;border-radius:4px;flex:none}
.slist a[aria-current]::before{background:var(--red6) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center/12px no-repeat;border-color:var(--red6)}
.slist a:hover{background:#f6f7f9}
.side-claim{margin-top:6px;padding:14px;border-radius:12px;background:var(--soft2);border:1px solid var(--softline)}
.side-claim b{font:750 15px var(--head)}
.side-claim p{font-size:13.5px;color:#474d56;margin:4px 0 10px!important}
.l-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;min-height:44px}
.appl{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.appl .lbl{font-size:14px;color:var(--muted)}
.chip-sm{min-height:34px;padding:0 10px;font-size:13.5px}
.l-bar-r{display:flex;gap:10px;align-items:center;flex:none}
.biz{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:16px;align-items:start;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;margin-bottom:12px;transition:border-color .15s,box-shadow .15s}
.biz:hover{border-color:#cfd3d9;box-shadow:0 12px 28px -18px rgba(16,24,40,.35)}
.av{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;font:800 18px var(--head);background:hsl(var(--h) 55% 94%);color:hsl(var(--h) 55% 26%);overflow:hidden}
.av img{width:100%;height:100%;object-fit:contain;background:#fff}
.biz h3{font-size:17px;line-height:1.3;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.biz h3 a:hover{text-decoration:underline}
.loc{display:flex;align-items:center;gap:6px;margin-top:5px!important;font-size:14.5px;color:var(--ink3)}
.loc .i{width:16px;height:16px;color:var(--red6)}
.tags{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap}
.tags span{font-size:12.5px;font-weight:550;color:var(--ink3);background:#f3f4f6;padding:3px 9px;border-radius:6px}
.desc{font-size:14px;color:#4b5159;margin-top:8px!important;max-width:620px}
.badge{display:inline-flex;align-items:center;gap:4px;font:700 12px var(--font);padding:3px 8px;border-radius:999px}
.badge .i{width:14px;height:14px}
.b-ok{background:var(--okbg);color:var(--ok)}
.b-ad{background:#fff1d6;color:#7a4d00}
.biz-act{display:flex;flex-wrap:wrap;gap:8px;width:300px;justify-content:flex-end}
.biz-act .ic-btn{flex:1 1 auto}
.biz-act .ic-btn-dark{flex-basis:100%}
.claim-inline{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 20px;margin:4px 0 16px;border-radius:16px;background:linear-gradient(100deg,#fff 0,#fdf1f1 100%);border:1px solid #f3c9cb;position:relative;overflow:hidden}
.claim-inline::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red)}
.claim-inline img{width:72px;height:auto;border-radius:4px;box-shadow:0 8px 16px -8px rgba(0,0,0,.45);transform:rotate(-3deg)}
.claim-inline h3{font-size:17px;line-height:1.3}
.claim-inline p{font-size:14px;color:#474d56;margin-top:4px!important}
.claim-inline .dl{display:inline-flex;align-items:center;gap:6px;font-weight:650;color:#5c3d00;background:#fff6e0;border:1px solid #f1d9a0;border-radius:8px;padding:4px 8px;font-size:13px;margin-top:8px!important}
.claim-inline .dl .i{width:15px;height:15px}
.pager{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;flex-wrap:wrap}
.pg-info{font-size:14px;color:var(--muted)}
.pg{display:flex;gap:6px}
.pg a,.pg span{min-width:44px;height:44px;padding:0 14px;display:grid;place-items:center;border:1px solid #d9dce1;border-radius:10px;font-weight:600;font-size:14.5px;background:#fff}
.pg a:hover{border-color:#9aa0a8}
.pg span[aria-current]{background:var(--dark);border-color:var(--dark);color:#fff}
.pg span.dis{color:#a0a5ad;border-color:var(--line2)}
.qa{margin-top:34px}
.qa h2{font-size:19px;margin-bottom:10px}
.qa details{border:1px solid var(--line);border-radius:12px;margin-bottom:8px;background:#fff}
.qa summary{list-style:none;cursor:pointer;min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;font-weight:650;font-size:15px}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";font-size:20px;color:var(--red8)}
.qa details[open] summary::after{content:"–"}
.qa details p{padding:0 16px 14px;color:#4b5159;font-size:14.5px}
.seo-note{margin-top:34px;padding-top:24px;border-top:1px solid var(--line2)}
.seo-note h2{font-size:19px}
.seo-note p{color:#4b5159;font-size:14.5px;margin-top:8px!important;max-width:760px}
.seo-note nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.sk{background:linear-gradient(90deg,#eceef1 0,#f6f7f9 40%,#eceef1 80%);background-size:300% 100%;animation:ic-sh 1.3s infinite linear;border-radius:7px}
@keyframes ic-sh{from{background-position:100% 0}to{background-position:0 0}}
@keyframes ic-rot{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.sk,.spin{animation:none!important}.icx *{transition:none!important}}
.skc{pointer-events:none}
.av-sk{width:56px;height:56px;border-radius:14px}
.skc .l1{height:16px;width:52%;margin:4px 0 10px}
.skc .l2{height:12px;width:34%;margin-bottom:10px}
.skc .l3{height:12px;width:80%}
.skc .b1,.skc .b2{height:40px;border-radius:9px;flex:1 1 120px}
.l-skel{display:none}
.is-loading .l-skel{display:block}
.is-loading .l-list,.is-loading .pager{display:none}
.spin{display:inline-block;width:18px;height:18px;border-radius:50%;border:2.5px solid #f3c9cb;border-top-color:var(--red6);animation:ic-rot .8s linear infinite;vertical-align:-3px}
.empty{max-width:720px;margin:44px auto 60px;text-align:center}
.empty-ic{width:72px;height:72px;margin:0 auto 18px;border-radius:20px;background:#f3f4f6;display:grid;place-items:center;color:var(--muted)}
.empty-ic .i{width:32px;height:32px}
.empty-ic svg.fl{width:44px;height:29px}
.empty h2{font-size:24px;line-height:1.25}
.empty>p{color:#4b5159;margin-top:10px!important}
.empty-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:18px 0 22px}
.empty-act{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.empty-claim{margin-top:30px;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;padding:16px 18px;border-radius:14px;background:var(--soft2);border:1px solid var(--softline)}
.empty-claim b{display:block;font:750 16px var(--head)}
.empty-claim span{font-size:14px;color:#474d56}
/* phone filter sheet */
.sheet-scrim{position:fixed;inset:0;background:rgba(10,12,16,.45);z-index:80}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:81;background:#fff;border-radius:22px 22px 0 0;padding:8px 18px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -20px 40px -20px rgba(0,0,0,.4);max-height:88vh;overflow:auto}
.sheet[hidden],.sheet-scrim[hidden]{display:none}
.grab{width:42px;height:5px;border-radius:3px;background:#d4d7dc;margin:4px auto 6px}
.sheet-h{display:flex;justify-content:space-between;align-items:center}
.sheet-h b{font:800 19px var(--head)}
.sheet .fgrp{padding:12px 0}
.sheet-chips{display:flex;flex-wrap:wrap;gap:8px}
.sheet-chips .chip{min-height:44px}
.sheet-f{display:grid;grid-template-columns:1fr 2fr;gap:10px;padding-top:12px;border-top:1px solid #eef0f2;position:sticky;bottom:0;background:#fff}
body.sheet-open{overflow:hidden}

/* ===== EXHIBITIONS ===== */
.e-head{background:#f7f8fa;border-bottom:1px solid var(--line2);padding:30px 0 22px}
.e-head h1{font-size:36px;font-weight:800}
.e-title{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.seg{display:inline-flex;padding:4px;background:#e9ebee;border-radius:12px}
.seg a{min-height:40px;display:inline-flex;align-items:center;gap:6px;padding:0 16px;border-radius:9px;font-weight:600;font-size:14.5px;color:var(--ink3)}
.seg a[aria-current]{background:#fff;color:#111;box-shadow:0 1px 3px rgba(16,24,40,.15)}
.fl-row{display:flex;align-items:flex-start;gap:12px;margin-top:10px}
.fl-row .fl-lab{line-height:36px}
.fl-lab{flex:none;width:64px;font:700 11.5px var(--font);letter-spacing:.07em;text-transform:uppercase;color:#646a73}
.e-chips{flex-wrap:wrap;padding-bottom:2px}
.e-chips::-webkit-scrollbar{display:none}
.ichips .chip{min-height:34px;font-size:13.5px}
.e-search{display:flex;gap:8px;margin-top:14px;max-width:520px}
.e-search .fsearch{flex:1}
.e-hero{margin:30px 0 6px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 30px 60px -36px rgba(16,24,40,.5)}
.e-hero-bn{aspect-ratio:1920/540;border-radius:21px 21px 0 0}
.feat-l{position:absolute;left:16px;top:16px;font:700 11.5px var(--font);letter-spacing:.08em;text-transform:uppercase;background:#fff;color:var(--red7);padding:6px 10px;border-radius:8px}
.e-hero-body{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:26px;align-items:center;padding:24px 28px}
.bigdate{width:118px;border-radius:16px;background:var(--dark);color:#fff;text-align:center;padding:14px 8px;display:flex;flex-direction:column;gap:2px;position:relative;overflow:hidden}
.bigdate::after{content:"";position:absolute;right:-30px;bottom:-40px;width:90px;height:90px;border-radius:50%;background:radial-gradient(closest-side,rgba(237,28,36,.55),transparent)}
.bigdate .mo{font:700 11.5px var(--font);letter-spacing:.1em;text-transform:uppercase;color:#ff9d92}
.bigdate .dd{font:800 34px/1.05 var(--head);letter-spacing:-.03em}
.bigdate .wd{font-size:12.5px;color:#c4c8ce}
.e-kick{display:flex;align-items:center;gap:10px;font:600 13px var(--font);color:#4b5159;flex-wrap:wrap}
.e-hero-info h2{font-size:30px;margin-top:6px;font-weight:800}
.e-hero-info h2 a:hover{text-decoration:underline}
.e-venue{display:flex;align-items:flex-start;gap:6px;margin-top:6px!important;color:var(--ink3);font-size:14.5px}
.e-venue .i{width:16px;height:16px;color:var(--red6);margin-top:3px}
.e-hero-act{display:flex;flex-direction:column;gap:10px;align-items:stretch;min-width:220px}
.cal{position:relative}
.cal summary{list-style:none}
.cal summary::-webkit-details-marker{display:none}
.cal-menu{position:absolute;left:0;top:52px;z-index:5;background:#fff;border:1px solid #dcdfe3;border-radius:12px;box-shadow:0 20px 40px -16px rgba(16,24,40,.3);padding:6px;min-width:220px}
.cal-menu a{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:8px;font-size:14.5px;font-weight:500}
.cal-menu a:hover{background:#f3f4f6}
.e-find{min-height:46px;color:var(--red8)!important;justify-content:center}
.mhead{display:flex;align-items:baseline;gap:12px;margin:38px 0 14px;padding-bottom:10px;border-bottom:1px solid var(--line2)}
.mhead h2,.mhead h3{font-size:22px;font-weight:800}
.mhead span{font-size:14px;color:#646a73}
.e-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ecard{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.ecard:hover{transform:translateY(-2px);box-shadow:0 22px 40px -26px rgba(16,24,40,.45)}
.ecard .bn{aspect-ratio:16/9}
.dchip{position:absolute;left:12px;top:12px;display:flex;flex-direction:column;align-items:center;min-width:58px;padding:6px 8px;border-radius:10px;background:#fff;color:var(--red7);font:700 11px var(--font);letter-spacing:.08em;text-transform:uppercase;box-shadow:0 6px 16px -6px rgba(0,0,0,.45)}
.dchip b{font:800 16px/1.1 var(--head);color:#111318;letter-spacing:-.02em;text-transform:none}
.ecard-b{padding:15px 16px 16px;display:flex;flex-direction:column;gap:5px;flex:1}
.ecard h3,.ecard h4{font-size:16.5px;line-height:1.3}
.ecard h3 a:hover{text-decoration:underline}
.venue{font-size:13px;color:var(--muted)}
.status-att{display:inline-block;font:700 11.5px var(--font);background:#fff1d6;color:#7a4d00;padding:3px 8px;border-radius:6px;align-self:flex-start}
.ecard-f{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;border-top:1px solid #f0f1f3}
.ecard-f .ic-link{color:var(--red8);min-height:40px}
.ecard-f .ic-link .i{width:16px;height:16px}
.e-band2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px}
.eb{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px 16px;align-items:start;padding:20px;border-radius:18px;background:var(--bg);border:1px solid var(--line)}
.eb b{display:block;font:750 17px var(--head)}
.eb span{font-size:14px;color:#474d56}
.eb .ic-btn{grid-column:2;justify-self:start}
.eb-ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--dark);color:#fff}
.eb-ic.red{background:var(--red6)}
.e-past{margin-bottom:56px}
.past-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.prow{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:center;padding:10px;border:1px solid var(--line2);border-radius:14px;background:#fafafb}
.prow .bn{aspect-ratio:16/10;border-radius:9px;filter:grayscale(1);opacity:.8}
.prow h3,.prow h4{font-size:14.5px;color:var(--ink3)}
.pdate{font-size:12.5px;color:#646a73}
.prow .place{font-size:12.5px;color:var(--muted);font-weight:400}
.e-more{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:650;color:var(--red8)!important;margin-top:8px}
.e-empty{padding:28px;border:1px dashed #d9dce1;border-radius:16px;text-align:center;color:var(--muted);margin-top:24px}


/* ===== ABOUT ===== */
.ab-hero{background:radial-gradient(900px 420px at 88% -12%,rgba(237,28,36,.08),transparent 62%),linear-gradient(#fff,#f7f8fa);border-bottom:1px solid var(--line2)}
.ab-hero-in{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.7fr);gap:48px;align-items:center;padding-top:40px;padding-bottom:52px}
.ab-hero h1{font-size:46px;line-height:1.08;font-weight:800;letter-spacing:-.03em}
.ab-lead{font-size:18.5px;color:#2f343b;margin-top:16px!important;max-width:720px;line-height:1.55}
.ab-sub{font-size:16px;color:#474d56;margin-top:10px!important;max-width:680px}
.ab-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.ab-cta .spark{color:var(--red6)}
.ab-flags{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;justify-items:center;padding:22px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 30px 60px -36px rgba(16,24,40,.4)}
.icx .ab-flags svg.fl{width:54px;height:36px;border-radius:4px}
.ab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ab-card{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff;transition:border-color .15s,box-shadow .15s}
a.ab-card:hover{border-color:#efa1a4;box-shadow:0 10px 22px -14px rgba(237,28,36,.5)}
.ab-card h3{font-size:17px}
.ab-card p,.ab-card li{color:#474d56;font-size:14.5px}
.icx .ab-list{list-style:disc;padding-left:20px}
.ab-who{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.ab-who h2,.ab-contact h2{font-size:28px;font-weight:800;margin-bottom:10px}
.ab-who p{color:#3b4048;margin-top:8px!important;max-width:560px}
.ab-logos{padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff}
.ab-two{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px;align-items:stretch}
.ab-panel{padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff}
.ab-panel h2{font-size:24px;font-weight:800;margin:10px 0 8px}
.ab-panel p{color:#474d56}
.ab-claim{display:grid;grid-template-columns:120px minmax(0,1fr);gap:22px;align-items:start;background:linear-gradient(100deg,#fff 0,#fdf1f1 100%);border-color:#f3c9cb}
.ab-claim img{width:120px;height:auto;border-radius:5px;box-shadow:0 14px 26px -10px rgba(0,0,0,.45);transform:rotate(-3deg);margin-top:6px}
.ab-contact{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px;align-items:start}
.ab-contact-list{display:grid;gap:10px}
.icx .ab-contact-list a{display:flex;align-items:center;gap:12px;min-height:52px;padding:10px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;font-weight:600;color:var(--ink2)}
.ab-contact-list a:hover{border-color:#efa1a4}
.ab-contact-list .i{color:var(--red6)}

/* ===== LEGAL (privacy, terms: the existing text in the new layout) ===== */
.icx .legal-doc{max-width:860px;margin:0 auto;padding:36px 32px 64px}
.icx .legal-doc h1{font-size:36px;font-weight:800;margin-bottom:6px}
.icx .legal-doc h2{font-size:20px;margin:30px 0 10px}
.icx .legal-doc h3{font-size:16px;margin:16px 0 6px}
.icx .legal-doc p,.icx .legal-doc li{color:var(--ink3);line-height:1.7}
.icx .legal-doc p{margin:0 0 12px}
.icx .legal-doc ul,.icx .legal-doc ol{list-style:disc;padding-left:22px;margin:0 0 14px}
.icx .legal-doc a{color:var(--red8);text-decoration:underline}
.icx .legal-doc .text-muted{color:var(--muted)}
.icx .legal-doc .contact-info{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:16px}

/* ===== PHONE ===== */
.l-filter-btn{display:none!important}
@media (max-width:1080px){
 .ic-nav a{padding:10px 8px;font-size:14px}
 .ctiles{grid-template-columns:repeat(4,minmax(0,1fr))}
 .ic-foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
 .ic-nav,.ic-desk{display:none!important}
 .ic-phone{display:inline-flex!important}
 .h-hero-in{grid-template-columns:minmax(0,1fr);gap:28px}
 .l-body{grid-template-columns:minmax(0,1fr);gap:0;padding-top:0}
 .l-side{display:none}
 .l-filter-btn{display:inline-flex!important}
 .hx{grid-template-columns:minmax(0,1fr)}
 .e-grid,.cc-grid,.cat-grid,.grp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ab-two,.ab-who{grid-template-columns:minmax(0,1fr)}
 .past-list{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .azcols{columns:2}
 .e-hero-body{grid-template-columns:auto minmax(0,1fr)}
 .e-hero-act{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;min-width:0}
 .e-hero-act>*{flex:1 1 auto}
 .biz{grid-template-columns:56px minmax(0,1fr)}
 .biz-act{grid-column:1/-1;width:auto;justify-content:flex-start}
}
@media (max-width:640px){
 .icx{font-size:15px}
 .ic-wrap{padding:0 16px}
 .ic-top-in{height:60px;gap:8px}
 .ic-logo img{height:38px}
 .ic-top-r{gap:2px}
 .ic-top .ic-btn-sm{height:40px;font-size:13.5px;padding:0 12px}
 .ic-btn-sm{height:44px}
 .ic-sec{padding:34px 0}
 .sec-h{flex-direction:column;align-items:flex-start;gap:6px}
 .sec-h h2{font-size:22px}
 .h-hero-in{padding-top:26px;padding-bottom:30px;gap:24px}
 .h-hero h1{font-size:31px}
 .h-sub{font-size:16px;margin:12px 0 18px!important}
 .h-mode{width:100%}.ic-js .h-mode{display:flex}
 .h-mode button{flex:1;justify-content:center;min-height:44px;padding:0 8px}
 .h-search{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .h-kw{height:52px}
 .h-field{padding:0 10px;height:50px}
 .h-search .ic-btn{grid-column:1/-1;margin-top:6px;width:100%;height:50px}
 .h-chat-log{max-height:360px}
 .msg.ai .biz-act .ic-btn{padding:0 10px}
 /* On phones the chat opens as a full-height sheet once used. */
 .h-chat.is-sheet{position:fixed;inset:0;z-index:90;border-radius:0;border:0;box-shadow:none;height:100vh;height:100dvh}
 .h-chat.is-sheet .h-chat-log{flex:1;max-height:none}
 .h-chat.is-sheet .h-chat-close{display:inline-flex}
 .h-chat.is-sheet .h-chat-form{padding-bottom:calc(10px + env(safe-area-inset-bottom))}
 .fls a{width:30px;height:44px}
 .h-popular a{min-height:40px}
 .h-claim{grid-template-columns:92px minmax(0,1fr);gap:14px;padding:16px;border-radius:18px}
 .h-claim img{width:92px}
 .h-claim h2{font-size:18px}
 .h-claim .ic-btn{grid-column:1/-1}
 .h-claim .fine{grid-column:1/-1}
 .h-trust-in{flex-direction:column;align-items:flex-start;gap:16px}
 .trust-items{gap:16px 26px}
 .icx .ti img{height:34px}.icx .ti img.c21{height:22px}.ti a{height:44px}
 .trust-note{text-align:left}
 .ctiles{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
 .ctile{min-height:0;padding:12px}
 .cat-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
 .cat{padding:12px;gap:10px;min-height:60px}
 .cat .ci{width:34px;height:34px;border-radius:10px}
 .cat .ci .i{width:18px;height:18px}
 .cat b{font-size:14px}
 .cc-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;scrollbar-width:none}
 .cc{scroll-snap-align:start}
 .hx-feat-b{padding:14px}
 .hx-info h3{font-size:18px}
 .hx-act .ic-btn{flex:1}
 .hx-row{grid-template-columns:104px minmax(0,1fr);gap:12px}
 .hx-row .bn{width:104px}
 .h-dark{padding:44px 0}
 .h-dark-in{grid-template-columns:minmax(0,1fr)}
 .h-dark-cover{display:none}
 .h-dark h2{font-size:29px}
 .steps{grid-template-columns:minmax(0,1fr);gap:10px;margin:22px 0}
 .dark-cta .ic-btn{width:100%}
 .d-head{padding:20px 0}
 .d-head h1{font-size:27px}
 .sub{font-size:15px}
 .cchips,.e-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px 2px}
 .cchips::-webkit-scrollbar{display:none}
 .cchips .chip,.e-chips .chip{min-height:44px}
 .d-input{height:54px}
 .d-search .sugg{top:62px}
 .az{top:60px}
 .az a,.az span{width:40px;height:44px}
 .grp-grid{grid-template-columns:minmax(0,1fr);gap:10px}
 .azcols{columns:1}
 .grp li a,.azcols li a{min-height:44px}
 .pop-chips{gap:8px}
 .pop-chips a{padding:0 12px;font-size:14px}
 .mini-claim,.e-band2 .eb,.empty-claim{flex-direction:column;align-items:stretch;text-align:left}
 .l-head{padding:16px 0 14px}
 .l-head h1{font-size:24px}
 .l-sum{font-size:14.5px}
 .rel{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:12px -16px 0;padding:0 16px}
 .rel .chip{min-height:40px}
 .l-bar{position:sticky;top:60px;z-index:8;background:#fff;margin:0 -16px 12px;padding:8px 16px;border-bottom:1px solid var(--line2)}
 .biz{grid-template-columns:48px minmax(0,1fr);gap:12px;padding:14px}
 .av,.av-sk{width:48px;height:48px;border-radius:12px;font-size:16px}
 .biz h3{font-size:16px}
 .biz-act .ic-btn{padding:0 10px;height:44px}
 .claim-inline{grid-template-columns:56px minmax(0,1fr);gap:12px;padding:16px}
 .claim-inline img{width:56px}
 .claim-inline .ic-btn{grid-column:1/-1}
 .pager{flex-direction:column-reverse;align-items:stretch}
 .pg{justify-content:space-between}
 .pg-info{text-align:center}
 .empty{margin:28px auto 40px}
 .empty h2{font-size:20px}
 .empty-act .ic-btn{width:100%}
 .e-head{padding:18px 0 14px}
 .e-head h1{font-size:26px}
 .e-title{flex-direction:column;align-items:stretch;gap:10px}
 .seg{width:100%}.seg a{flex:1;justify-content:center;min-height:44px}
 .fl-row{flex-direction:column;align-items:stretch;gap:6px}
 .e-hero{margin-top:18px}
 .e-hero-bn{aspect-ratio:1920/700}
 .bn-ph.big{padding:14px 16px 16px;justify-content:flex-end}
 .bn-ph.big .bn-ph-name{font-size:24px}
 .bn-ph.big .bn-ph-place{font-size:13px}
 .bn-ph.big .bn-ph-date{display:none}
 .bn-ph-name{font-size:20px}
 .fl-row .fl-lab{line-height:1.4}
 .feat-l{left:10px;top:10px}
 .e-hero-body{gap:14px;padding:16px;align-items:start}
 .bigdate{width:84px;padding:10px 6px}
 .bigdate .dd{font-size:24px}
 .e-hero-info h2{font-size:21px}
 .e-hero-act{flex-direction:column}
 .e-grid,.past-list,.e-band2{grid-template-columns:minmax(0,1fr);gap:14px}
 .eb .ic-btn{grid-column:1/-1;justify-self:stretch}
 .ic-foot-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 .ic-foot-trust{margin-bottom:26px}
 .ic-foot-trust .trust-items{justify-content:flex-start;gap:16px 26px}
 .ab-hero-in{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:24px;padding-bottom:34px}
 .ab-hero h1{font-size:31px}
 .ab-lead{font-size:16.5px}
 .ab-flags{display:none}
 .ab-grid,.ab-who,.ab-two,.ab-contact{grid-template-columns:minmax(0,1fr);gap:14px}
 .ab-claim{grid-template-columns:76px minmax(0,1fr);gap:14px;padding:18px}
 .ab-claim img{width:76px}
 .ab-claim .ic-btn{width:100%}
 .ab-cta .ic-btn{flex:1 1 auto}
 .icx .legal-doc{padding:22px 16px 40px}
 .icx .legal-doc h1{font-size:27px}
}
