.es-block,.es-archive{container-type:inline-size;font:14px/1.8 var(--font-family-sans,"Kodchasan",Tahoma,sans-serif);color:var(--site-ink,#234638);min-width:0}
.es-block *,.es-archive *,.es-collection *{box-sizing:border-box}
.es-block{padding:30px;background:var(--site-surface,#fffefa);border:1px solid var(--site-line,#dce2d5);border-top:3px solid var(--site-gold,#b39a63);border-radius:var(--site-radius,12px)}
.es-block-heading,.es-results{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:24px}
.es-block-heading>div{min-width:0}.es-block-heading h2,.es-results h2{font-size:14px;font-weight:600;margin:6px 0;color:var(--site-primary,#254a38)}
.es-block-heading p{margin:6px 0;color:var(--site-muted,#66735f);overflow-wrap:anywhere}.es-block-heading>a{color:var(--site-primary,#547047);text-decoration:none;white-space:nowrap;border-bottom:0;padding:6px 0}
.es-eyebrow{color:#8b7547}.es-collection{container-type:inline-size;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;font:14px/1.8 var(--font-family-sans,"Kodchasan",Tahoma,sans-serif);min-width:0}
.es-item{display:flex;align-items:center;gap:16px;min-width:0;padding:25px 0;border-bottom:1px solid #e1e5da;text-decoration:none;color:var(--site-ink,#234638);transition:background-color .2s,border-color .2s;position:relative}
.es-item:hover{border-color:#b49a65;background:#f5f4eb}.es-item:focus-visible{outline:2px solid #a28a50;outline-offset:4px;border-radius:6px}
.es-logo{width:64px;height:64px;flex:0 0 64px;display:grid;place-items:center;background:#f0f3e9;border:1px solid #dde4d3;border-radius:15px;overflow:hidden}
.es-logo img{display:block;width:100%;height:100%;object-fit:contain;padding:6px;background:#fffefa}
.es-monogram{font-weight:600;color:var(--site-primary,#365c44)}.es-item-copy{display:grid;gap:3px;min-width:0;flex:1;overflow-wrap:anywhere}.es-item-copy strong{font-size:14px;font-weight:600;line-height:1.7;color:var(--site-primary,#274a38)}
.es-description{color:var(--site-muted,#65745f);line-height:1.7}.es-meta{color:#8b7c59;font-size:14px}.es-layout-directory .es-meta{display:none}.es-arrow{font-size:14px;color:#9b8655;flex:none}
.es-layout-cards{gap:20px}.es-layout-cards .es-item{align-items:flex-start;flex-wrap:wrap;padding:24px;border:1px solid #dbe2d2;border-radius:var(--site-radius,12px);background:#fffefa;box-shadow:0 4px 16px #233d2f04}
.es-layout-cards .es-item:hover{background:#faf9f0;border-color:#b39a63}.es-layout-cards .es-logo{margin-bottom:5px}.es-layout-cards .es-item-copy{flex-basis:100%;order:2;gap:8px}.es-layout-cards .es-arrow{margin-left:auto}
.es-empty{padding:34px 22px;border:1px dashed #cbd6bf;border-radius:8px;text-align:center;color:#6c7e5e;background:#fafbf5;font:14px/1.8 Kodchasan,Tahoma,sans-serif}
.es-breadcrumb{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0 28px;color:#6d7b66}.es-hero{padding:32px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #c4af7a;border-bottom:1px solid #d9dfd1}.es-hero h1{font-size:14px;font-weight:600;margin:10px 0}.es-hero p{color:var(--site-muted,#687761);margin:0}.es-hero-mark{display:grid;place-items:center;width:64px;height:64px;border:1px solid #cdbf99;background:#f1efe3;color:#8b7645;border-radius:50%;flex:none}
.es-filter{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin:28px 0;padding:22px;background:#f0f2e9;border:1px solid #dde2d3;border-radius:10px}.es-filter label{display:grid;gap:7px;flex:1;min-width:min(180px,100%)}.es-filter input,.es-filter select{width:100%;max-width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #d0dac6;border-radius:6px;background:#fffefa;color:var(--site-ink,#35573e);font:inherit}.es-filter .site-action{margin:0;min-height:44px;cursor:pointer;font:inherit}
.es-results{margin-top:30px}.es-results>span{color:var(--site-muted,#748267)}.es-archive{padding-bottom:40px}.es-pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:24px;margin:30px 0;font-size:14px}.es-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.es-collection [hidden]{display:none!important}
/* Size the collection by its actual theme column, including sidebars. */
@container(max-width:900px){.es-collection{grid-template-columns:repeat(2,minmax(0,1fr))}.es-item{gap:12px}.es-logo{width:56px;height:56px;flex-basis:56px}}
@media(max-width:1000px){.es-collection{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.es-block{padding:22px 18px}.es-collection{grid-template-columns:1fr;gap:0}.es-item{padding:20px 0}.es-layout-cards{gap:14px}.es-filter{padding:18px;display:grid;grid-template-columns:1fr}.es-filter label{min-width:0}.es-hero{align-items:flex-start}.es-hero-mark{width:44px;height:44px}.es-block-heading{align-items:flex-start}.es-layout-cards .es-item{padding:20px}}
@container(max-width:560px){.es-collection{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.es-item{transition:none}}

.site-theme .es-item:hover{text-decoration:none}

/* A clear, open directory like the supplied reference. Logos keep their full artwork. */
.es-block-view-showcase .es-block-heading { flex-direction:column; text-align:center; gap:8px; margin-bottom:28px; }
.es-block-view-showcase .es-eyebrow { display:none; }
.es-block-view-showcase .es-block-heading>a { border-bottom:0; }
.es-layout-showcase { gap:12px 32px; }
.es-layout-showcase .es-item { padding:12px 8px; gap:14px; border:1px solid transparent; border-radius:12px; align-items:center; }
.es-layout-showcase .es-item:hover { background:#f5f2e8; border-color:#c5ae753d; }
.es-layout-showcase .es-logo { width:60px; height:60px; flex-basis:60px; border:0; border-radius:14px; background:#f0eee4; }
.es-layout-showcase .es-logo img { padding:0; background:transparent; }
.es-layout-showcase .es-item-copy { gap:2px; }
.es-layout-showcase :is(.es-meta,.es-arrow) { display:none; }

/* Centered seals with enough room for long Thai service names. */
.es-layout-tiles { gap:20px; }
.es-layout-tiles .es-item { flex-direction:column; padding:28px 22px; text-align:center; border:1px solid var(--site-line,#dce2d5); border-radius:var(--site-radius,12px); background:linear-gradient(160deg,#fffefa,#f6f3e8); box-shadow:0 5px 18px #273c2e05; }
.es-layout-tiles .es-logo { width:80px; height:80px; flex-basis:80px; padding:7px; border-radius:50%; background:#fffefa; border-color:#c4ac7880; box-shadow:0 0 0 5px #c4ac7810; }
.es-layout-tiles .es-logo img { border-radius:8px; }
.es-layout-tiles .es-item-copy { flex:1; width:100%; gap:7px; }
.es-layout-tiles .es-arrow { display:grid; place-items:center; width:30px; height:30px; border:1px solid #c4ac7860; border-radius:50%; }
.es-layout-tiles .es-item:hover { background:#fbf7ec; border-color:var(--site-gold,#b39a63); box-shadow:0 8px 24px #273c2e0e; }

/* A wider horizontal format for service descriptions. */
.es-layout-bands { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.es-layout-bands .es-item { padding:22px; border:1px solid var(--site-line,#dce2d5); border-left:3px solid var(--site-gold,#b39a63); border-radius:var(--site-radius,12px); background:linear-gradient(100deg,#f8f5eb,#fffefa 70%); box-shadow:0 3px 14px #273c2e04; }
.es-layout-bands .es-item:hover { background:#f2eedf; border-color:var(--site-gold,#b39a63); }
.es-layout-bands .es-arrow { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#e9dfc5; color:#534829; }
.es-layout-bands .es-logo { background:#fffefa; }

/* Dark cards keep text and hover colors independent from ordinary text links. */
.es-layout-spotlight { gap:20px; }
.es-layout-spotlight .es-item { flex-wrap:wrap; align-items:flex-start; padding:26px; background:linear-gradient(145deg,var(--site-primary,#254a38),var(--site-deep,#16362c)); border:1px solid #c8b37c80; border-radius:var(--site-radius,12px); color:#fff6df; box-shadow:0 7px 24px #172c2812; }
.es-layout-spotlight .es-logo { background:#fffefa; border-color:#e4d3a6; margin-bottom:4px; }
.es-layout-spotlight .es-item-copy { flex-basis:100%; order:2; gap:8px; padding-top:14px; border-top:1px solid #e4d3a633; }
.es-layout-spotlight .es-item-copy strong { color:#fff8e8; }
.es-layout-spotlight .es-description { color:#e4e9df; }
.es-layout-spotlight .es-meta { color:#ead7a5; }
.es-layout-spotlight .es-arrow { margin-left:auto; color:#f0d99c; border:1px solid #e4d3a64d; border-radius:50%; width:30px; height:30px; display:grid; place-items:center; }
.es-layout-spotlight .es-item:hover { background:linear-gradient(145deg,var(--site-deep,#16362c),var(--site-primary,#254a38)); border-color:#ead7a5; box-shadow:0 10px 28px #172c2824; color:#fff6df; }
.es-layout-spotlight .es-item:focus-visible { outline-color:var(--site-gold,#b39a63); }

@container (min-width:700px) {
    .es-block-view-showcase .es-block-heading { position:relative; padding-inline:125px; min-height:40px; justify-content:center; }
    .es-block-view-showcase .es-block-heading>a { position:absolute; right:0; top:50%; transform:translateY(-50%); }
}
@container (max-width:560px) {
    .es-layout-bands { grid-template-columns:1fr; }
    .es-layout-bands .es-item { padding:18px 14px; gap:12px; }
    .es-layout-bands .es-arrow { width:24px; height:24px; }
}
@media (max-width:600px) {
    .es-layout-showcase { gap:6px; }
    :is(.es-layout-tiles,.es-layout-bands,.es-layout-spotlight) { grid-template-columns:1fr; gap:14px; }
    .es-layout-showcase .es-item { padding:12px 6px; }
    .es-layout-tiles .es-item { padding:24px 18px; }
    .es-layout-spotlight .es-item { padding:22px; }
}
@media (forced-colors:active) {
    .es-collection .es-item { border:1px solid LinkText; }
    .es-collection .es-item:focus-visible { outline:2px solid Highlight; }
}
