/* Generated by scripts/build-public-assets.php. Edit the source fragments under resources/. */

/* Source: resources/css/public/expo-map.css */
.expo-map-section,.expo-editor{--expo-navy:#18335f;--expo-gold:#b68443;--expo-paper:#f7f8fa;--expo-muted:#68758a;--expo-line:#dce2eb;color:var(--expo-navy)}
.expo-map-section{padding:72px 0;background:linear-gradient(180deg,#faf9f6,#f3f6fa)}
.expo-map-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.expo-map-heading h2{font-size:clamp(28px,3.3vw,44px);font-weight:800;letter-spacing:-.035em;margin:8px 0 12px}.expo-map-heading p:not(.idl-eyebrow){color:var(--expo-muted);margin:0;max-width:620px}.expo-map-venue{padding:10px 16px;border:1px solid #d9c4a4;border-radius:100px;font-size:12px;font-weight:700;white-space:nowrap;background:#fff8ed}
.expo-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.expo-map-search{display:flex;align-items:center;gap:12px;background:white;border:1px solid var(--expo-line);border-radius:12px;padding:0 18px;flex:1;max-width:600px}.expo-map-search i{color:var(--expo-gold)}.expo-map-search input{border:0;background:transparent;outline:none;min-width:0;width:100%;padding:16px 0;color:var(--expo-navy);font:inherit;font-size:14px}.expo-map-search:focus-within{outline:2px solid var(--expo-gold);outline-offset:2px}
.expo-map-controls{display:flex;gap:8px}.expo-map-controls button,.expo-editor button,.expo-editor select,.expo-editor input{font:inherit}.expo-map-controls button{border:1px solid var(--expo-line);border-radius:10px;background:white;color:var(--expo-navy);height:44px;min-width:44px;padding:0 14px;font-weight:700;font-size:14px;cursor:pointer}.expo-map-controls button:first-child,.expo-map-controls button:nth-child(2){font-size:24px}.expo-map-controls button:hover{background:var(--expo-navy);color:white}
.expo-map-workspace{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:20px}.expo-map-canvas{border:1px solid var(--expo-line);background:white;border-radius:20px;overflow:hidden;position:relative}.expo-map-canvas svg,.expo-editor svg{display:block;width:100%;height:auto;aspect-ratio:4/3;touch-action:none;user-select:none;direction:ltr;cursor:grab}.expo-map-canvas svg:active,.expo-editor svg:active{cursor:grabbing}
.expo-venue-shell{fill:#f8f9fb;stroke:#cdd6e3;stroke-width:3}.expo-venue-circulation{fill:none;stroke:#eee8dc;stroke-width:32;stroke-linejoin:round}.expo-venue-room{fill:#e9eef5;stroke:#abb9ce;stroke-width:3}.expo-venue-area--foyer .expo-venue-room{fill:#eee8dc;stroke:none}.expo-venue-area.is-enabled:not(.expo-venue-area--foyer) .expo-venue-room{fill:#f6ead6;stroke:var(--expo-gold)}.expo-venue-area--foyer.is-enabled .expo-venue-room{fill:#efdfc4}.expo-venue-label{fill:#4c6080;font:700 17px Montserrat,Arial,sans-serif;text-anchor:middle;pointer-events:none}.expo-venue-label--foyer{font-size:12px;fill:#8c744f}.expo-venue-facility{fill:#e0e4e9;stroke:#b9c2cf;stroke-width:2}.expo-venue-facility-label{fill:#627087;font:600 11px Arial,sans-serif;text-anchor:middle;pointer-events:none}.expo-venue-door{fill:none;stroke:#f8f9fb;stroke-width:7}.expo-venue-stairs path{fill:#e2e5eb;stroke:#b9c2cf;stroke-width:2}.expo-venue-entrance{fill:none;stroke:var(--expo-gold);stroke-width:5;stroke-linecap:round}.expo-venue-entrance-label{fill:var(--expo-navy);font:700 13px Arial,sans-serif;text-anchor:middle}.expo-venue-boundary{fill:transparent;stroke:transparent;pointer-events:none}.expo-editor .expo-venue-area.is-enabled .expo-venue-boundary{stroke:var(--expo-gold);stroke-width:1;stroke-dasharray:5 5}
.expo-booth{cursor:pointer;outline:none}.expo-booth rect{fill:#edf0f5;stroke:#8494ad;stroke-width:2;transition:fill .15s,stroke .15s}.expo-booth.is-assigned rect{fill:var(--expo-navy);stroke:var(--expo-navy)}.expo-booth text{fill:var(--expo-navy);font-family:Arial,sans-serif;font-weight:700;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.expo-booth.is-assigned text{fill:white}.expo-booth.is-match rect{fill:#d7aa65;stroke:#a37132}.expo-booth.is-match text{fill:#172f56}.expo-booth.is-selected rect,.expo-booth:focus-visible rect{fill:var(--expo-gold);stroke:#663f0e;stroke-width:3}.expo-booth.is-selected text{fill:white}.expo-booth.is-dimmed{opacity:.23}.expo-booth [data-expo-resize]{fill:white!important;stroke:var(--expo-navy)!important;stroke-width:2;cursor:nwse-resize}
.expo-map-legend{display:flex;justify-content:center;gap:18px;padding:16px 12px;border-top:1px solid var(--expo-line);font-size:10px;flex-wrap:wrap}.expo-map-legend span{display:flex;align-items:center;gap:7px}.expo-map-legend i{display:inline-block;width:11px;height:11px;border-radius:3px;background:#edf0f5;border:1px solid #8494ad}.expo-map-legend .expo-legend-assigned{background:var(--expo-navy);border-color:var(--expo-navy)}.expo-map-legend .expo-legend-selected{background:var(--expo-gold);border-color:var(--expo-gold)}
.expo-map-sidebar{min-width:0;border:1px solid var(--expo-line);background:white;border-radius:20px;overflow:hidden}.expo-map-sidebar [data-expo-details]{padding:24px}.expo-map-sidebar h3{font-size:22px;font-weight:750;margin:8px 0 12px;overflow-wrap:anywhere}.expo-map-sidebar p{font-size:13px;color:var(--expo-muted);line-height:1.7}.expo-map-sidebar .idl-eyebrow{font-size:10px;color:var(--expo-gold);margin:0}.expo-map-sidebar img{width:80px;height:64px;object-fit:contain;margin:0 0 14px}.expo-map-sidebar .expo-map-profile{display:block;background:var(--expo-navy);border-radius:9px;padding:12px 16px;color:white;font-size:12px;font-weight:700;text-decoration:none;text-align:center;margin-top:18px}.expo-map-clear{border:0;background:transparent;color:var(--expo-muted);font-size:12px;text-decoration:underline;padding:12px 0 0;cursor:pointer}
.expo-map-results{border-top:1px solid var(--expo-line);padding:16px}.expo-map-results>p{margin:0 0 10px;font-size:11px}.expo-map-results ul{list-style:none;padding:0;margin:0;max-height:220px;overflow:auto}.expo-map-results li a,.expo-map-results li button{display:flex;width:100%;align-items:center;gap:10px;border:0;border-radius:8px;padding:9px 6px;background:transparent;text-align:start;color:var(--expo-navy);text-decoration:none;cursor:pointer;font-size:12px}.expo-map-results li strong{min-width:36px;background:#f1e7d8;color:#835622;padding:5px;border-radius:5px;text-align:center;font-size:11px;overflow-wrap:anywhere}.expo-map-results li span{overflow-wrap:anywhere}.expo-map-results li a:hover,.expo-map-results li button:hover{background:#f4f6fa}.expo-map-coming-soon{padding:14px 22px;background:#fff7e9;border-top:1px solid #e5d3b5}.expo-map-coming-soon strong{font-size:13px}.expo-map-coming-soon p{font-size:12px;color:var(--expo-muted);margin:5px 0 0}
.expo-preview-banner{border:1px solid #d3ae76;background:#fff4df;padding:18px 24px;border-radius:12px;margin-bottom:24px}.expo-preview-banner p{font-size:13px;margin:5px 0 0}
.expo-editor{background:white;border:1px solid var(--expo-line);border-radius:16px;padding:20px;font-size:14px}.expo-editor [hidden]{display:none!important}.expo-editor-header,.expo-editor-actions{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.expo-editor-header p{max-width:760px;color:var(--expo-muted);margin:4px 0 16px}.expo-editor-actions{justify-content:flex-start;margin:0 0 20px}.expo-editor button,.expo-editor-actions a{border:1px solid var(--expo-line);background:white;color:var(--expo-navy);padding:10px 14px;border-radius:8px;cursor:pointer;text-decoration:none;font-weight:600;font-size:13px}.expo-editor button:disabled,.expo-editor-actions a[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none}.expo-editor .expo-editor-primary{background:var(--expo-navy);color:white}.expo-editor .expo-editor-publish{background:var(--expo-gold);color:white}.expo-editor-dirty{font-size:12px;color:#9a6628}.expo-editor-workspace{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px}.expo-editor-areas h3,.expo-editor-properties h3{font-size:15px;margin:0 0 12px;font-weight:700}.expo-editor-areas p,.expo-editor-help{font-size:12px;color:var(--expo-muted);line-height:1.6}.expo-editor-area{display:flex;align-items:flex-start;gap:9px;font-size:12px;margin:12px 0;cursor:pointer}.expo-editor-area input{margin-top:3px}.expo-editor-stage{border:1px solid var(--expo-line);border-radius:12px;overflow:hidden;background:#fff}.expo-editor-tools{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border-bottom:1px solid var(--expo-line);flex-wrap:wrap}.expo-editor-properties{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:20px;padding:18px;background:var(--expo-paper);border-radius:12px}.expo-editor-properties h3{grid-column:1/-1;margin:0}.expo-editor label.expo-editor-field{display:flex;flex-direction:column;gap:6px;font-size:12px;min-width:0}.expo-editor input:not([type=checkbox]),.expo-editor select{width:100%;min-width:0;border:1px solid #bfcadd;border-radius:7px;background:white;color:var(--expo-navy);padding:9px 10px;font-size:13px}.expo-editor-properties .expo-editor-wide{grid-column:span 2}.expo-editor .expo-editor-danger{color:#b33232}.expo-editor-booth-list{list-style:none;padding:0;margin:16px 0 0;max-height:220px;overflow:auto}.expo-editor-booth-list button{width:100%;text-align:start;display:flex;justify-content:space-between;gap:6px;margin:3px 0;font-size:11px;padding:8px}.expo-editor-booth-list button.is-selected{border-color:var(--expo-gold);background:#fff4df}.expo-editor-message,.expo-editor-errors{padding:12px 16px;border-radius:8px;background:#fff1e9;color:#944216;margin:0 0 16px;font-size:13px}.expo-editor-errors ul{padding-inline-start:18px;margin:4px 0}.expo-editor-message[hidden]{display:none}
.dark .expo-editor{--expo-line:#41516d;--expo-paper:#f0f3f8;background:#eef2f7;color:var(--expo-navy)}
@media(max-width:1100px){.expo-map-workspace{grid-template-columns:minmax(0,1fr) 250px}.expo-editor-workspace{grid-template-columns:200px minmax(0,1fr)}.expo-map-venue{white-space:normal}}
@media(max-width:767px){.expo-map-section{padding:40px 0}.expo-map-heading{display:block}.expo-map-venue{display:inline-block;margin-top:18px}.expo-map-toolbar{flex-wrap:wrap}.expo-map-search{max-width:none;flex-basis:100%}.expo-map-workspace{grid-template-columns:1fr}.expo-map-sidebar{display:grid;grid-template-columns:1fr 1fr}.expo-map-sidebar [data-expo-details]{padding:18px}.expo-map-sidebar h3{font-size:18px}.expo-map-results{border-top:0;border-inline-start:1px solid var(--expo-line)}.expo-map-legend{font-size:9px;gap:12px}.expo-editor{padding:14px}.expo-editor-workspace{grid-template-columns:1fr}.expo-editor-areas-list{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.expo-editor-properties{grid-template-columns:1fr 1fr}.expo-editor .expo-editor-wide{grid-column:1/-1}.expo-editor-areas .expo-editor-booth-list{max-height:140px}.expo-editor-areas-list .expo-editor-area{margin:6px 0}}
@media(prefers-reduced-motion:reduce){.expo-booth rect{transition:none}}

/* The PDF artwork and the overlays share one viewport; logical booth units stay unchanged. */
.expo-map-section [hidden]{display:none!important}
.expo-map-canvas svg,.expo-editor svg{aspect-ratio:1200/980;background:#fafafa}
.expo-venue-floor{fill:transparent;stroke:transparent;stroke-width:2;pointer-events:auto}
.expo-venue-area.is-enabled .expo-venue-floor--editor{fill:rgba(182,132,67,.06);stroke:#b68443;stroke-dasharray:6 5;vector-effect:non-scaling-stroke}
.expo-booth [data-expo-shape]{fill:rgba(255,255,255,.72);stroke:#60728d;stroke-width:2;stroke-linejoin:round;transition:fill .15s,stroke .15s}
.expo-booth.is-assigned [data-expo-shape]{fill:rgba(24,51,95,.85);stroke:#132b50}
.expo-booth.is-match [data-expo-shape]{fill:rgba(215,170,101,.9);stroke:#a37132}
.expo-booth.is-selected [data-expo-shape],.expo-booth:focus-visible [data-expo-shape]{fill:rgba(182,132,67,.94);stroke:#663f0e;stroke-width:3}
.expo-booth text{paint-order:stroke fill;stroke:rgba(255,255,255,.65);stroke-width:1}
.expo-booth.is-assigned text,.expo-booth.is-selected text{stroke:rgba(0,0,0,.3)}
.expo-map-stage{position:relative}
.expo-map-toggle{display:flex;align-items:center;justify-content:center;gap:9px;flex:none;border:1px solid #c8d3e2;background:white;border-radius:10px;padding:11px 14px;font:700 12px Montserrat,Arial,sans-serif;color:var(--expo-navy);cursor:pointer}
.expo-map-toggle:hover{border-color:var(--expo-gold);background:#fff9ee}
.expo-map-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}
.expo-map-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
.expo-map-preview-open{position:absolute;inset:0;display:flex;justify-content:flex-end;align-items:flex-start;padding:12px;background:transparent;border:0;cursor:zoom-in;color:var(--expo-navy)}
.expo-map-preview-open>span{display:flex;gap:10px;align-items:center;padding:8px 12px;background:rgba(255,255,255,.95);box-shadow:0 2px 12px rgba(24,51,95,.12);border:1px solid #d3deed;border-radius:8px;font-size:11px;font-weight:700}
.expo-map-preview-open:hover>span{background:var(--expo-navy);color:white}
.expo-map-preview-open:focus-visible{outline:3px solid var(--expo-gold);outline-offset:-4px}
.expo-map-preview-caption{font-size:12px;line-height:1.65;color:var(--expo-muted);margin:14px 0 0}
.expo-directory-shell{padding:42px 0 64px;background:var(--color-navy-950,#010912)}
.expo-directory-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-template-areas:"directory map";gap:24px;align-items:start}
.expo-directory-main{grid-area:directory;min-width:0}
.expo-directory-main .container{width:100%;max-width:none;padding-inline:0}
.expo-directory-main .p3-listing-utility-section{padding-top:0}
.expo-directory-main .p3-listing-results-section{padding:30px 0 0}
.expo-directory-main .p3-listing-featured-section{margin-top:24px}
.expo-map-section--dock{grid-area:map;position:sticky;top:110px;padding:18px;background:white;border:1px solid var(--expo-line);border-radius:18px;min-width:0;box-shadow:0 8px 26px rgba(24,51,95,.04);scroll-margin-top:110px}
.expo-map-section--dock:not(.is-expanded) .expo-map-heading{display:grid;grid-template-columns:1fr auto;align-items:start;gap:12px;margin-bottom:16px}
.expo-map-section--dock:not(.is-expanded) .expo-map-heading>div{grid-column:1/-1}
.expo-map-section--dock:not(.is-expanded) .expo-map-heading h2{font-size:26px;margin:6px 0 0;line-height:1.2}
.expo-map-section--dock:not(.is-expanded) .expo-map-heading .idl-eyebrow{font-size:9px;color:var(--expo-gold)}
.expo-map-section--dock:not(.is-expanded) .expo-map-heading p:not(.idl-eyebrow){display:none}
.expo-map-section--dock:not(.is-expanded) .expo-map-venue{font-size:9px;line-height:1.5;padding:8px 9px;white-space:normal;max-width:185px}
.expo-map-section--dock:not(.is-expanded) .expo-map-toggle{padding:9px 10px;font-size:10px;align-self:center}
.expo-map-section--dock:not(.is-expanded) .expo-map-workspace{display:block}
.expo-map-section--dock:not(.is-expanded) .expo-map-canvas{border-radius:12px}
.expo-map-section--dock:not(.is-expanded) .expo-map-coming-soon{padding:12px}
.expo-map-section--dock:not(.is-expanded) .expo-map-coming-soon p{display:none}
.expo-directory-layout.is-map-expanded{grid-template-columns:minmax(0,1fr);grid-template-areas:"map" "directory"}
.expo-map-section--dock.is-expanded{position:relative;top:auto;padding:26px;background:linear-gradient(135deg,#fff,#f8fafc)}
.expo-map-section--dock.is-expanded .expo-map-heading{align-items:center;flex-wrap:wrap}
.expo-map-section--dock.is-expanded .expo-map-heading>div{flex:1;min-width:230px}
@media(min-width:1100px){.expo-directory-layout:not(.is-map-expanded) .p3-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:1099px){.expo-directory-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"map" "directory"}.expo-map-section--dock{position:relative;top:auto}.expo-map-section--dock:not(.is-expanded) .expo-map-inner{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,340px);gap:18px;align-items:center}.expo-map-section--dock:not(.is-expanded) .expo-map-heading{margin:0}.expo-map-section--dock:not(.is-expanded) .expo-map-preview-caption{margin:0;grid-column:1/-1}}
@media(max-width:767px){.expo-directory-shell{padding:24px 0 40px}.expo-map-section--dock,.expo-map-section--dock.is-expanded{padding:16px}.expo-map-section--dock:not(.is-expanded) .expo-map-inner{display:block}.expo-map-section--dock:not(.is-expanded) .expo-map-heading{margin-bottom:16px}.expo-map-section--dock:not(.is-expanded) .expo-map-preview-caption{margin-top:12px}.expo-map-section--dock.is-expanded .expo-map-heading{display:flex;gap:14px}.expo-map-section--dock.is-expanded .expo-map-venue{margin-top:0}.expo-map-section--dock.is-expanded .expo-map-toggle{margin-inline-start:auto}.expo-map-heading h2{font-size:28px}.expo-map-legend{font-size:8px;gap:9px}}
@media(prefers-reduced-motion:reduce){.expo-booth [data-expo-shape]{transition:none}}

/* Source: resources/css/public/expo-page.css */
/* Expo layout using the shared IDL design tokens and component treatments. */
.expo-page{background:var(--color-navy-950);color:var(--color-white)}
.expo-page [hidden]{display:none!important}
.expo-eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 14px;color:var(--color-gold-light);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.expo-eyebrow>span{width:7px;height:7px;border-radius:50%;background:var(--color-cyan);box-shadow:0 0 14px color-mix(in srgb,var(--color-cyan) 39.61%,transparent)}
.expo-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:13px 20px;border:1px solid color-mix(in srgb,var(--color-cyan) 30%,transparent);border-radius:10px;color:var(--color-white);background:var(--color-navy-900);font:700 12px var(--font-nav,Arial);text-decoration:none;cursor:pointer;transition:background .18s,border-color .18s}
.expo-button:hover{color:white;border-color:var(--color-cyan);background:var(--color-navy-800)}
.expo-button--primary{background:var(--color-gold);border-color:var(--color-gold);color:var(--color-navy-950)}
.expo-button--primary:hover{background:var(--color-gold-light);border-color:var(--color-gold-light);color:var(--color-navy-950)}
.expo-button--outline{background:transparent}
.expo-hero{position:relative;overflow:hidden;padding:145px 0 66px;background:radial-gradient(ellipse at 85% 15%,color-mix(in srgb,var(--color-navy-800) 36.08%,transparent),transparent 54%),linear-gradient(135deg,var(--color-navy-900),var(--color-navy-950));border-bottom:1px solid color-mix(in srgb,var(--color-cyan) 30%,transparent)}
.expo-hero:before{content:"";position:absolute;width:680px;height:680px;inset-inline-end:-230px;top:-230px;border:1px solid color-mix(in srgb,var(--color-gold) 12.94%,transparent);border-radius:50%;box-shadow:0 0 0 80px color-mix(in srgb,var(--color-cyan) 4.31%,transparent),0 0 0 160px color-mix(in srgb,var(--color-gold) 2.35%,transparent);pointer-events:none}
.expo-hero-layout{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:70px;align-items:center}
.expo-hero h1{margin:0 0 20px;font-family:var(--font-display,Arial);font-size:clamp(58px,6vw,88px);font-weight:400;line-height:1.06;letter-spacing:-.025em;color:var(--color-white)}
.expo-hero h1 span{display:block;color:var(--color-gold)}
.expo-hero-lead{max-width:630px;color:var(--color-muted);font-size:15px;line-height:1.85;margin:0 0 26px}
.expo-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.expo-hero-info{padding:25px;border:1px solid color-mix(in srgb,var(--color-cyan) 30%,transparent);border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--color-navy-800) 79.61%,transparent),color-mix(in srgb,var(--color-navy-900) 85.1%,transparent));backdrop-filter:blur(12px)}
.expo-hero-venue{display:flex;gap:14px;align-items:center;padding-bottom:20px;border-bottom:1px solid color-mix(in srgb,var(--color-cyan) 30%,transparent)}
.expo-hero-venue-icon{display:grid;place-items:center;flex:none;width:45px;height:45px;border:1px solid color-mix(in srgb,var(--color-gold) 33.33%,transparent);border-radius:12px;background:color-mix(in srgb,var(--color-gold) 7.06%,transparent);color:var(--color-gold);font-size:19px}
.expo-hero-venue p{margin:0 0 5px;font-size:10px;color:var(--color-muted);letter-spacing:.05em;text-transform:uppercase}
.expo-hero-venue strong{display:block;font-size:15px;font-weight:750;line-height:1.55;color:var(--color-white)}
.expo-hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px 0}
.expo-hero-stats>div+div{border-inline-start:1px solid color-mix(in srgb,var(--color-cyan) 30%,transparent);padding-inline-start:20px}
.expo-hero-stats strong{display:block;font:400 39px var(--font-display,Arial);line-height:1.1;color:var(--color-gold-light)}
.expo-hero-stats span{display:block;margin-top:8px;color:var(--color-muted);font-size:11px;line-height:1.5}
.expo-hero-note{display:flex;align-items:flex-start;gap:10px;padding-top:15px;margin:0;border-top:1px solid color-mix(in srgb,var(--color-cyan) 30%,transparent);font-size:11px;line-height:1.8;color:var(--color-muted)}
.expo-hero-note i{padding-top:4px;color:var(--color-cyan)}
.expo-showcase{padding:48px 0 32px;background:linear-gradient(180deg,var(--color-navy-950),var(--color-navy-950))}
.expo-showcase-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-template-areas:"featured map";gap:30px;align-items:start}
.expo-featured{grid-area:featured;min-width:0}
.expo-showcase-layout>.expo-map-section--dock{grid-area:map;position:relative;top:auto}
.expo-showcase-layout.is-map-expanded{grid-template-columns:minmax(0,1fr);grid-template-areas:"map" "featured"}
.expo-section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}
.expo-section-heading h2{font:800 clamp(24px,2.5vw,34px) var(--font-nav,Arial);line-height:1.25;letter-spacing:-.03em;margin:0 0 10px;color:var(--color-white)}
.expo-page .expo-section-heading h2,.expo-page .expo-company-card h3,.expo-map-section--dark :is(.expo-map-heading h2,.expo-map-sidebar h3){font-family:var(--font-nav,Arial)!important}
.expo-section-heading p:not(.expo-eyebrow){margin:0;max-width:650px;color:var(--color-muted);font-size:13px;line-height:1.8}
.expo-featured-star{display:grid;place-items:center;width:45px;height:45px;flex:none;border:1px solid color-mix(in srgb,var(--color-gold) 21.96%,transparent);border-radius:12px;color:var(--color-gold);font-size:20px;background:color-mix(in srgb,var(--color-gold) 3.92%,transparent)}
.expo-featured-slider:focus-visible{outline:2px solid var(--color-gold);outline-offset:5px;border-radius:16px}
.expo-company-card{min-width:0;border:1px solid color-mix(in srgb,var(--color-cyan) 30%,transparent);border-radius:16px;overflow:hidden;background:linear-gradient(145deg,var(--color-navy-900),var(--color-navy-950));box-shadow:0 10px 32px #0000000c;transition:border-color .18s,box-shadow .18s}
.expo-company-card:hover{border-color:var(--color-cyan)}
.expo-company-logo{position:relative;display:flex;align-items:center;justify-content:center;min-height:135px;padding:23px;background:radial-gradient(ellipse at 50% 50%,color-mix(in srgb,var(--color-muted) 6.27%,transparent),transparent);border-bottom:1px solid color-mix(in srgb,var(--color-cyan) 30%,transparent)}
.expo-company-logo>a{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;text-decoration:none}
.expo-company-logo img{display:block;width:150px;max-width:100%;height:85px;object-fit:contain;border-radius:9px}
.expo-company-logo>a>span{font:800 32px var(--font-nav,Arial);color:var(--color-gold)}
.expo-company-logo form{position:absolute;top:12px;inset-inline-end:12px;z-index:2}
.expo-company-logo .p3-favorite-button{position:static!important;inset:auto!important;width:31px;height:31px;color:var(--color-muted);background:color-mix(in srgb,var(--color-navy-950) 81.18%,transparent);border:1px solid color-mix(in srgb,var(--color-cyan) 30%,transparent);box-shadow:none;font-size:12px}
.expo-company-logo .p3-favorite-button.is-active{color:var(--color-gold-light);border-color:var(--color-gold)}
.expo-company-body{display:flex;flex-direction:column;padding:20px;min-width:0}
.expo-company-tags{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:12px;min-height:23px}
.expo-company-tags>span{display:inline-block;max-width:100%;padding:5px 8px;border:1px solid color-mix(in srgb,color-mix(in srgb,var(--color-cyan) 30%,transparent) 33.33%,transparent);border-radius:6px;font-size:9px;font-weight:650;line-height:1.5;color:var(--color-cyan);background:color-mix(in srgb,var(--color-cyan) 3.92%,transparent);overflow-wrap:anywhere}
.expo-company-tags .expo-company-country{color:var(--color-muted);border-color:color-mix(in srgb,var(--color-cyan) 30%,transparent);background:var(--color-navy-800)}
.expo-company-card h3{font:800 20px var(--font-nav,Arial);line-height:1.4;letter-spacing:-.025em;margin:0 0 10px;color:var(--color-white);overflow-wrap:anywhere}
.expo-company-card h3 a{color:inherit;text-decoration:none}
.expo-company-card h3 a:hover{color:var(--color-gold)}
.expo-company-summary{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;color:var(--color-muted);font-size:12px;line-height:1.8;min-height:43px}
.expo-company-location{display:flex;align-items:center;gap:8px;padding-top:16px;color:var(--color-muted);font-size:11px;line-height:1.6}
.expo-company-location i{color:var(--color-gold-light)}
.expo-company-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;border-top:1px solid color-mix(in srgb,var(--color-cyan) 30%,transparent);margin-top:16px;padding-top:14px}
.expo-company-actions a{display:inline-flex;align-items:center;gap:7px;min-height:28px;font-size:10px;font-weight:750;text-decoration:none;color:var(--color-gold-light)}
.expo-company-actions a[data-expo-company]{padding:5px 8px;color:var(--color-cyan);border:1px solid color-mix(in srgb,var(--color-cyan) 30%,transparent);border-radius:6px;background:var(--color-navy-800)}
.expo-company-actions a:hover{color:white}
.expo-company-card--spotlight{display:grid;grid-template-columns:205px minmax(0,1fr);border-color:color-mix(in srgb,var(--color-gold) 26.67%,transparent);background:linear-gradient(120deg,var(--color-navy-800),var(--color-navy-900))}
.expo-company-card--spotlight .expo-company-logo{border-bottom:0;border-inline-end:1px solid color-mix(in srgb,var(--color-cyan) 30%,transparent);min-height:285px;padding:25px;background:radial-gradient(ellipse,color-mix(in srgb,var(--color-gold) 7.06%,transparent),transparent 80%)}
.expo-company-card--spotlight .expo-company-logo img{height:150px;width:165px}
.expo-company-card--spotlight .expo-company-body{padding:27px}
.expo-company-card--spotlight h3{font-size:27px}
.expo-company-card--spotlight .expo-company-summary{-webkit-line-clamp:3;font-size:13px;min-height:0}
.expo-company-card--spotlight .expo-company-actions{margin-top:auto;padding-top:18px}
.expo-company-card--spotlight .expo-company-location{padding-bottom:16px}
.expo-featured-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;color:var(--color-muted);font-size:11px}
.expo-featured-navigation>div{display:flex;gap:8px}
.expo-featured-navigation button{display:grid;place-items:center;width:37px;height:37px;border:1px solid color-mix(in srgb,var(--color-cyan) 30%,transparent);border-radius:9px;background:var(--color-navy-900);color:var(--color-white);cursor:pointer}
.expo-featured-navigation button:hover{border-color:var(--color-gold);color:var(--color-gold-light)}
.expo-featured-empty{padding:35px;border:1px dashed color-mix(in srgb,var(--color-cyan) 30%,transparent);border-radius:16px;background:var(--color-navy-900);color:var(--color-muted)}
.expo-featured-empty>i{font-size:28px;color:var(--color-gold-light);margin-bottom:16px}
.expo-featured-empty h3{font:750 21px var(--font-nav,Arial);color:var(--color-white)}
.expo-featured-empty p{font-size:13px;line-height:1.8}
.expo-directory{padding:38px 0 70px;background:var(--color-navy-950);scroll-margin-top:115px}
.expo-directory-heading{margin-bottom:25px}
.expo-directory-total{flex:none;display:inline-block;padding:9px 13px;border:1px solid color-mix(in srgb,var(--color-cyan) 30%,transparent);border-radius:100px;color:var(--color-cyan);background:var(--color-navy-800);font-size:11px;font-weight:700}
.expo-finder{padding:22px;border:1px solid color-mix(in srgb,var(--color-cyan) 30%,transparent);border-radius:17px;background:linear-gradient(120deg,var(--color-navy-800),var(--color-navy-900));box-shadow:0 12px 35px #00000015}
.expo-finder-main{display:grid;grid-template-columns:minmax(0,1fr) 170px auto;gap:14px;align-items:end}
.expo-finder label{min-width:0;display:block}
.expo-finder label>span{display:block;margin-bottom:9px;color:var(--color-muted);font-size:11px;font-weight:700}
.expo-finder-search>div{display:flex;align-items:center;gap:12px;padding:0 15px;border:1px solid color-mix(in srgb,var(--color-cyan) 30%,transparent);border-radius:10px;background:var(--color-navy-950)}
.expo-finder-search i{color:var(--color-gold-light);font-size:15px}
.expo-finder-search input{width:100%;min-width:0;padding:14px 0;border:0;background:transparent;outline:0;font:inherit;font-size:13px;color:var(--color-white)}
.expo-finder-search input::placeholder{color:var(--color-muted)}
.expo-finder-search>div:focus-within{outline:2px solid var(--color-gold);outline-offset:2px}
.expo-finder select{width:100%;min-height:49px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--color-cyan) 30%,transparent);border-radius:10px;background:var(--color-navy-950);color:var(--color-muted);font-size:12px;color-scheme:dark}
.expo-finder-main>.expo-button{min-height:49px}
.expo-finder-categories{display:flex;gap:8px;margin-top:18px;padding-top:18px;border-top:1px solid color-mix(in srgb,var(--color-cyan) 30%,transparent);overflow-x:auto;padding-bottom:3px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--color-cyan) 30%,transparent) transparent}
.expo-finder-categories a{flex:none;display:block;padding:8px 12px;border:1px solid color-mix(in srgb,var(--color-cyan) 30%,transparent);border-radius:100px;background:var(--color-navy-900);color:var(--color-muted);font-size:10px;font-weight:650;text-decoration:none;white-space:nowrap}
.expo-finder-categories a:hover{border-color:var(--color-cyan);color:var(--color-white)}
.expo-finder-categories a.is-active{border-color:var(--color-gold);background:color-mix(in srgb,var(--color-gold) 9.8%,transparent);color:var(--color-gold-light)}
.expo-results-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:22px 0 18px;color:var(--color-muted);font-size:12px}
.expo-results-toolbar p{margin:0}
.expo-results-toolbar a{display:flex;gap:8px;align-items:center;color:var(--color-muted);font-size:11px;text-decoration:none}
.expo-results-toolbar a:hover{color:var(--color-gold-light)}
.expo-company-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.expo-directory-empty{text-align:center;padding:45px 20px;border:1px dashed color-mix(in srgb,var(--color-cyan) 30%,transparent);border-radius:15px;color:var(--color-muted)}
.expo-directory-empty>i{font-size:30px;color:var(--color-gold-light);margin-bottom:17px}
.expo-directory-empty h3{font:750 23px var(--font-nav,Arial);color:var(--color-white)}
.expo-directory-empty p{font-size:13px;line-height:1.8;margin-bottom:22px}
.expo-directory-pagination{display:flex;justify-content:center;gap:7px;margin-top:30px;flex-wrap:wrap}
.expo-directory-pagination>a,.expo-directory-pagination>span{display:grid;place-items:center;min-width:39px;min-height:39px;padding:8px 12px;border:1px solid color-mix(in srgb,var(--color-cyan) 30%,transparent);border-radius:8px;background:var(--color-navy-900);color:var(--color-muted);text-decoration:none;font-size:11px;font-weight:700}
.expo-directory-pagination>[aria-current=page]{background:var(--color-gold);border-color:var(--color-gold);color:var(--color-navy-950)}
.expo-directory-pagination>a:hover{border-color:var(--color-gold);color:var(--color-gold-light)}

/* Public map surfaces are dark; the admin editor retains the Filament theme. */
.expo-map-section--dark{--expo-muted:var(--color-muted);--expo-line:color-mix(in srgb,var(--color-cyan) 30%,transparent);color:var(--color-white);background:var(--color-navy-900);border-color:color-mix(in srgb,var(--color-cyan) 30%,transparent)}
.expo-map-section--dark.expo-map-section--dock,.expo-map-section--dark.expo-map-section--dock.is-expanded{background:linear-gradient(140deg,var(--color-navy-800),var(--color-navy-950));border-color:color-mix(in srgb,var(--color-cyan) 30%,transparent);box-shadow:0 12px 36px #00000020}
.expo-map-section--dark .expo-map-heading h2{font-family:var(--font-nav,Arial);font-size:28px;font-weight:800;letter-spacing:-.035em;color:var(--color-white)}
.expo-map-section--dark.expo-map-section--dock:not(.is-expanded) .expo-map-heading h2{font-size:23px;line-height:1.3}
.expo-map-section--dark .expo-map-heading .idl-eyebrow{display:block;color:var(--color-gold-light)}
.expo-map-section--dark .expo-map-venue{border-color:color-mix(in srgb,var(--color-gold) 40.0%,transparent);background:color-mix(in srgb,var(--color-gold) 7.06%,transparent);color:var(--color-gold-light)}
.expo-map-section--dark .expo-map-toggle,.expo-map-section--dark .expo-map-controls button{border-color:color-mix(in srgb,var(--color-cyan) 30%,transparent);background:var(--color-navy-800);color:var(--color-white)}
.expo-map-section--dark .expo-map-toggle:hover,.expo-map-section--dark .expo-map-controls button:hover{background:var(--color-navy-800);border-color:var(--color-cyan)}
.expo-map-section--dark .expo-map-search{border-color:color-mix(in srgb,var(--color-cyan) 30%,transparent);background:var(--color-navy-950)}
.expo-map-section--dark .expo-map-search input{color:var(--color-white)}
.expo-map-section--dark .expo-map-search input::placeholder{color:var(--color-muted)}
.expo-map-section--dark .expo-map-canvas,.expo-map-section--dark .expo-map-sidebar{border-color:color-mix(in srgb,var(--color-cyan) 30%,transparent);background:var(--color-navy-900)}
.expo-map-section--dark .expo-map-canvas svg{background:var(--color-navy-900)}
.expo-map-section--dark [data-expo-artwork]{filter:brightness(.88) saturate(.88)}
.expo-map-section--dark .expo-map-preview-open>span{border-color:color-mix(in srgb,var(--color-cyan) 30%,transparent);background:color-mix(in srgb,var(--color-navy-950) 92.94%,transparent);color:var(--color-white);box-shadow:0 3px 15px #00000035}
.expo-map-section--dark .expo-map-preview-open:hover>span{border-color:var(--color-gold);color:var(--color-gold-light);background:var(--color-navy-800)}
.expo-map-section--dark .expo-map-sidebar h3{font-family:var(--font-nav,Arial);font-size:20px;line-height:1.4;color:var(--color-white)}
.expo-map-section--dark .expo-map-sidebar .expo-map-profile{background:var(--color-gold);color:var(--color-navy-950)}
.expo-map-section--dark .expo-map-results li a,.expo-map-section--dark .expo-map-results li button{color:var(--color-muted)}
.expo-map-section--dark .expo-map-results li strong{background:color-mix(in srgb,var(--color-gold) 10.98%,transparent);color:var(--color-gold-light)}
.expo-map-section--dark .expo-map-results li a:hover,.expo-map-section--dark .expo-map-results li button:hover{background:var(--color-navy-800)}
.expo-map-section--dark .expo-map-legend{color:var(--color-muted);background:var(--color-navy-900)}
.expo-map-section--dark .expo-map-coming-soon{border-color:color-mix(in srgb,var(--color-gold) 20.0%,transparent);background:color-mix(in srgb,var(--color-gold) 7.06%,transparent);color:var(--color-gold-light)}
.expo-map-section--dark .expo-preview-banner{border-color:var(--color-gold);background:color-mix(in srgb,var(--color-gold) 7.84%,transparent);color:var(--color-gold-light)}
[dir=rtl] .expo-hero h1{font-family:Cairo,Arial,sans-serif!important;font-weight:800;font-size:clamp(45px,5vw,73px);line-height:1.3}
[dir=rtl] .expo-page :is(.expo-section-heading h2,.expo-company-card h3,.expo-button),[dir=rtl] .expo-map-section--dark :is(h2,h3,button){font-family:Cairo,Arial,sans-serif}
[dir=rtl] .expo-page .expo-section-heading h2,[dir=rtl] .expo-page .expo-company-card h3,[dir=rtl] .expo-map-section--dark :is(.expo-map-heading h2,.expo-map-sidebar h3){font-family:Cairo,Arial,sans-serif!important}
[dir=rtl] .expo-company-actions .fa-arrow-right,[dir=rtl] .expo-hero-actions .fa-arrow-right,[dir=rtl] .expo-finder-main>.expo-button .fa-arrow-right,[dir=rtl] .expo-featured-navigation i{transform:scaleX(-1)}
@media(max-width:1099px){.expo-hero-layout{grid-template-columns:minmax(0,1fr) 310px;gap:35px}.expo-showcase-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"featured" "map"}.expo-showcase-layout>.expo-map-section--dock:not(.is-expanded) .expo-map-inner{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:15px}.expo-company-card--spotlight{grid-template-columns:230px minmax(0,1fr)}.expo-company-grid{gap:15px}.expo-finder-main{grid-template-columns:minmax(0,1fr) 150px auto}.expo-finder-main>.expo-button{padding-inline:14px}}
@media(max-width:767px){.expo-hero{padding:115px 0 35px}.expo-hero-layout{grid-template-columns:minmax(0,1fr);gap:27px}.expo-hero h1{font-size:56px}.expo-hero-lead{font-size:13px}.expo-hero-info{padding:20px}.expo-hero-actions .expo-button{padding-inline:15px;font-size:11px}.expo-showcase{padding:30px 0 20px}.expo-showcase-layout{gap:24px}.expo-section-heading{margin-bottom:18px;gap:12px}.expo-section-heading h2{font-size:23px}.expo-section-heading p:not(.expo-eyebrow){font-size:12px}.expo-featured-star{width:37px;height:37px;font-size:17px}.expo-company-card--spotlight{grid-template-columns:125px minmax(0,1fr)}.expo-company-card--spotlight .expo-company-logo{padding:15px;min-height:260px}.expo-company-card--spotlight .expo-company-logo img{height:105px}.expo-company-card--spotlight .expo-company-body{padding:18px}.expo-company-card--spotlight h3{font-size:21px}.expo-company-card--spotlight .expo-company-summary{font-size:11px;-webkit-line-clamp:3}.expo-company-tags>span{font-size:8px}.expo-company-location{font-size:10px}.expo-company-actions{gap:7px}.expo-company-actions a{font-size:9px}.expo-showcase-layout>.expo-map-section--dock:not(.is-expanded) .expo-map-inner{display:block}.expo-directory{padding:25px 0 45px}.expo-directory-heading{align-items:flex-start;flex-wrap:wrap}.expo-directory-total{font-size:10px}.expo-finder{padding:16px}.expo-finder-main{grid-template-columns:minmax(0,1fr) 125px}.expo-finder-search{grid-column:1/-1}.expo-finder-main>.expo-button{font-size:11px}.expo-finder-categories{margin-top:15px;padding-top:15px}.expo-company-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.expo-company-body{padding:14px}.expo-company-logo{min-height:105px;padding:15px}.expo-company-logo img{height:65px;width:100px}.expo-company-card h3{font-size:16px}.expo-company-summary{font-size:10px;min-height:36px;line-height:1.8}.expo-company-tags{gap:4px;margin-bottom:9px}.expo-company-location{padding-top:12px}.expo-company-actions{margin-top:12px;padding-top:10px}.expo-results-toolbar{font-size:11px}.expo-eyebrow{font-size:9px;margin-bottom:10px}.expo-map-section--dark .expo-map-heading h2{font-size:25px}.expo-map-section--dark .expo-map-sidebar h3{font-size:16px}}
@media(max-width:380px){.expo-company-grid{grid-template-columns:minmax(0,1fr)}.expo-company-logo{min-height:120px}.expo-company-card h3{font-size:19px}.expo-company-card--spotlight{grid-template-columns:minmax(0,1fr)}.expo-company-card--spotlight .expo-company-logo{min-height:145px;border-inline-end:0;border-bottom:1px solid color-mix(in srgb,var(--color-cyan) 30%,transparent)}}
@media(prefers-reduced-motion:reduce){.expo-company-card,.expo-button{transition:none}.expo-company-card:hover{transform:none}}

/* Match the existing IDL pages without changing the expo grids or interactions. */
.expo-eyebrow{color:var(--color-cyan);font-weight:700}
.expo-eyebrow>span{background:var(--color-cyan);box-shadow:none}
.expo-hero{background:linear-gradient(90deg,rgba(1,9,18,.98) 0%,rgba(1,9,18,.78) 52%,rgba(1,9,18,.5) 100%),url("../img/backgrounds/home-hero.png?v=4") center/cover no-repeat;border-bottom-color:rgba(255,255,255,.07)}
.expo-hero:before{content:none}
.expo-hero h1{letter-spacing:.01em}
.expo-hero h1 span{color:var(--color-gold-light)}
.expo-hero-info{background:linear-gradient(135deg,rgba(10,34,52,.82),rgba(5,24,39,.72));border-color:rgba(201,154,75,.24);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}
.expo-showcase,.expo-directory{background:var(--color-navy-950)}
.expo-page .expo-section-heading h2,.expo-map-section--dark .expo-map-heading h2,.expo-featured-empty h3,.expo-directory-empty h3{font-family:var(--font-display)!important;font-weight:400!important;letter-spacing:.01em;text-transform:uppercase}
.expo-page .expo-company-card h3,.expo-map-section--dark .expo-map-sidebar h3{font-family:var(--font-nav)!important;font-weight:700!important;letter-spacing:0}
.expo-button.idl-button{margin:0;border-radius:var(--radius-sm);font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:color var(--transition),background var(--transition),border-color var(--transition);min-width:0;max-width:100%;white-space:normal}
.expo-button--primary.idl-button{color:var(--color-white);background:var(--color-cyan);border-color:var(--color-cyan)}
.expo-button--primary.idl-button:hover,.expo-button--primary.idl-button:focus-visible{color:var(--color-white);background:var(--color-cyan);border-color:var(--color-gold-light);transform:none}
.expo-button--outline.idl-button{color:var(--color-white);border-color:rgba(0,151,178,.62);background:transparent}
.expo-button--outline.idl-button:hover,.expo-button--outline.idl-button:focus-visible{background:rgba(0,151,178,.16);transform:none}
.expo-company-card,.expo-company-card--spotlight{border:1px solid rgba(174,200,219,.15);border-top:3px solid var(--color-gold-light);border-radius:1.25rem;background:linear-gradient(145deg,#0d2131,#071722);box-shadow:0 12px 36px rgba(0,0,0,.12)}
.expo-company-card:hover{border-color:rgba(201,154,75,.5);box-shadow:0 16px 40px rgba(0,0,0,.22);transform:none}
.expo-company-card:focus-within{outline:2px solid var(--color-cyan);outline-offset:4px}
.expo-company-logo,.expo-company-card--spotlight .expo-company-logo{background:var(--color-navy-900)}
.expo-company-tags>span{color:var(--color-cyan);background:rgba(0,151,178,.12);border-color:rgba(0,151,178,.35)}
.expo-company-tags .expo-company-country{color:var(--color-muted);border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.04)}
.expo-company-actions a{color:var(--color-gold-light);font-weight:700;letter-spacing:.02em}
.expo-company-actions a[data-expo-company]{color:var(--color-white);background:rgba(0,151,178,.14);border-color:rgba(0,151,178,.35);border-radius:var(--radius-sm)}
.expo-featured-navigation button{border-radius:50%;background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.14);color:var(--color-white)}
.expo-featured-navigation button:hover{color:var(--color-navy-950);background:var(--color-gold-light);border-color:var(--color-gold-light)}
.expo-finder{border-radius:var(--radius-md);background:linear-gradient(145deg,var(--color-navy-800),var(--color-navy-900));border-color:rgba(0,151,178,.25);box-shadow:var(--shadow-soft)}
.expo-finder-search>div,.expo-finder select{background:rgba(1,9,18,.8);border-color:rgba(0,151,178,.28);border-radius:var(--radius-sm)}
.expo-finder-search i{color:var(--color-cyan)}
.expo-finder-search>div:focus-within{outline-color:var(--color-cyan)}
.expo-finder-categories a{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.14);color:var(--color-muted)}
.expo-finder-categories a.is-active{color:var(--color-white);background:rgba(0,151,178,.2);border-color:var(--color-cyan)}
.expo-directory-pagination>[aria-current=page]{color:var(--color-navy-950);background:var(--color-gold-light);border-color:var(--color-gold-light)}
.expo-map-section--dark{--expo-navy:var(--color-navy-900);--expo-gold:var(--color-gold);--expo-muted:var(--color-muted);--expo-line:rgba(255,255,255,.14);color:var(--color-white)}
.expo-map-section--dark.expo-map-section--dock,.expo-map-section--dark.expo-map-section--dock.is-expanded{background:linear-gradient(145deg,#0d2131,#071722);border:1px solid rgba(174,200,219,.15);border-top:3px solid var(--color-gold-light);border-radius:1.25rem;box-shadow:var(--shadow-soft)}
.expo-map-section--dark .expo-map-heading .idl-eyebrow{color:var(--color-cyan)}
.expo-map-section--dark .expo-map-venue{color:var(--color-gold-light);background:rgba(201,154,75,.1);border-color:rgba(201,154,75,.3)}
.expo-map-section--dark .expo-map-toggle,.expo-map-section--dark .expo-map-controls button{color:var(--color-white);background:rgba(0,151,178,.1);border-color:rgba(0,151,178,.35);border-radius:var(--radius-sm)}
.expo-map-section--dark .expo-map-toggle:hover,.expo-map-section--dark .expo-map-controls button:hover{background:rgba(0,151,178,.22);border-color:var(--color-cyan)}
.expo-map-section--dark .expo-map-search{background:rgba(1,9,18,.8);border-color:rgba(0,151,178,.28);border-radius:var(--radius-sm)}
.expo-map-section--dark .expo-map-search i{color:var(--color-cyan)}
.expo-map-section--dark .expo-map-canvas,.expo-map-section--dark .expo-map-sidebar{background:var(--color-navy-900);border-color:rgba(174,200,219,.15);border-radius:var(--radius-md)}
.expo-map-section--dark .expo-map-sidebar .expo-map-profile{background:var(--color-cyan);color:var(--color-white);border-radius:var(--radius-sm);font-family:var(--font-nav);font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.expo-map-section--dark [data-expo-artwork]{filter:none}
.expo-map-section--dark .expo-booth.is-assigned [data-expo-shape]{fill:color-mix(in srgb,var(--color-navy-900) 90%,transparent);stroke:var(--color-navy-950)}
.expo-map-section--dark .expo-booth.is-match [data-expo-shape]{fill:color-mix(in srgb,var(--color-gold-light) 90%,transparent);stroke:var(--color-gold)}
.expo-map-section--dark .expo-booth.is-selected [data-expo-shape],.expo-map-section--dark .expo-booth:focus-visible [data-expo-shape]{fill:color-mix(in srgb,var(--color-gold) 94%,transparent);stroke:var(--color-gold-light)}
.expo-map-section--dark .expo-booth text{font-family:var(--font-nav);font-weight:700}
.expo-map-section--dark .expo-map-preview-open>span{border-color:rgba(0,151,178,.35);background:rgba(1,9,18,.92);color:var(--color-white);border-radius:var(--radius-sm)}
.expo-map-section--dark .expo-map-legend{color:var(--color-muted);background:var(--color-navy-900)}
[dir=rtl] .expo-page .expo-section-heading h2,[dir=rtl] .expo-map-section--dark :is(.expo-map-heading h2,.expo-map-sidebar h3){font-family:Cairo,Arial,sans-serif!important}
@media(max-width:767px){.expo-hero{background-image:linear-gradient(90deg,rgba(1,9,18,.98),rgba(1,9,18,.65)),url("../img/backgrounds/home-hero-mobile.png?v=4")}}

/* Header map and the original home workshop-card treatment (b7c3229). */
.expo-hero-layout{grid-template-areas:"copy map"}
.expo-hero-copy{grid-area:copy;min-width:0}
.expo-hero-layout>.expo-map-section--dock{grid-area:map;position:relative;top:auto;min-width:0}
.expo-hero-layout>.expo-map-section--dock:not(.is-expanded) .expo-map-inner{display:block}
.expo-hero-layout.is-map-expanded{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "map"}
.expo-featured-slider{width:100%;min-width:0;overflow:hidden}
.expo-featured-slider .swiper-wrapper{display:flex;align-items:stretch;height:auto}
.expo-featured-slider .swiper-slide{flex-shrink:0;height:auto}
.expo-featured-slider:not(.swiper-initialized){overflow-x:auto;scroll-snap-type:x mandatory}
.expo-featured-slider:not(.swiper-initialized) .swiper-wrapper{gap:24px}
.expo-featured-slider:not(.swiper-initialized) .swiper-slide{width:calc((100% - 48px)/3);scroll-snap-align:start}
.expo-featured-pagination.swiper-pagination{position:static;display:flex;align-items:center;justify-content:center;gap:5px;width:auto;flex:1}
.expo-featured-pagination .swiper-pagination-bullet{background:var(--color-white);opacity:.35}
.expo-featured-pagination .swiper-pagination-bullet-active{background:var(--color-gold-light);opacity:1}
.expo-featured-navigation .swiper-button-lock{display:none}
.expo-page .expo-company-card.workshop-card{display:block;height:100%;padding:1.5rem;border:1px solid rgba(255,255,255,.1);border-radius:1rem;color:var(--color-white);background:#030D18;box-shadow:none;transition:border-color var(--transition),box-shadow var(--transition)}
.expo-page .expo-company-card.workshop-card:hover{border-color:rgba(228,191,122,.62);box-shadow:0 1.25rem 2.8rem rgba(0,0,0,.3)}
.expo-page .expo-company-card.workshop-card:focus-within{outline:2px solid var(--color-cyan);outline-offset:3px}
.expo-company-media{position:relative;min-width:0}
.expo-company-media>a{display:block;overflow:hidden;border-radius:.55rem}
.expo-page .expo-company-card.workshop-card img{display:block;width:100%;height:auto;aspect-ratio:1.48/1;object-fit:contain;border-radius:.55rem;background:var(--color-navy-900);transition:transform .4s ease}
.expo-page .expo-company-card.workshop-card:is(:hover,:focus-within) img{transform:scale(1.045)}
.expo-company-initials{display:grid;place-items:center;aspect-ratio:1.48/1;background:var(--color-navy-900);color:var(--color-gold-light);font:400 3rem var(--font-display)}
.expo-company-media form{position:absolute;top:.65rem;inset-inline-end:.65rem;z-index:2}
.expo-company-media .p3-favorite-button{position:static!important;inset:auto!important;width:32px;height:32px;background:rgba(1,9,18,.85);border:1px solid rgba(255,255,255,.2);color:var(--color-white);box-shadow:none}
.expo-company-media .p3-favorite-button.is-active{color:var(--color-gold-light);border-color:var(--color-gold-light)}
.expo-company-card .workshop-meta{align-items:flex-start;flex-wrap:wrap;gap:.6rem;margin-top:1.45rem}
.expo-workshop-location{margin:0;color:var(--color-muted);font-size:.65rem;line-height:1.7;letter-spacing:.13em;text-transform:uppercase}
.expo-company-card .workshop-meta>span{max-width:100%;padding:.25rem .65rem;border:1px solid rgba(228,191,122,.38);border-radius:var(--radius-pill);color:var(--color-gold-light);font-size:.55rem;letter-spacing:.12em;line-height:1.5;text-transform:uppercase;overflow-wrap:anywhere}
.expo-page .expo-company-card.workshop-card h3{margin:1.05rem 0 0;color:#F2EFEA;font-family:var(--font-nav)!important;font-size:clamp(1rem,1.6vw,1.25rem);font-weight:400!important;line-height:1.3;letter-spacing:0}
.expo-workshop-summary{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:.8rem 0 0;color:var(--color-muted);font-size:.78rem;line-height:1.75}
.expo-workshop-map-link{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;color:var(--color-gold-light);font-family:var(--font-nav);font-size:.72rem;font-weight:700}
.expo-workshop-map-link:hover{color:var(--color-white)}
[dir=rtl] .expo-page .expo-company-card.workshop-card h3{font-family:Cairo,Arial,sans-serif!important}
@media(max-width:991px){.expo-featured-slider:not(.swiper-initialized) .swiper-slide{width:calc((100% - 24px)/2)}}
@media(max-width:767px){.expo-hero-layout{grid-template-areas:"copy" "map"}.expo-page .expo-company-card.workshop-card{padding:1rem}.expo-company-card .workshop-meta{margin-top:1rem}.expo-workshop-location{font-size:.6rem;letter-spacing:.06em}.expo-company-card .workshop-meta>span{font-size:.5rem;letter-spacing:.08em}.expo-page .expo-company-card.workshop-card h3{font-size:1rem}.expo-workshop-summary{font-size:.7rem}}
@media(max-width:639px){.expo-featured-slider:not(.swiper-initialized) .swiper-slide{width:89%}}
@media(prefers-reduced-motion:reduce){.expo-page .expo-company-card.workshop-card,.expo-page .expo-company-card.workshop-card img{transition:none}.expo-page .expo-company-card.workshop-card:hover,.expo-page .expo-company-card.workshop-card:is(:hover,:focus-within) img{transform:none}}

/* A landscape header preview and a finder styled like the recovered home cards. */
.expo-hero-layout:not(.is-map-expanded){grid-template-columns:minmax(0,1fr) minmax(500px,.95fr);gap:50px}
.expo-hero-layout>.expo-map-section--dock:not(.is-expanded) .expo-map-inner{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1fr);grid-template-areas:"heading preview" "caption preview";gap:14px;align-items:center}
.expo-hero-layout>.expo-map-section--dock:not(.is-expanded) .expo-map-heading{grid-area:heading;display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:0}
.expo-hero-layout>.expo-map-section--dock:not(.is-expanded) .expo-map-heading>div{width:100%}
.expo-hero-layout>.expo-map-section--dock:not(.is-expanded) .expo-map-heading h2{font-size:24px;line-height:1.25}
.expo-hero-layout>.expo-map-section--dock:not(.is-expanded) .expo-map-venue{max-width:100%;font-size:9px;padding:7px 9px}
.expo-hero-layout>.expo-map-section--dock:not(.is-expanded) .expo-map-workspace{grid-area:preview;min-width:0}
.expo-hero-layout>.expo-map-section--dock:not(.is-expanded) .expo-map-preview-caption{grid-area:caption;margin:0;font-size:11px;line-height:1.65}
.expo-hero-layout>.expo-map-section--dock:not(.is-expanded) .expo-map-preview-open{padding:8px}
.expo-hero-layout>.expo-map-section--dock:not(.is-expanded) .expo-map-preview-open>span{font-size:9px;padding:6px 8px}
.expo-featured-slider .expo-company-card.workshop-card{height:auto;align-self:stretch}
.expo-finder{padding:1.5rem;border:1px solid rgba(255,255,255,.1);border-radius:1rem;background:#030D18;box-shadow:none}
.expo-finder label>span{color:var(--color-muted);font-size:.65rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.expo-finder-search>div,.expo-finder select{border:1px solid rgba(255,255,255,.12);border-radius:.55rem;background:var(--color-navy-950)}
.expo-finder-search>div:focus-within{outline:1px solid var(--color-gold-light);outline-offset:2px}
.expo-finder-main>.expo-finder-submit{border-radius:var(--radius-pill);border-color:rgba(255,255,255,.22);background:transparent;color:var(--color-white);letter-spacing:.05em}
.expo-finder-main>.expo-finder-submit:hover,.expo-finder-main>.expo-finder-submit:focus-visible{border-color:var(--color-gold-light);background:rgba(228,191,122,.08)}
.expo-finder-categories{flex-wrap:wrap;overflow:visible;gap:.55rem;margin-top:1rem;padding-top:1rem;border-top-color:rgba(255,255,255,.08)}
.expo-finder-categories a{padding:.45rem .7rem;border:1px solid rgba(228,191,122,.28);border-radius:var(--radius-pill);background:transparent;color:var(--color-muted);font-size:.6rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase}
.expo-finder-categories a:hover{color:var(--color-gold-light);border-color:rgba(228,191,122,.62)}
.expo-finder-categories a.is-active{color:var(--color-gold-light);border-color:var(--color-gold-light);background:rgba(228,191,122,.1)}
.expo-directory-total{border-color:rgba(255,255,255,.12);background:transparent;color:var(--color-muted)}
@media(max-width:1099px){.expo-hero-layout:not(.is-map-expanded){grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "map";gap:28px}.expo-hero-copy{max-width:680px}.expo-hero-layout>.expo-map-section--dock:not(.is-expanded) .expo-map-inner{grid-template-columns:minmax(0,.6fr) minmax(0,1fr)}}
@media(max-width:767px){.expo-hero-layout>.expo-map-section--dock:not(.is-expanded) .expo-map-inner{grid-template-columns:minmax(0,.65fr) minmax(0,1fr);grid-template-areas:"heading preview";gap:12px}.expo-hero-layout>.expo-map-section--dock:not(.is-expanded) .expo-map-heading{gap:9px}.expo-hero-layout>.expo-map-section--dock:not(.is-expanded) .expo-map-heading h2{font-size:19px}.expo-hero-layout>.expo-map-section--dock:not(.is-expanded) .expo-map-preview-caption{display:none}.expo-hero-layout>.expo-map-section--dock:not(.is-expanded) .expo-map-toggle{padding:8px;font-size:9px}.expo-hero-layout>.expo-map-section--dock:not(.is-expanded) .expo-map-venue{font-size:8px}.expo-finder{padding:1rem}.expo-finder-categories a{font-size:.55rem;padding:.4rem .6rem}}

/* Source: resources/css/public/expo-theme.css */
/* Loaded after expo-page.css. These overrides never target the Filament editor. */
html[data-theme="light"] body .expo-page,
html[data-theme="light"] body.expo-page,
html[data-theme="light"] .expo-page :is(.expo-showcase, .expo-directory, .expo-directory-shell) { color: var(--idl-text); background: var(--idl-page); }
html[data-theme="light"] .expo-page .expo-hero {
    background: linear-gradient(90deg, rgba(244,247,250,.97), rgba(244,247,250,.88) 50%, rgba(244,247,250,.6)), url('../img/backgrounds/home-hero.png?v=4') center/cover;
    border-color: var(--idl-line);
}
html[data-theme="light"] .expo-page :is(.expo-hero h1, .expo-section-heading h2, .expo-company-card.workshop-card h3, .expo-company-card h3 a) { color: var(--idl-text); }
html[data-theme="light"] .expo-page :is(.expo-hero h1 span, .expo-featured-star, .expo-workshop-map-link, .expo-company-card .workshop-meta > span) { color: var(--idl-gold); }
html[data-theme="light"] .expo-page :is(.expo-eyebrow, .expo-hero-note i, .expo-company-tags > span) { color: var(--idl-teal); }
html[data-theme="light"] .expo-page :is(.expo-hero-lead, .expo-section-heading p:not(.expo-eyebrow),
    .expo-workshop-location, .expo-workshop-summary, .expo-directory-total, .expo-directory-status,
    .expo-directory-reset, .expo-finder label > span, .expo-company-country, .expo-featured-counter) { color: var(--idl-muted); }
html[data-theme="light"] .expo-page :is(.expo-finder, .expo-company-card.workshop-card,
    .expo-company-card, .expo-hero-info) { background: var(--idl-surface); color: var(--idl-text); border-color: var(--idl-line); box-shadow: var(--idl-shadow); }
html[data-theme="light"] .expo-page .expo-company-card.workshop-card:hover { border-color: var(--idl-control-line); box-shadow: var(--idl-shadow); }
html[data-theme="light"] .expo-page :is(.expo-company-card.workshop-card img, .expo-company-initials, .expo-company-logo, .expo-company-media > a, .expo-company-logo > a) { background: var(--idl-soft); }
html[data-theme="light"] .expo-page .expo-company-initials { color: var(--idl-gold); }
html[data-theme="light"] .expo-page :is(.expo-company-media .p3-favorite-button, .expo-company-logo .p3-favorite-button) { color: var(--idl-text); background: var(--idl-surface); border-color: var(--idl-control-line); }
html[data-theme="light"] .expo-page .p3-favorite-button.is-active { color: var(--idl-gold); background: var(--idl-gold-soft); border-color: var(--idl-gold); }
html[data-theme="light"] .expo-page :is(.expo-finder-search > div, .expo-finder select) { color-scheme: light; color: var(--idl-text); background: var(--idl-surface); border-color: var(--idl-control-line); }
html[data-theme="light"] .expo-page :is(.expo-finder input, .expo-finder select, .expo-finder select option) { color: var(--idl-text); background: var(--idl-surface); }
html[data-theme="light"] .expo-page .expo-finder input::placeholder { color: var(--idl-muted); }
html[data-theme="light"] .expo-page .expo-finder-categories { border-color: var(--idl-line); }
html[data-theme="light"] .expo-page .expo-finder-categories a { color: var(--idl-muted); background: var(--idl-surface); border-color: var(--idl-control-line); }
html[data-theme="light"] .expo-page .expo-finder-categories a:is(:hover, :focus-visible, .is-active) { color: var(--idl-gold); background: var(--idl-gold-soft); border-color: var(--idl-gold); }
html[data-theme="light"] .expo-page :is(.expo-button, .expo-finder-main > .expo-finder-submit, .expo-featured-navigation button) { color: var(--idl-teal); background: var(--idl-surface); border-color: var(--idl-control-line); }
html[data-theme="light"] .expo-page .expo-button--primary { color: var(--idl-inverse); background: var(--idl-teal); border-color: var(--idl-teal); }
html[data-theme="light"] .expo-page .expo-button--primary:is(:hover, :focus-visible) { color: var(--idl-inverse); background: #006477; border-color: #006477; }
html[data-theme="light"] .expo-page :is(.expo-button--outline, .expo-finder-submit):is(:hover, :focus-visible) { color: var(--idl-teal); background: var(--idl-teal-soft); border-color: var(--idl-teal); }
html[data-theme="light"] .expo-page .expo-directory-total { border-color: var(--idl-line); }
html[data-theme="light"] .expo-page .expo-directory-pagination :is(a, span) { color: var(--idl-teal); background: var(--idl-surface); border-color: var(--idl-control-line); }
html[data-theme="light"] .expo-page .expo-directory-pagination [aria-current] { color: var(--idl-gold-on-soft); background: var(--idl-gold-soft); border-color: var(--idl-gold); }
html[data-theme="light"] .expo-page .expo-featured-pagination .swiper-pagination-bullet { background: var(--idl-muted); }
html[data-theme="light"] .expo-page .expo-featured-pagination .swiper-pagination-bullet-active { background: var(--idl-gold); }
html[data-theme="light"] .expo-page :is(.expo-featured-navigation > span, .expo-results-toolbar > p) { color: var(--idl-muted); }
html[data-theme="light"] .expo-page .expo-results-toolbar > a { color: var(--idl-muted); }
html[data-theme="light"] .expo-page .expo-company-card .workshop-meta > span { color: var(--idl-gold-on-soft); background: var(--idl-gold-soft); border-color: var(--idl-gold); }
html[data-theme="light"] .expo-page .expo-finder-categories a.is-active { color: var(--idl-gold-on-soft); }

html[data-theme="light"] .expo-map-section--dark {
    --expo-navy: var(--idl-text); --expo-muted: var(--idl-muted); --expo-line: var(--idl-line); --expo-gold: var(--idl-gold);
    color: var(--idl-text); background: var(--idl-surface); border-color: var(--idl-line);
}
html[data-theme="light"] .expo-map-section--dark.expo-map-section--dock,
html[data-theme="light"] .expo-map-section--dark.expo-map-section--dock.is-expanded { background: var(--idl-surface); border-color: var(--idl-line); box-shadow: var(--idl-shadow); }
html[data-theme="light"] .expo-map-section--dark :is(.expo-map-heading h2, .expo-map-sidebar h3, .expo-map-search input) { color: var(--idl-text); }
html[data-theme="light"] .expo-map-section--dark .expo-map-heading .idl-eyebrow { color: var(--idl-gold); }
html[data-theme="light"] .expo-map-section--dark :is(.expo-map-venue, .expo-map-results li strong) { background: var(--idl-gold-soft); border-color: var(--idl-gold); }
html[data-theme="light"] .expo-page .expo-map-section--dark .expo-map-venue,
html[data-theme="light"] .expo-map-section--dark .expo-map-venue,
html[data-theme="light"] .expo-map-section--dark .expo-map-results li strong { color: var(--idl-gold-on-soft); }
html[data-theme="light"] .expo-map-section--dark :is(.expo-map-toggle, .expo-map-controls button,
    .expo-map-search, .expo-map-preview-open > span) { color: var(--idl-text); background: var(--idl-surface); border-color: var(--idl-control-line); box-shadow: none; }
html[data-theme="light"] .expo-map-section--dark :is(.expo-map-toggle:hover, .expo-map-controls button:hover,
    .expo-map-preview-open:hover > span) { color: var(--idl-teal); background: var(--idl-teal-soft); border-color: var(--idl-teal); }
html[data-theme="light"] .expo-map-section--dark :is(.expo-map-canvas, .expo-map-sidebar, .expo-map-canvas svg) { background: var(--idl-soft); border-color: var(--idl-line); }
html[data-theme="light"] .expo-map-section--dark [data-expo-artwork] { filter: none; }
html[data-theme="light"] .expo-map-section--dark :is(.expo-map-results li a, .expo-map-results li button, .expo-map-preview-caption) { color: var(--idl-muted); }
html[data-theme="light"] .expo-map-section--dark .expo-map-sidebar .expo-map-profile { color: var(--idl-inverse); background: var(--idl-teal); }
html[data-theme="light"] .expo-map-section--dark :is(.expo-map-legend, .expo-map-coming-soon, .expo-preview-banner) { color: var(--idl-text); background: var(--idl-surface); border-color: var(--idl-line); }
html[data-theme="light"] .expo-map-section--dark .expo-booth text { fill: var(--idl-text); stroke: rgba(255,255,255,.8); }
html[data-theme="light"] .expo-map-section--dark .expo-booth.is-assigned text { fill: var(--idl-inverse); stroke: #102a3a; }
html[data-theme="light"] .expo-map-section--dark .expo-booth.is-selected text { fill: var(--idl-text); stroke: rgba(255,255,255,.5); }
@media(max-width:767px) {
    html[data-theme="light"] .expo-page .expo-hero { background: linear-gradient(180deg, rgba(244,247,250,.87), #f4f7fa), url('../img/backgrounds/home-hero-mobile.png?v=4') center/cover; }
}
