/* Creative interior refinement only: row counts, rank, outer card padding and widths retained. */
.dir-refined-card .dir-card-top{border-radius:12px;background:linear-gradient(130deg,#d5e2f0 0%,#e6edf500 85%)}
.dir-refined-card .dir-card-top .dir-monogram{box-shadow:inset 0 0 0 4px #f7faff,0 6px 16px #0b22551c}
.dir-refined-card .dir-profile-intro{font-size:14px;line-height:1.55;margin:0 0 14px;color:#283e5d}
.dir-refined-card .dir-profile-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 0;border-top:1px solid #b9c9db;border-bottom:1px solid #b9c9db;margin-bottom:12px}
.dir-profile-facts>div{display:flex;flex-direction:column;gap:3px;font-size:13px;line-height:1.45}
.dir-fact-label{display:block;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#455d79;margin-bottom:4px}
.dir-refined-card .dir-tags{margin:0;gap:5px}
.dir-refined-card .dir-practice-block{margin-bottom:12px}
.dir-refined-card .dir-card-body>.dir-actions{border-top:0;padding-top:0}
.dir-premier .dir-refined-card .dir-profile-intro{font-size:15px}
@media(min-width:1101px){.dir-premier .dir-refined-card .dir-card-top{align-self:stretch;padding:18px 12px}.dir-premier .dir-refined-card{column-gap:40px;row-gap:26px}.dir-premier .dir-refined-card .dir-profile-facts{padding:8px 0}.dir-premier .dir-refined-card .dir-profile-intro{margin-bottom:10px}}
@media(max-width:767px){.dir-refined-card .dir-profile-facts{grid-template-columns:1fr 1fr}.dir-refined-card .dir-profile-intro{font-size:14px}}

/* Premier portraits: keep the existing left column and all other tiers intact. */
.dir-premier .dir-card-top:has(.dir-monogram img){flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:16px;}
.dir-premier .dir-card-top .dir-monogram:has(img){width:150px;height:150px;flex:0 0 150px;}
@media(max-width:767px){.dir-premier .dir-card-top .dir-monogram:has(img){width:140px;height:140px;flex-basis:140px;}}

/* Integrated Premier sponsorship tab frees the portrait column's top row. */
.dir-premier .dir-card{position:relative;}
.dir-premier .dir-card>.dir-sponsored{position:absolute;top:-14px;right:24px;z-index:1;margin:0;padding:5px 16px;border:2px solid #fff;border-radius:7px 7px 12px 12px;background:#0b2255;color:#fff;font-size:11px;letter-spacing:.06em;box-shadow:0 3px 8px #0b22551a;}
.dir-premier .dir-card-top .dir-monogram:has(img){width:180px;height:180px;flex-basis:180px;}
@media(max-width:767px){.dir-premier .dir-card>.dir-sponsored{right:18px;}.dir-premier .dir-card-top .dir-monogram:has(img){width:160px;height:160px;flex-basis:160px;}}

/* A consistent Premier identity column and a compact, vertically balanced detail group. */
.dir-premier .dir-card-top{flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:16px;}
.dir-premier .dir-card-top .dir-monogram{width:180px;height:180px;flex:0 0 180px;font-size:62px;}
.dir-premier .dir-card-body{align-self:center;flex:0 1 auto;}
.dir-premier .dir-card-body>.dir-actions{margin-top:8px;}
@media(max-width:767px){.dir-premier .dir-card-top .dir-monogram{width:160px;height:160px;flex-basis:160px;font-size:54px;}}

/* Sponsored-position styling applies equally to paid and complimentary cards. */
.dir-refined-card .dir-profile-intro{color:#18365b;font-weight:600;}
.dir-refined-card .dir-profile-facts{border-top-color:#a5b9d0;border-bottom-color:#a5b9d0;background:linear-gradient(90deg,#f8fbff99,#f8fbff00);}
.dir-refined-card .dir-profile-facts>div>span:last-child{color:#12345a;font-weight:700;}
.dir-refined-card .dir-fact-label{color:#53677e;font-weight:700;letter-spacing:.1em;}
.dir-refined-card .dir-tags li{color:#193c63;font-weight:700;background:#f5f9fe;border-color:#b8cbe0;}
.dir-refined-card .dir-firm{color:#334f71;font-weight:600;}

/* Reserve the exact badge footprint in smaller sponsored-position rows.
   Premier badges are positioned on the border and need no interior spacer. */
:is(.dir-featured,.dir-priority) .dir-refined-card:not(:has(>.dir-sponsored))::before{
 content:"";display:block;flex:0 0 26.5px;height:26.5px;width:1px;margin-bottom:18px;
}

/* Same-tier Premier listings share a row when card width permits. */
.dir-premier .dir-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));}
.dir-premier .dir-cards:has(>.dir-card:nth-child(2))>.dir-card{grid-template-columns:1fr;gap:22px;padding:28px;align-content:start;}
.dir-premier .dir-cards:has(>.dir-card:nth-child(2)) .dir-card-top{align-self:stretch;padding:18px 12px;}
.dir-premier .dir-cards:has(>.dir-card:nth-child(2)) .dir-card-body{align-self:stretch;}
@media(max-width:767px){.dir-premier .dir-cards{grid-template-columns:1fr}.dir-premier .dir-cards:has(>.dir-card:nth-child(2))>.dir-card{padding:23px;}}

/* Consistent sponsorship tabs across all paid-placement tiers. */
:is(.dir-premier,.dir-featured,.dir-priority) .dir-card{position:relative;border-top-width:4px;border-top-style:solid;}
.dir-priority .dir-card{border-top-color:#287b7b;}
:is(.dir-premier,.dir-featured,.dir-priority) .dir-card>.dir-sponsored{position:absolute;top:-14px;right:24px;z-index:1;margin:0;padding:5px 16px;border:2px solid #fff;border-radius:7px 7px 12px 12px;background:#0b2255;color:#fff;font-size:11px;line-height:1.5;letter-spacing:.06em;box-shadow:0 3px 8px #0b22551a;}
:is(.dir-featured,.dir-priority) .dir-refined-card:not(:has(>.dir-sponsored))::before{content:none;display:none;}
@media(max-width:767px){:is(.dir-premier,.dir-featured,.dir-priority) .dir-card>.dir-sponsored{right:18px;}}

/* Tier-matched sponsorship color and proportional tab scale. */
.dir-premier .dir-card>.dir-sponsored{background:#0b2255;font-size:11px;padding:5px 16px;top:-14px;right:24px;}
.dir-featured .dir-card>.dir-sponsored{background:#bc1020;font-size:10px;padding:4px 13px;top:-13px;right:20px;}
.dir-priority .dir-card>.dir-sponsored{background:#287b7b;font-size:10px;padding:3px 11px;top:-12px;right:18px;}
@media(max-width:767px){.dir-premier .dir-card>.dir-sponsored{right:18px}.dir-featured .dir-card>.dir-sponsored{right:16px}.dir-priority .dir-card>.dir-sponsored{right:16px}}

/* Restrained metallic tier accents; no change to placement or card surfaces. */
.dir-premier{--tier-metal:#c5b78e}.dir-featured{--tier-metal:#aabbd0}.dir-priority{--tier-metal:#bb9d96}
:is(.dir-premier,.dir-featured,.dir-priority) .dir-card{border-top-color:var(--tier-metal)}
:is(.dir-premier,.dir-featured,.dir-priority) .dir-card>.dir-sponsored{background:var(--tier-metal);color:#17263c}

/* Single-card enhanced rows use the same identity/detail balance as Premier.
   Only-child is deliberate: multi-card tiers retain their established layout. */
.dir-featured{--single-portrait:156px;--single-initials:54px}
.dir-priority{--single-portrait:136px;--single-initials:46px}
:is(.dir-featured,.dir-priority) .dir-cards>.dir-refined-card:only-child .dir-card-top{
 flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:14px;padding:18px 12px;margin:0;
}
:is(.dir-featured,.dir-priority) .dir-cards>.dir-refined-card:only-child .dir-monogram{
 width:var(--single-portrait);height:var(--single-portrait);flex:0 0 var(--single-portrait);font-size:var(--single-initials);
}
:is(.dir-featured,.dir-priority) .dir-cards>.dir-refined-card:only-child .dir-card-body{align-self:center;flex:0 1 auto;width:100%}
:is(.dir-featured,.dir-priority) .dir-cards>.dir-refined-card:only-child .dir-actions{margin-top:8px}
@media(min-width:1101px){
 :is(.dir-featured,.dir-priority) .dir-cards>.dir-refined-card:only-child{display:grid;grid-template-columns:.85fr 1.4fr;column-gap:40px;row-gap:22px}
 :is(.dir-featured,.dir-priority) .dir-cards>.dir-refined-card:only-child .dir-card-top{align-self:stretch}
 :is(.dir-featured,.dir-priority) .dir-cards>.dir-refined-card:only-child .dir-profile-facts{padding:8px 0}
 :is(.dir-featured,.dir-priority) .dir-cards>.dir-refined-card:only-child .dir-profile-intro{margin-bottom:10px}
}
@media(max-width:1100px){
 :is(.dir-featured,.dir-priority) .dir-cards>.dir-refined-card:only-child{gap:22px}
}
@media(max-width:767px){
 .dir-featured{--single-portrait:140px;--single-initials:48px}
 .dir-priority{--single-portrait:120px;--single-initials:42px}
}

/* A quieter introductory paragraph, shared by both directory languages. */
.dir-hero .dir-intro{font-size:16px;}
