/* MileMark Directory v10: firm profile page
 * Uses the same --mmd-* scheme variables as style.css, so every one of the
 * 20 schemes (and the MileMark theme's matching scheme) styles it.
 */

.mm-profile{max-width:1180px;padding:28px 24px 72px}
.mm-profile *{box-sizing:border-box}
.mm-profile svg{flex-shrink:0}

/* Breadcrumb */
.mm-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.82em;color:var(--mmd-mu);margin:0 0 22px}
.mm-crumbs a{color:var(--mmd-tx2);text-decoration:none}
.mm-crumbs a:hover{color:var(--mmd-ac)}
.mm-crumbs [aria-current]{color:var(--mmd-mu);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40ch}

/* Hero */
.mm-profile-hero{
    display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:40px;align-items:center;
    background:var(--mmd-card);border:1px solid var(--mmd-bd);border-radius:var(--mmd-radius-lg);
    padding:40px;position:relative;overflow:hidden;
}
.mm-profile-hero::before{
    content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--mmd-btn-grad);
}
.mm-profile-hero .mm-category{margin:0 0 12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mm-profile-hero .mm-dot{color:var(--mmd-mu)}
.mm-profile-hero h1{
    font-family:var(--mmd-fh);color:var(--mmd-tx);margin:0 0 18px;line-height:1.05;
    font-size:clamp(2em,4.2vw,3.2em);letter-spacing:-.03em;font-weight:600;
}
.mm-hero-facts{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.mm-hero-facts li{
    display:inline-flex;align-items:center;gap:7px;padding:7px 13px;font-size:.84em;font-weight:500;
    color:var(--mmd-tx);background:var(--mmd-al2);border:1px solid var(--mmd-bd);border-radius:var(--mmd-radius-pill);
}
.mm-hero-facts svg{color:var(--mmd-ac)}

.mm-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px}
.mm-btn-primary,.mm-btn-ghost{
    display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:var(--mmd-radius-pill);
    font-family:var(--mmd-fb);font-weight:600;font-size:.92em;text-decoration:none;line-height:1.2;
    transition:transform .15s,filter .15s,border-color .15s,color .15s;
}
.mm-btn-primary{background:var(--mmd-btn-grad);color:#fff;box-shadow:0 6px 18px var(--mmd-glow)}
.mm-btn-primary:hover{transform:translateY(-1px);filter:brightness(1.06);color:#fff}
.mm-btn-ghost{color:var(--mmd-tx);border:1px solid var(--mmd-bd);background:var(--mmd-card)}
.mm-btn-ghost:hover{border-color:var(--mmd-ac);color:var(--mmd-ac)}

.mm-social{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.mm-social a{
    width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;
    border-radius:50%;border:1px solid var(--mmd-bd);color:var(--mmd-tx2);background:var(--mmd-card);
    transition:color .15s,border-color .15s,transform .15s;
}
.mm-social a:hover{color:var(--mmd-ac);border-color:var(--mmd-ac);transform:translateY(-2px)}

.mm-hero-shot{position:relative}
.mm-hero-shot img,.mm-hero-shot .mm-placeholder-img{
    width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:top;display:block;
    border-radius:var(--mmd-radius);border:1px solid var(--mmd-bd);
    box-shadow:0 24px 48px -20px rgba(0,0,0,.35);
}
.mm-hero-shot .mm-placeholder-img{height:auto}

/* Body */
.mm-profile-body{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;margin-top:28px;align-items:start}
.mm-profile-main{display:flex;flex-direction:column;gap:28px;min-width:0}
.mm-panel{background:var(--mmd-card);border:1px solid var(--mmd-bd);border-radius:var(--mmd-radius-lg);padding:32px}
.mm-panel h2,.mm-related h2{
    font-family:var(--mmd-fh);color:var(--mmd-tx);margin:0 0 18px;font-size:1.45em;line-height:1.2;
    letter-spacing:-.02em;font-weight:600;
}
.mm-profile .mm-description{margin:0;font-size:1.02em;line-height:1.75;color:var(--mmd-tx2)}
.mm-profile .mm-description p{color:inherit;margin:0 0 1em}
.mm-profile .mm-description p:last-child{margin-bottom:0}
.mm-profile .mm-description a{color:var(--mmd-ac)}
.mm-profile .mm-description strong{color:var(--mmd-tx)}
.mm-profile .mm-description ul{margin:.5em 0 1em 1.2em;color:inherit}
.mm-profile .mm-description li{color:inherit}

.mm-practice-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.mm-practice-grid a{
    display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;
    border:1px solid var(--mmd-bd);border-radius:var(--mmd-radius);background:var(--mmd-al2);
    color:var(--mmd-tx);text-decoration:none;font-weight:500;font-size:.94em;line-height:1.3;
    transition:border-color .15s,color .15s,transform .15s;
}
.mm-practice-grid a svg{color:var(--mmd-mu);transition:color .15s,transform .15s}
.mm-practice-grid a:hover{border-color:var(--mmd-ac);color:var(--mmd-ac)}
.mm-practice-grid a:hover svg{color:var(--mmd-ac);transform:translate(2px,-2px)}

.mm-awards{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.mm-awards li{
    display:inline-flex;align-items:center;gap:8px;padding:10px 14px;font-size:.9em;font-weight:500;
    color:var(--mmd-tx);border:1px solid var(--mmd-bd);border-radius:var(--mmd-radius);background:var(--mmd-al2);
}
.mm-awards svg{color:var(--mmd-ac)}


.mm-podcast{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.mm-podcast a{
    display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:var(--mmd-radius-pill);
    border:1px solid var(--mmd-bd);color:var(--mmd-tx);text-decoration:none;font-weight:500;font-size:.92em;
}
.mm-podcast a svg{color:var(--mmd-ac)}
.mm-podcast a:hover{border-color:var(--mmd-ac);color:var(--mmd-ac)}

/* Sidebar */
.mm-profile-side{display:flex;flex-direction:column;gap:20px;position:sticky;top:24px}
.mm-side-card{background:var(--mmd-card);border:1px solid var(--mmd-bd);border-radius:var(--mmd-radius-lg);padding:24px}
.mm-side-card h3{
    font-family:var(--mmd-fb);font-size:.72em;font-weight:600;color:var(--mmd-mu);text-transform:uppercase;
    letter-spacing:.15em;margin:0 0 16px;padding:0 0 12px;border-bottom:1px solid var(--mmd-bd);
}
.mm-contact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.mm-contact-list li{display:flex;gap:12px;align-items:flex-start;font-size:.93em;line-height:1.45;color:var(--mmd-tx)}
.mm-contact-list svg{color:var(--mmd-ac);margin-top:1px}
.mm-contact-list a{color:var(--mmd-tx);text-decoration:none;word-break:break-word}
.mm-contact-list a:hover{color:var(--mmd-ac)}

.mm-legal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.mm-legal-list a{
    display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--mmd-radius);
    border:1px solid var(--mmd-bd);color:var(--mmd-tx);text-decoration:none;font-weight:500;font-size:.92em;
    transition:border-color .15s,color .15s;
}
.mm-legal-list a:hover{border-color:var(--mmd-ac);color:var(--mmd-ac)}
.mm-legal-list a > svg{margin-left:auto;color:var(--mmd-mu)}
.mm-mono{
    width:34px;height:34px;border-radius:var(--mmd-radius);display:inline-flex;align-items:center;justify-content:center;
    font-size:.72em;font-weight:700;letter-spacing:.02em;color:var(--mmd-ac);background:var(--mmd-al);flex-shrink:0;
}
.mm-legal-name{flex:1;min-width:0}

.mm-facts{margin:0;display:grid;grid-template-columns:auto 1fr;gap:10px 16px;font-size:.92em}
.mm-facts dt{color:var(--mmd-mu);font-weight:500}
.mm-facts dd{margin:0;color:var(--mmd-tx)}

/* Related */
.mm-related{margin-top:56px}
.mm-related-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:6px}
.mm-related-head a{color:var(--mmd-ac);text-decoration:none;font-weight:500;font-size:.92em}
.mm-related .mm-directory-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}

/* ---- Family touches ---- */

/* Editorial: open layout, rules instead of boxes, serif italic display */
.mm-dir-crimson-navy .mm-profile-hero,.mm-dir-slate-gold .mm-profile-hero,
.mm-dir-burgundy-brass .mm-profile-hero,.mm-dir-rose-quartz .mm-profile-hero{
    background:transparent;border:none;border-bottom:1px solid var(--mmd-bd);border-radius:0;padding:24px 0 48px;
}
.mm-dir-crimson-navy .mm-profile-hero::before,.mm-dir-slate-gold .mm-profile-hero::before,
.mm-dir-burgundy-brass .mm-profile-hero::before,.mm-dir-rose-quartz .mm-profile-hero::before{display:none}
.mm-dir-crimson-navy .mm-profile-hero h1,.mm-dir-slate-gold .mm-profile-hero h1,
.mm-dir-burgundy-brass .mm-profile-hero h1,.mm-dir-rose-quartz .mm-profile-hero h1,
.mm-dir-crimson-navy .mm-panel h2,.mm-dir-slate-gold .mm-panel h2,
.mm-dir-burgundy-brass .mm-panel h2,.mm-dir-rose-quartz .mm-panel h2,
.mm-dir-crimson-navy .mm-related h2,.mm-dir-slate-gold .mm-related h2,
.mm-dir-burgundy-brass .mm-related h2,.mm-dir-rose-quartz .mm-related h2{font-style:normal;font-weight:400}
.mm-dir-crimson-navy .mm-panel,.mm-dir-slate-gold .mm-panel,
.mm-dir-burgundy-brass .mm-panel,.mm-dir-rose-quartz .mm-panel{
    background:transparent;border:none;border-top:1px solid var(--mmd-bd);border-radius:0;padding:28px 0 0;
}

/* Soft: chunky offset shadow like the cards */
.mm-dir-forest-copper .mm-profile-hero,.mm-dir-terracotta .mm-profile-hero,.mm-dir-sage-ivory .mm-profile-hero,
.mm-dir-desert-sand .mm-profile-hero,.mm-dir-graphite-pearl .mm-profile-hero,
.mm-dir-forest-copper .mm-panel,.mm-dir-terracotta .mm-panel,.mm-dir-sage-ivory .mm-panel,
.mm-dir-desert-sand .mm-panel,.mm-dir-graphite-pearl .mm-panel,
.mm-dir-forest-copper .mm-side-card,.mm-dir-terracotta .mm-side-card,.mm-dir-sage-ivory .mm-side-card,
.mm-dir-desert-sand .mm-side-card,.mm-dir-graphite-pearl .mm-side-card{
    border:none;box-shadow:0 2px 0 var(--mmd-bd),0 6px 18px rgba(0,0,0,.04);
}
.mm-dir-forest-copper .mm-profile-hero h1,.mm-dir-terracotta .mm-profile-hero h1,.mm-dir-sage-ivory .mm-profile-hero h1,
.mm-dir-desert-sand .mm-profile-hero h1,.mm-dir-graphite-pearl .mm-profile-hero h1{font-weight:500}

/* Stripe: vivid gradient band behind the hero */
.mm-dir-charcoal-teal .mm-profile-hero,.mm-dir-ocean-breeze .mm-profile-hero,.mm-dir-arctic-steel .mm-profile-hero,
.mm-dir-cobalt-chrome .mm-profile-hero,.mm-dir-carbon-lime .mm-profile-hero{border:none;box-shadow:0 18px 50px rgba(0,0,0,.08)}
.mm-dir-charcoal-teal .mm-profile-hero::before,.mm-dir-ocean-breeze .mm-profile-hero::before,.mm-dir-arctic-steel .mm-profile-hero::before,
.mm-dir-cobalt-chrome .mm-profile-hero::before,.mm-dir-carbon-lime .mm-profile-hero::before{height:6px;background:var(--mmd-hero-grad)}
.mm-dir-charcoal-teal .mm-panel,.mm-dir-ocean-breeze .mm-panel,.mm-dir-arctic-steel .mm-panel,
.mm-dir-cobalt-chrome .mm-panel,.mm-dir-carbon-lime .mm-panel,
.mm-dir-charcoal-teal .mm-side-card,.mm-dir-ocean-breeze .mm-side-card,.mm-dir-arctic-steel .mm-side-card,
.mm-dir-cobalt-chrome .mm-side-card,.mm-dir-carbon-lime .mm-side-card{border:none;box-shadow:0 8px 30px rgba(0,0,0,.06)}

/* Linear: subtle glow on the hero */
.mm-dir-deep-blue .mm-profile-hero,.mm-dir-midnight-plum .mm-profile-hero,.mm-dir-obsidian .mm-profile-hero,
.mm-dir-noir-ember .mm-profile-hero,.mm-dir-storm-cloud .mm-profile-hero,.mm-dir-twilight-violet .mm-profile-hero{
    background-image:radial-gradient(ellipse 70% 90% at 100% 0%,var(--mmd-glow2),transparent 60%);
    background-color:var(--mmd-card);
}

/* Responsive */
@media(max-width:960px){
    .mm-profile-hero{grid-template-columns:1fr;padding:28px;gap:28px}
    .mm-hero-shot{order:-1}
    .mm-profile-body{grid-template-columns:1fr}
    .mm-profile-side{position:static}
}
@media(max-width:600px){
    .mm-profile{padding:20px 16px 56px}
    .mm-profile-hero{padding:22px}
    .mm-panel{padding:22px}
    .mm-hero-actions a{width:100%;justify-content:center}
}

/* Keep theme heading sizes/margins from leaking into the profile */
.mm-profile .mm-profile-hero h1{margin:0 0 18px!important;font-size:clamp(2em,4.2vw,3.2em)!important;line-height:1.05!important}
.mm-profile .mm-panel h2,.mm-profile .mm-related h2{margin:0 0 18px!important;font-size:1.45em!important;line-height:1.2!important}
.mm-profile .mm-related-head h2{margin:0!important}
.mm-profile .mm-side-card h3{font-size:.72em!important;line-height:1.4!important;letter-spacing:.15em!important;margin:0 0 16px!important;font-weight:600!important}

/* Top Rated badge (v11) */
.mm-rated{
    display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 18px;padding:9px 16px 9px 12px;
    border-radius:var(--mmd-radius-pill);background:var(--mmd-al2);border:1px solid var(--mmd-bd);
}
.mm-stars{display:inline-flex;gap:2px;color:#f5b301;line-height:0}
.mm-stars svg{width:17px;height:17px;filter:drop-shadow(0 1px 0 rgba(0,0,0,.08))}
.mm-rated-text{font-size:.86em;color:var(--mmd-tx2);line-height:1.3}
.mm-rated-text strong{color:var(--mmd-tx);font-weight:700;letter-spacing:.01em}
.mm-dir-crimson-navy .mm-rated,.mm-dir-slate-gold .mm-rated,.mm-dir-burgundy-brass .mm-rated,.mm-dir-rose-quartz .mm-rated{
    background:transparent;border:none;border-radius:0;padding:0;
}

/* Linked practice area and state (v13.1) */
.mm-facts dd a{color:var(--mmd-ac);text-decoration:none}
.mm-facts dd a:hover{text-decoration:underline;text-underline-offset:3px}
