/* Editorial directory cards: restrained imagery, clear hierarchy, no placeholder covers. */
.vendor-grid:has(>.directory-vendor){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
.directory-vendor{position:relative;isolation:isolate;min-width:0;overflow:hidden;border:1px solid #403724;border-radius:5px;background:#10100e;box-shadow:none;transition:border-color .2s,background .2s}
.directory-vendor:before{content:'';position:absolute;right:0;top:0;width:65px;height:1px;background:linear-gradient(90deg,transparent,#b89b58);opacity:.65;pointer-events:none}
.directory-vendor:after{content:'';position:absolute;z-index:-1;right:-50px;bottom:-60px;width:190px;height:190px;border:1px solid #ad8c3a09;transform:rotate(40deg);pointer-events:none}
.directory-vendor[data-card-pattern="1"]:after{right:-105px;bottom:65px;transform:rotate(24deg);width:210px;height:210px;border-color:#ad8c3a0d}
.directory-vendor[data-card-pattern="2"]:after{right:20px;bottom:-140px;width:290px;height:290px;transform:rotate(58deg)}
.directory-vendor[data-card-pattern="3"]:after{right:-105px;bottom:-75px;width:240px;height:240px;transform:rotate(12deg)}
.directory-vendor:hover{border-color:#947644;background:#13120f}
.directory-vendor .vendor-card-content{position:relative;display:flex;flex-direction:column;padding:24px 24px 0;min-width:0}
.editorial-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 23px;min-height:24px}
.editorial-category{display:flex;align-items:center;gap:9px;max-width:calc(100% - 40px);color:#b69a5f;font-size:7px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase;line-height:1.8}
.editorial-category>span{display:inline-flex;flex-shrink:0}.editorial-category svg{width:18px;height:18px;stroke-width:1.1}
.editorial-card-top .supplier-save{border:0;background:none;padding:3px;width:28px;min-height:28px;height:28px;color:#c0a163;flex-shrink:0;border-radius:0}
.editorial-card-top .supplier-save span{display:none}.editorial-card-top .supplier-save svg{width:18px;height:18px;stroke-width:1.25}
.editorial-card-top .supplier-save:hover{color:#f0d89c}.editorial-card-top .supplier-save[aria-pressed=true]{background:none}.editorial-card-top .supplier-save[aria-pressed=true] svg{fill:#d6af5360}
.editorial-identity{display:flex;justify-content:space-between;align-items:start;gap:18px;min-height:91px;margin-bottom:17px}
.editorial-identity>div{min-width:0;flex:1}
.directory-vendor h3{font-family:var(--serif);font-size:29px;font-weight:500;line-height:1.05;letter-spacing:-.25px;margin:0 0 13px;color:#eee1c6;overflow-wrap:anywhere;text-wrap:pretty}
.directory-vendor h3 a{color:inherit}.directory-vendor h3 a:hover{color:#ebc778}
.editorial-location{display:flex;align-items:start;gap:6px;color:#a99a7c;font:400 9px/1.7 var(--sans);margin:0}
.editorial-location svg{height:12px;width:12px;margin-top:2px;flex-shrink:0;stroke-width:1.2}.editorial-location span{overflow-wrap:anywhere}
.editorial-thumbnail{display:block;width:105px;height:83px;flex:0 0 105px;overflow:hidden;border:1px solid #67512d;background:#1a1811;border-radius:2px;position:relative}
.editorial-thumbnail img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .2s,transform .4s;filter:saturate(.72) brightness(.9)}
.editorial-thumbnail img.card-image-loaded{opacity:1}.editorial-thumbnail:hover img{transform:scale(1.045);filter:saturate(.9) brightness(.98)}
.directory-vendor .vendor-description{font-size:10px;font-weight:400;line-height:1.9;color:#b2aa9b;margin:0 0 18px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:38px}
.editorial-service-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 8px;color:#99886a;font-size:8px;font-weight:400;line-height:1.9;margin-bottom:18px}
.editorial-service-line i{font-style:normal;color:#5c4d30;font-size:8px}.editorial-more{color:#c3a568;white-space:nowrap}
.editorial-work-row{margin-top:auto;border-top:1px solid #302a1e;padding:14px 0 15px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.editorial-work-link{font-size:9px;color:#c6ac76;display:inline-flex;gap:13px;align-items:center;line-height:1.6}.editorial-work-link:hover{color:#f0d697;text-decoration:underline;text-underline-offset:4px}
.editorial-coverage,.editorial-listing-type{font-size:7px;letter-spacing:.1px;color:#7e7565;text-align:right;line-height:1.5}
.directory-vendor .editorial-card-bottom{margin:0 -24px;padding:0 24px;border:0;border-top:1px solid #403522;display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:62px;background:#0b0b091f}
.editorial-profile-link{display:inline-flex;align-items:center;gap:24px;font-size:10px;font-weight:500;color:#d8ba79;white-space:nowrap}.editorial-profile-link>span{font-size:19px;font-weight:300;line-height:1}.editorial-profile-link:hover{color:#f0d9a2}
.editorial-secondary-actions{display:flex;align-items:center;gap:17px;min-width:0}
.editorial-secondary-actions .text-button{font-size:8px;font-weight:400;color:#9c8c6b;line-height:1.7;padding:0;white-space:nowrap}
.editorial-secondary-actions .text-button:hover{color:#e1c78f}.directory-vendor .editorial-secondary-actions .planner-card-compare{margin:0;align-self:auto}.planner-card-compare>span{font-size:13px;margin-left:3px}
.supplier-editorial-interlude{grid-column:1/-1;display:grid;grid-template-columns:180px minmax(0,1fr);min-height:180px;background:#0d0d0b;border-block:1px solid #584625;position:relative;overflow:hidden;margin:10px 0 12px}
.editorial-interlude-image{position:relative;min-width:0;overflow:hidden}
.editorial-interlude-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 50%,#0d0d0b);pointer-events:none}
.editorial-interlude-image img{height:100%;width:100%;position:absolute;inset:0;object-fit:cover;filter:saturate(.65) brightness(.75)}
.editorial-interlude-image>span{position:absolute;bottom:10px;left:12px;right:12px;z-index:1;font-size:4px;letter-spacing:.65px;color:#cdb98b}
.supplier-editorial-interlude>div:last-child{padding:26px 32px 25px 25px;align-self:center;position:relative}
.supplier-editorial-interlude .eyebrow{font-size:6px;letter-spacing:1.7px;margin:0 0 10px;color:#ac8e4c}
.supplier-editorial-interlude h3{font:500 28px/1.06 var(--serif);color:#e3cb98;margin:0 0 12px;max-width:430px}
.supplier-editorial-interlude p:not(.eyebrow){font-size:9px;line-height:1.9;color:#a99c83;max-width:460px;margin:0 0 13px}
.supplier-editorial-interlude .text-link{font-size:8px;gap:16px;color:#c5a96b}
@media(min-width:1500px){.directory-vendor h3{font-size:31px}.editorial-thumbnail{width:115px;height:90px;flex-basis:115px}}
@media(max-width:1100px) and (min-width:761px){.directory-vendor .vendor-card-content{padding:21px 19px 0}.directory-vendor .editorial-card-bottom{margin:0 -19px;padding:0 19px;gap:10px}.directory-vendor h3{font-size:26px}.editorial-identity{gap:12px}.editorial-thumbnail{width:77px;height:72px;flex-basis:77px}.editorial-profile-link{gap:12px;font-size:9px}.editorial-secondary-actions{gap:11px}.editorial-secondary-actions .text-button{font-size:7px}.supplier-editorial-interlude{grid-template-columns:140px minmax(0,1fr)}.supplier-editorial-interlude>div:last-child{padding:24px 20px 24px 15px}}
@media(max-width:760px){.vendor-grid:has(>.directory-vendor){grid-template-columns:1fr;gap:15px}.directory-vendor .vendor-card-content{padding:23px 23px 0}.directory-vendor h3{font-size:31px}.editorial-card-top{margin-bottom:20px}.editorial-category{font-size:7px}.editorial-identity{min-height:82px;gap:17px;margin-bottom:13px}.editorial-thumbnail{width:100px;height:81px;flex-basis:100px}.directory-vendor .vendor-description{font-size:10px;line-height:1.9;min-height:38px;margin-bottom:17px}.editorial-service-line{font-size:8px;margin-bottom:17px}.editorial-location{font-size:9px}.directory-vendor .editorial-card-bottom{margin:0 -23px;padding:0 23px;min-height:62px}.editorial-profile-link{font-size:10px;gap:24px}.editorial-secondary-actions{gap:18px}.editorial-secondary-actions .text-button{font-size:8px}.editorial-work-link{font-size:9px}.supplier-editorial-interlude{grid-template-columns:105px minmax(0,1fr);min-height:210px;margin:8px 0}.supplier-editorial-interlude>div:last-child{padding:22px 19px 22px 13px}.supplier-editorial-interlude h3{font-size:26px}.supplier-editorial-interlude p:not(.eyebrow){font-size:9px}.editorial-interlude-image>span{font-size:3px;left:6px;right:6px;line-height:1.8}}
@media(max-width:370px){.directory-vendor .vendor-card-content{padding:21px 18px 0}.directory-vendor .editorial-card-bottom{margin:0 -18px;padding:0 18px}.editorial-thumbnail{width:82px;height:74px;flex-basis:82px}.directory-vendor h3{font-size:28px}.editorial-secondary-actions{gap:12px}.editorial-profile-link{gap:14px}.editorial-category{font-size:6px;letter-spacing:.9px}}
@media(prefers-reduced-motion:reduce){.directory-vendor,.editorial-thumbnail img{transition:none}.editorial-thumbnail:hover img{transform:none}}
/* Keep the smaller details readable within the editorial hierarchy. */
.editorial-category{font-size:8px}.editorial-location{font-size:10px}.directory-vendor .vendor-description{font-size:11px;min-height:42px}.editorial-service-line{font-size:9px}.editorial-work-link{font-size:10px}.editorial-coverage,.editorial-listing-type{font-size:8px}.editorial-profile-link{font-size:11px}.editorial-secondary-actions .text-button{font-size:9px}
@media(max-width:1100px) and (min-width:761px){.editorial-category{font-size:7px}.editorial-location{font-size:9px}.editorial-secondary-actions .text-button{font-size:8px}.editorial-profile-link{font-size:10px}}
@media(max-width:760px){.editorial-category{font-size:8px}.editorial-location{font-size:10px}.directory-vendor .vendor-description{font-size:11px}.editorial-work-link{font-size:10px}.editorial-profile-link{font-size:11px}.editorial-secondary-actions .text-button{font-size:9px}}

/* One global search; location refinement stays with supplier results. */
.directory-search{grid-template-columns:minmax(0,1fr) auto;align-items:end}
.directory-search .field{min-width:0}
.directory-search-submit{height:47px;white-space:nowrap}
.supplier-search-context{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid #3d3321;font-size:11px;color:#c7b58e}
.supplier-search-context strong{color:#e3cb98;overflow-wrap:anywhere}
.supplier-search-context .text-button{flex-shrink:0;font-size:10px}
@media(max-width:760px){.directory-search{grid-template-columns:1fr}.directory-search-submit{width:100%}.supplier-search-context{font-size:10px}}
