/**
 * MLD Content Engine — enterprise guide presentation.
 *
 * Shared by every programmatic market, cost, renovation, relocation, buyer,
 * luxury, affordability, and town-comparison route on both site identities.
 */

body.mld-content-page{
    --mld-content-ink:#071a2b;
    --mld-content-ink-soft:#102b43;
    --mld-content-blue:#176bff;
    --mld-content-teal:#2dd4bf;
    --mld-content-copy:#29394a;
    --mld-content-muted:#667789;
    --mld-content-line:#d8e3e9;
    --mld-content-paper:#f1f5f7;
    background:var(--mld-content-paper);
}

.mld-content-wrap{
    width:min(calc(100% - clamp(28px,5vw,72px)),1240px);
    max-width:none;
    margin:0 auto;
    padding:calc(var(--bne-header-height,80px) + 28px) 0 clamp(72px,8vw,110px);
    color:var(--mld-content-copy);
    font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:17px;
    line-height:1.7;
}

.mld-content-crumbs{
    display:flex;
    align-items:center;
    min-height:42px;
    margin-bottom:16px;
    overflow-x:auto;
    color:#6b7c8d;
    font-size:12px;
    font-weight:650;
    white-space:nowrap;
    scrollbar-width:none;
}
.mld-content-crumbs::-webkit-scrollbar{display:none}
.mld-content-crumbs a{color:#52677b;text-decoration:none}
.mld-content-crumbs a:hover{color:var(--mld-content-blue);text-decoration:none}
.mld-content-crumbs span{margin:0 8px;color:#9caab7}

.mld-content-masthead{
    position:relative;
    padding:clamp(38px,5.5vw,72px);
    overflow:hidden;
    border-radius:28px;
    background:
        radial-gradient(circle at 92% 2%,rgba(45,212,191,.2),transparent 31%),
        radial-gradient(circle at 6% 110%,rgba(23,107,255,.22),transparent 36%),
        linear-gradient(135deg,var(--mld-content-ink) 0%,var(--mld-content-ink-soft) 68%,#17475b 100%);
    box-shadow:0 34px 78px rgba(7,26,43,.18);
    color:#fff;
}
.mld-content-hero{max-width:940px}
.mld-content-eyebrow{
    margin-bottom:18px;
    color:#76eadb;
    font-size:12px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.mld-content-hero h1{
    max-width:1000px;
    margin:0 0 18px;
    color:#fff;
    font-size:clamp(2.75rem,5vw,4.65rem);
    font-weight:800;
    letter-spacing:-.052em;
    line-height:1.02;
}
.mld-content-lead{
    max-width:760px;
    margin:0 0 18px;
    color:#d9e5ec;
    font-size:clamp(1.08rem,1.7vw,1.32rem);
    line-height:1.58;
}
.mld-content-updated{
    color:#a9bac7;
    font-size:11px;
    font-weight:750;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.mld-stat-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:1px;
    margin:clamp(34px,4vw,52px) 0 0;
    padding:1px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.16);
    border-radius:19px;
    background:rgba(255,255,255,.15);
}
.mld-stat{
    min-width:0;
    min-height:110px;
    padding:20px;
    background:rgba(5,22,39,.7);
}
.mld-stat.is-highlight{background:linear-gradient(145deg,rgba(23,107,255,.38),rgba(12,51,75,.82))}
.mld-stat .l{
    margin-bottom:9px;
    color:#9eb1bf;
    font-size:10px;
    font-weight:750;
    letter-spacing:.085em;
    line-height:1.35;
    text-transform:uppercase;
}
.mld-stat .v{
    overflow-wrap:anywhere;
    color:#fff;
    font-size:clamp(1.45rem,2.6vw,2.1rem);
    font-weight:800;
    letter-spacing:-.035em;
    line-height:1.1;
}
@media(min-width:1181px){
    .mld-stat-grid:has(.mld-stat:nth-child(5):last-child){grid-template-columns:repeat(5,minmax(0,1fr))}
    .mld-stat-grid:has(.mld-stat:nth-child(6):last-child){grid-template-columns:repeat(6,minmax(0,1fr))}
    .mld-stat-grid:has(.mld-stat:nth-child(7):last-child){grid-template-columns:repeat(7,minmax(0,1fr))}
}

.mld-content-layout{
    display:grid;
    grid-template-columns:minmax(0,820px) minmax(240px,300px);
    gap:clamp(38px,5vw,72px);
    align-items:start;
    width:min(100%,1180px);
    margin:clamp(44px,6vw,76px) auto 0;
}
.mld-content-reader{
    min-width:0;
    padding:clamp(34px,5vw,64px);
    border:1px solid var(--mld-content-line);
    border-radius:26px;
    background:#fff;
    box-shadow:0 24px 66px rgba(15,42,62,.08);
}
.mld-content-body:first-of-type h2{margin-top:0}
.mld-content-body h2{
    margin:52px 0 16px;
    color:var(--mld-content-ink);
    font-size:clamp(1.9rem,3vw,2.45rem);
    font-weight:800;
    letter-spacing:-.035em;
    line-height:1.14;
}
.mld-content-body p{margin:0 0 18px}

.mld-compare-wrap{
    max-width:100%;
    margin:0 0 30px;
    overflow-x:auto;
    border:1px solid var(--mld-content-line);
    border-radius:16px;
    background:#fff;
    -webkit-overflow-scrolling:touch;
}
.mld-compare{width:100%;border-collapse:collapse;font-size:.94em}
.mld-compare th,.mld-compare td{padding:14px 16px;text-align:left;border-bottom:1px solid #e8eff3}
.mld-compare thead th{
    background:#edf3f6;
    color:#5e7182;
    font-size:.74em;
    font-weight:750;
    letter-spacing:.065em;
    text-transform:uppercase;
}
.mld-compare thead th:not(:first-child){color:var(--mld-content-ink);font-size:.9em;letter-spacing:0;text-transform:none}
.mld-compare td:first-child,.mld-compare th:first-child{color:#627487;font-weight:650}
.mld-compare td:not(:first-child){color:var(--mld-content-ink);font-weight:750}
.mld-compare tbody tr:nth-child(even){background:#f8fafb}
.mld-compare tr:last-child td{border-bottom:0}

.mld-cta{
    display:grid;
    gap:4px;
    min-height:116px;
    margin:36px 0;
    padding:26px 28px;
    border-radius:18px;
    background:
        radial-gradient(circle at 92% 10%,rgba(45,212,191,.24),transparent 32%),
        linear-gradient(135deg,#0d3151,#176bff);
    box-shadow:0 18px 34px rgba(23,107,255,.2);
    color:#fff;
    text-decoration:none;
    transition:transform .2s ease,box-shadow .2s ease;
}
.mld-cta:hover{transform:translateY(-2px);box-shadow:0 22px 42px rgba(23,107,255,.25);color:#fff;text-decoration:none}
.mld-cta b{display:block;color:#fff;font-size:1.2em}
.mld-cta span{color:#dcecff;font-size:.94em}

.mld-faq{display:grid;gap:10px;margin:8px 0 0}
.mld-faq details{overflow:hidden;border:1px solid var(--mld-content-line);border-radius:14px;background:#fff}
.mld-faq summary{
    position:relative;
    min-height:58px;
    padding:17px 54px 17px 18px;
    color:var(--mld-content-ink);
    font-weight:700;
    cursor:pointer;
    list-style:none;
}
.mld-faq summary::-webkit-details-marker{display:none}
.mld-faq summary::after{content:"+";position:absolute;top:11px;right:17px;color:var(--mld-content-blue);font-size:26px;font-weight:400}
.mld-faq details[open] summary{border-bottom:1px solid var(--mld-content-line);background:#f7fafb}
.mld-faq details[open] summary::after{content:"–"}
.mld-faq details p{margin:0;padding:17px 18px 20px;color:#4c6072}

.mld-content-reader .bne-ad-slot,.mld-content-reader .bne-amz{width:100%;max-width:100%;overflow:hidden}
.mld-content-reader > .bne-ad-slot:first-child,.mld-content-reader > .bne-amz:first-child{margin-top:0!important}

.mld-content-rail{
    position:sticky;
    top:calc(var(--bne-header-height,80px) + 24px);
    display:grid;
    gap:18px;
}
.mld-related{
    padding:26px;
    border:1px solid var(--mld-content-line);
    border-radius:20px;
    background:#fff;
    box-shadow:0 14px 40px rgba(15,42,62,.06);
}
.mld-related h2{margin:0 0 16px;color:var(--mld-content-ink);font-size:1.1em;letter-spacing:-.02em}
.mld-related a{
    display:block;
    margin:0;
    padding:11px 0;
    border-bottom:1px solid #e8eff3;
    color:#315a77;
    font-size:.9em;
    font-weight:650;
    line-height:1.35;
    text-decoration:none;
}
.mld-related a:last-child{border-bottom:0}
.mld-related a:hover{color:var(--mld-content-blue);text-decoration:none}
.mld-content-disclaimer{
    margin:0;
    padding:20px;
    border:1px solid #dce5ea;
    border-radius:16px;
    background:rgba(255,255,255,.62);
    color:#708190;
    font-size:.74em;
    line-height:1.55;
}

.mld-content-page :focus-visible{outline:3px solid var(--mld-content-teal);outline-offset:4px}

@media(max-width:920px){
    .mld-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .mld-content-layout{grid-template-columns:minmax(0,1fr);max-width:820px}
    .mld-content-rail{position:relative;top:auto}
    .mld-related{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
    .mld-related h2{grid-column:1 / -1}
}

@media(max-width:600px){
    .mld-content-wrap{width:calc(100% - 24px);padding-top:calc(var(--bne-header-height,64px) + 18px)}
    .mld-content-crumbs{margin-bottom:10px}
    .mld-content-masthead{padding:30px 20px 22px;border-radius:21px}
    .mld-content-eyebrow{margin-bottom:14px;font-size:9.5px}
    .mld-content-hero h1{margin-bottom:15px;font-size:clamp(2.15rem,10.2vw,2.65rem);line-height:1.04}
    .mld-content-lead{margin-bottom:14px;font-size:1.02rem;line-height:1.54}
    .mld-content-updated{font-size:9.5px}
    .mld-stat-grid{margin-top:26px;border-radius:15px}
    .mld-stat{min-height:104px;padding:16px 13px}
    .mld-stat .l{font-size:8.8px}
    .mld-stat .v{font-size:1.45rem}
    .mld-content-layout{gap:22px;margin-top:28px}
    .mld-content-reader{width:calc(100% + 16px);margin-inline:-8px;padding:30px 17px 38px;border-radius:18px}
    .mld-content-body h2{margin-top:44px;font-size:clamp(1.75rem,8.5vw,2.15rem)}
    .mld-content-body p{font-size:1rem}
    .mld-compare{min-width:610px;font-size:.88em}
    .mld-compare th,.mld-compare td{padding:12px 13px}
    .mld-cta{min-height:108px;margin:30px 0;padding:22px 20px}
    .mld-faq summary{font-size:.95rem}
    .mld-related{grid-template-columns:minmax(0,1fr);padding:22px}
    .mld-content-disclaimer{padding:17px}
}

@media(prefers-reduced-motion:reduce){
    .mld-content-page *{scroll-behavior:auto!important;transition-duration:.01ms!important}
}
