/* Standalone directory: the six theme-block layouts keep their styling. */
.es-archive.es-public {
    --es-ink:var(--site-ink,#293c50); --es-muted:var(--site-muted,#67737f);
    --es-primary:var(--site-primary,#223b57); --es-deep:var(--site-deep,#152b43);
    --es-gold:var(--site-gold,#bda16c); --es-line:var(--site-line,#dce1e6);
    max-width:1320px; margin-inline:auto; padding:24px 0 64px; color:var(--es-ink);
}
.es-public :is(h1,h2,h3,p) { margin:0; }
.es-public .es-breadcrumb { gap:13px; margin:0 0 24px; color:var(--es-muted); }
.es-public .es-breadcrumb a { color:var(--es-ink); }
.es-public .es-breadcrumb > span[aria-hidden] { color:var(--es-gold); }
.es-discovery { margin-bottom:36px; border:1px solid #bda16c66; border-radius:18px; box-shadow:0 12px 35px #152b4308; }
.es-public-hero { position:relative; isolation:isolate; display:flex; align-items:center; justify-content:space-between; gap:36px; overflow:hidden; padding:38px 40px; border-radius:17px 17px 0 0; background:radial-gradient(ellipse at 100% 0,#bda16c1c,transparent 60%),linear-gradient(115deg,var(--es-deep),var(--es-primary)); color:#fffaf0; }
.es-public-hero::before,.es-public-hero::after { content:''; position:absolute; z-index:-1; width:310px; height:310px; right:18%; top:-225px; border:1px solid #ddc58b29; border-radius:60px; transform:rotate(35deg); pointer-events:none; }
.es-public-hero::after { top:-196px; right:15%; border-color:#ddc58b14; }
.es-hero-copy { min-width:0; }
.es-public-eyebrow { display:flex; align-items:center; gap:12px; color:#dfc895; letter-spacing:.12em; }
.es-public-eyebrow::before { content:''; width:28px; height:1px; background:#cfb276; flex:none; }
.es-public .es-hero-copy h1 { margin:13px 0 10px; font-weight:700; color:#fffdf6; line-height:1.8; }
.es-hero-copy p { color:#e0e5e4; line-height:1.95; }
.es-hero-summary { display:flex; align-items:center; gap:23px; padding-left:32px; border-left:1px solid #dfc89540; }
.es-public-emblem { display:grid; place-items:center; width:90px; height:90px; flex:none; border:1px solid #ccb17b80; border-radius:24px; color:#dfc895; background:linear-gradient(145deg,#ffffff0b,#ffffff02); box-shadow:inset 0 0 0 6px #ffffff03; }
.es-public-emblem svg { width:54px; height:54px; }
.es-hero-summary p { color:#dfc895; margin:5px 0; }
.es-hero-summary strong { color:#fffdf6; font-weight:700; margin-right:5px; font-variant-numeric:tabular-nums; }
.es-summary-note { color:#d2dbdd; }
.es-public-filter { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) auto; align-items:end; gap:18px; padding:26px 30px 30px; background:#fffefa; border-radius:0 0 17px 17px; }
.es-filter-field { min-width:0; }
.es-public-filter label { display:block; margin-bottom:9px; font-weight:500; color:var(--es-ink); }
.es-public-filter :is(input,select) { display:block; box-sizing:border-box; width:100%; min-width:0; min-height:50px; padding:11px 13px; border:1px solid #d6dcd9; border-radius:9px; background:#fff; color:var(--es-ink); font:inherit; line-height:1.8; }
.es-public-filter :is(input,select):focus { outline:2px solid #a38650; outline-offset:2px; }
.es-public-filter input::placeholder { color:#6b767f; opacity:1; }
.es-search-control { position:relative; }
.es-search-control svg { position:absolute; width:18px; height:18px; left:15px; top:16px; color:#8d764e; pointer-events:none; }
.es-search-control input { padding-left:43px; }
.es-public-filter .site-action { justify-content:center; min-height:50px; padding:11px 20px; margin:0; gap:18px; cursor:pointer; font:inherit; }
.es-active-filters { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:-14px 0 32px; }
.es-public .es-filter-chip { display:inline-flex; align-items:center; gap:14px; max-width:100%; padding:7px 12px; color:#605136; background:#f6f0e4; border:1px solid #ded0b4; border-radius:8px; overflow-wrap:anywhere; }
.es-filter-chip > span:last-child { flex:none; }
.es-public .es-filter-chip:hover { background:#eee3cf; color:#403520; }
.es-public .es-clear-filters { color:var(--es-muted); padding:8px; }
.es-public-results { scroll-margin-top:30px; }
.es-results-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-bottom:24px; }
.es-results-heading h2 { display:flex; align-items:center; gap:12px; font-weight:600; }
.es-results-heading h2::before { content:''; width:4px; height:21px; border-radius:2px; background:var(--es-gold); flex:none; }
.es-results-heading p { color:var(--es-muted); padding-left:16px; margin-top:5px; }
.es-results-hint { display:inline-flex; align-items:center; gap:10px; color:var(--es-muted); }
.es-results-hint svg { width:20px; height:20px; color:#947c4c; }
.es-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.es-public .es-service-card { display:flex; flex-direction:column; position:relative; min-width:0; padding:26px; background:#fff; border:1px solid var(--es-line); border-radius:15px; color:var(--es-ink); box-shadow:0 4px 16px #162f4304; transition:transform .2s,box-shadow .2s,border-color .2s; }
.es-service-card::before { content:''; position:absolute; top:-1px; left:26px; right:26px; height:2px; background:linear-gradient(90deg,#bda16c22,var(--es-gold),#bda16c22); border-radius:2px; }
.es-public .es-service-card:is(:hover,:focus-visible) { border-color:#b7a176; box-shadow:0 14px 28px #162f4310; transform:translateY(-3px); color:var(--es-ink); }
.es-public .es-service-card:focus-visible { outline:2px solid var(--es-primary); outline-offset:4px; }
.es-card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:23px; }
.es-card-logo { width:76px; height:76px; padding:5px; display:grid; place-items:center; box-sizing:border-box; flex:none; border:1px solid #e9e5db; border-radius:18px; background:linear-gradient(140deg,#fffefa,#f4f3ed); color:#8f7545; }
.es-card-logo img { display:block; width:100%; height:100%; max-height:64px; object-fit:contain; border-radius:10px; }
.es-card-logo svg { width:33px; height:33px; }
.es-category-tag { min-width:0; padding:4px 10px; margin-top:3px; border:1px solid #e6dfd1; border-radius:6px; background:#faf7f0; color:#79623b; line-height:1.7; overflow-wrap:anywhere; }
.es-service-card h3 { font-weight:600; color:var(--es-ink); line-height:1.9; overflow-wrap:anywhere; }
.es-public .es-card-description { margin:9px 0 24px; color:var(--es-muted); line-height:1.9; overflow-wrap:anywhere; }
.es-card-bottom { margin-top:auto; padding-top:18px; }
.es-card-group { display:flex; align-items:flex-start; gap:9px; padding-bottom:18px; color:var(--es-muted); line-height:1.8; }
.es-card-group svg { width:18px; height:18px; flex:none; margin-top:3px; color:#9a8359; }
.es-card-visit { display:flex; align-items:center; justify-content:space-between; gap:18px; border-top:1px solid #ebe7de; padding-top:16px; color:var(--es-primary); font-weight:500; }
.es-visit-arrow { display:grid; place-items:center; width:36px; height:36px; flex:none; border:1px solid #ccba96; border-radius:50%; background:#faf7f0; color:var(--es-primary); transition:background-color .2s,color .2s,border-color .2s; }
.es-service-card:is(:hover,:focus-visible) .es-visit-arrow { background:var(--es-primary); color:#fffaf0; border-color:var(--es-primary); }
.es-public-empty { display:flex; flex-direction:column; align-items:center; gap:12px; padding:55px 24px; text-align:center; background:linear-gradient(145deg,#fffefa,#f5f3ed); border:1px solid #ded6c5; border-radius:15px; }
.es-empty-symbol { display:grid; place-items:center; width:58px; height:58px; margin-bottom:6px; border:1px solid #cfbd99; border-radius:17px; color:#8e723d; background:#fffdf8; }
.es-empty-symbol svg { width:26px; height:26px; }
.es-public-empty h2 { font-weight:600; }
.es-public-empty p { color:var(--es-muted); }
.es-public-empty .site-action { margin-top:10px; }
.es-public .es-public-pagination { flex-wrap:wrap; gap:20px; border-top:1px solid var(--es-line); padding-top:26px; margin:32px 0 0; }
.es-public-pagination > span { color:var(--es-muted); font-variant-numeric:tabular-nums; }
.es-public .es-public-pagination a { display:inline-flex; align-items:center; justify-content:center; gap:15px; min-height:44px; padding:8px 16px; border:1px solid #d4c5a7; border-radius:8px; background:#fffefa; color:var(--es-ink); }
.es-public .es-public-pagination a:hover { background:#efe6d2; border-color:#b69b63; }
@media (max-width:1100px) {
    .es-public-hero { gap:28px; padding:32px; }
    .es-hero-summary { padding-left:24px; gap:16px; max-width:40%; }
    .es-public-emblem { width:64px; height:64px; border-radius:18px; }
    .es-public-emblem svg { width:40px; height:40px; }
    .es-public-filter { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
    .es-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
    .es-archive.es-public { padding-top:6px; padding-bottom:32px; }
    .es-public-hero { flex-direction:column; align-items:stretch; gap:24px; padding:27px 23px; }
    .es-hero-summary { border-left:0; border-top:1px solid #dfc89540; padding:22px 0 0; max-width:none; }
    .es-hero-copy br { display:none; }
    .es-public-filter { padding:23px; }
    .es-service-grid { gap:18px; }
    .es-card-top { gap:12px; }
    .es-results-hint { display:none; }
}
@media (max-width:560px) {
    .es-public-filter,.es-service-grid { grid-template-columns:minmax(0,1fr); }
    .es-discovery { margin-bottom:28px; }
    .es-public-filter { gap:16px; }
    .es-public-filter .site-action { margin-top:4px; }
    .es-public .es-service-card { padding:24px; }
}
@media (prefers-reduced-motion:reduce) {
    .es-public .es-service-card,.es-visit-arrow { transition:none; }
    .es-public .es-service-card:is(:hover,:focus-visible) { transform:none; }
}
@media (forced-colors:active) {
    .es-discovery,.es-public-hero,.es-public-filter,.es-public .es-service-card,.es-public-empty { background:Canvas; color:CanvasText; border-color:CanvasText; box-shadow:none; }
    .es-public :is(.es-public-eyebrow,.es-hero-copy h1,.es-hero-copy p,.es-hero-summary p,.es-hero-summary strong,.es-summary-note,.es-card-description,.es-card-group,.es-category-tag,.es-card-logo,.es-public-emblem,.es-visit-arrow) { background:Canvas; color:CanvasText; border-color:CanvasText; }
    .es-public .es-service-card:focus-visible { outline-color:Highlight; }
}
