/* Market page v2 components (Baltimore City + Baltimore County redesign, Aug 2026).
   Matched against the Figma "Location Pages Pimlico Website" file; shares tokens with
   state-page.css. Only these two pages use it. */

/* ---- Hero ---- */
.mv2-hero { background:#1c2a34; padding:64px max(32px, calc((100% - 1160px) / 2)) 72px; }
.mv2-hero-inner { max-width:1160px; margin:0 auto; display:grid; grid-template-columns:1fr 380px; gap:56px; align-items:center; }
.mv2-badge { display:inline-block; font-size:11.5px; font-weight:700; letter-spacing:2px; text-transform:uppercase; padding:7px 16px; border-radius:999px; margin-bottom:18px; color:var(--green); border:1.5px solid rgba(102,204,51,0.55); background:rgba(102,204,51,0.12); }
.mv2-hero h1 { font-size:52px; font-weight:800; line-height:1.08; letter-spacing:-0.015em; color:#fff; margin-bottom:20px; }
.mv2-hero-lede { font-size:16px; color:#b9c1c9; line-height:1.65; margin-bottom:16px; max-width:560px; }
.mv2-hero-ctas { display:flex; gap:12px; flex-wrap:wrap; margin-top:26px; }
.mv2-cta-blue { display:inline-flex; align-items:center; justify-content:center; font-size:14px; font-weight:700; color:#fff; background:var(--blue); border-radius:6px; padding:13px 22px; transition:background 0.15s; }
.mv2-cta-blue:hover { background:#1176dc; }
.mv2-cta-phone { display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:700; color:#fff; border:1.5px solid rgba(255,255,255,0.85); border-radius:6px; padding:12px 20px; transition:background 0.15s; }
.mv2-cta-phone:hover { background:rgba(255,255,255,0.1); }
.mv2-hero-photo { width:380px; height:360px; border-radius:24px; overflow:hidden; justify-self:end; }
.mv2-hero-photo img { width:100%; height:100%; object-fit:cover; display:block; }

/* ---- Stats band (overrides on state-stats) ---- */
.mv2-stats .state-stat { padding:30px 20px; border-right:none; }
.mv2-stats .state-stat-n { font-size:40px; }
.mv2-stats .state-stat-l { font-size:12px; letter-spacing:1px; margin-top:6px; }

/* ---- At a glance: map + area table ---- */
.mv2-glance { display:grid; gap:44px; align-items:start; margin-top:8px; }
.mv2-glance.map-left { grid-template-columns:316px 1fr; }
.mv2-glance.map-right { grid-template-columns:1fr 356px; }
.mv2-map img, .mv2-map svg { width:100%; height:auto; display:block; }
.mv2-area-table { width:100%; border-collapse:collapse; }
.mv2-area-table th { text-align:left; font-size:13px; font-weight:700; color:var(--navy); background:#ececec; padding:8px 12px; }
.mv2-area-table td { padding:14px 12px; border-bottom:1px solid #e3e6e8; vertical-align:top; }
.mv2-area-table td.area { font-size:13px; font-weight:700; letter-spacing:0.3px; text-transform:uppercase; color:var(--blue); white-space:nowrap; padding-right:24px; }
.mv2-area-table td.find { font-size:14px; color:#33414c; line-height:1.5; }

/* ---- Strategy cards ---- */
.mv2-strats { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.mv2-strat { background:linear-gradient(160deg, #58b82a 0%, #3f9718 100%); border-radius:14px; padding:28px 28px 26px; color:#fff; display:flex; flex-direction:column; }
.mv2-strat h3 { font-size:22px; font-weight:800; margin-bottom:4px; color:#fff; }
.mv2-strat .path { font-size:13.5px; font-weight:700; margin-bottom:14px; color:rgba(255,255,255,0.95); }
.mv2-strat ul { list-style:none; padding:0; margin:0 0 22px; flex:1; }
.mv2-strat li { font-size:13.5px; line-height:1.6; padding:4px 0 4px 16px; position:relative; color:rgba(255,255,255,0.95); }
.mv2-strat li::before { content:''; position:absolute; left:0; top:13px; width:5px; height:5px; border-radius:50%; background:rgba(255,255,255,0.9); }
.mv2-strat-cta { display:inline-block; align-self:flex-start; font-size:13px; font-weight:700; color:#fff; border:1.5px solid rgba(255,255,255,0.9); border-radius:7px; padding:10px 16px; transition:background 0.15s; }
.mv2-strat-cta:hover { background:rgba(255,255,255,0.14); }


/* centered section headers (strategy + funded, per design) */
.mv2-center { text-align:center; }
.mv2-center .section-sub { margin-left:auto; margin-right:auto; }
.mv2-center .p-eyebrow, .mv2-center .p-eyebrow-white { margin-left:auto; margin-right:auto; }

/* ---- Local rules ---- */
.mv2-rules { display:grid; grid-template-columns:1.35fr 0.65fr; gap:56px; align-items:start; margin-top:30px; }
.mv2-rules-list { list-style:none; padding:0; margin:0; }
.mv2-rules-list li { display:flex; gap:16px; align-items:flex-start; padding:18px 0; border-bottom:1px solid #e8eaec; }
.mv2-rules-list li:first-child { padding-top:4px; }
.mv2-rules-list li:last-child { border-bottom:none; }
.mv2-check { flex-shrink:0; width:26px; height:26px; border-radius:50%; background:#119bff; color:#fff; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; margin-top:2px; }
.mv2-rule-head { font-size:15.5px; font-weight:700; color:var(--navy); }
.mv2-rule-body { display:block; font-size:14.5px; font-weight:400; color:var(--slate); margin-top:4px; line-height:1.6; }
.mv2-aside { background:var(--navy); border-radius:12px; padding:26px 26px 24px; }
.mv2-aside-links { list-style:none; padding:0; margin:0 0 26px; }
.mv2-aside-links li { padding:12px 0; border-bottom:1px solid rgba(255,255,255,0.14); display:flex; gap:12px; align-items:flex-start; }
.mv2-aside-links li:first-child { padding-top:2px; }
.mv2-aside-links .mv2-check { width:22px; height:22px; font-size:11px; background:var(--green); color:#fff; margin-top:0; }
.mv2-aside-links a { font-size:13.5px; font-weight:600; color:#4da3f7; line-height:1.45; }
.mv2-aside-links a:hover { color:#7db9f5; }
.mv2-aside-btn { display:block; text-align:center; font-size:13.5px; font-weight:700; color:#fff; background:var(--green); border-radius:8px; padding:12px 16px; transition:background 0.15s; }
.mv2-aside-btn:hover { background:#55bb22; }

/* ---- Recently funded ---- */
.mv2-funded { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:40px; }
@media (min-width: 1260px) { .mv2-funded { gap:53px; margin-left:-32px; margin-right:-32px; } }
.mv2-deal { display:flex; flex-direction:column; }
.mv2-deal-photo { position:relative; border-radius:12px; overflow:hidden; }
.mv2-deal-photo > img { width:100%; height:auto; display:block; }
.mv2-deal-tag { position:absolute; top:12px; right:12px; background:#4353ff; color:#FFFFFF; font-size:18px; font-weight:600; padding:8px 14px; border-radius:6px; }
.mv2-deal-row { display:flex; justify-content:space-between; align-items:flex-end; gap:12px; margin-top:14px; }
.mv2-deal-amt { font-size:40px; font-weight:700; color:#FFFFFF; line-height:1.1; }
.mv2-deal-loc { font-size:16px; font-weight:400; color:#B0B0B0; margin-top:4px; }
.mv2-deal-type { font-size:20px; font-weight:600; color:#FFFFFF; text-align:right; }
.mv2-deal-kind { font-size:16px; font-weight:500; color:#B0B0B0; margin-top:4px; text-align:right; }


/* funded-card chips + kind icons (per design) */
.mv2-chip { position:absolute; bottom:14px; left:16px; white-space:nowrap; display:inline-flex; align-items:center; gap:9px; border-radius:999px; padding:9px 25px; font-size:18px; font-weight:500; }
.mv2-chip img { flex:none; display:block; }
.mv2-chip-ltv { background:#e9f9e9; color:#1c9440; }
.mv2-chip-portfolio { background:#e7e6fd; color:#4353ff; }
.mv2-chip-brrrr { background:#d9edfd; color:#1c87e0; }
.mv2-chip-constr { background:#fde4e1; color:#e04444; }
.mv2-deal-kind img { vertical-align:-3px; margin-right:6px; }

#recently-funded .p-eyebrow-white { color:#66CC33 !important; }
#recently-funded .section-sub { color:#FFFFFF !important; }

/* ---- FAQ full width ---- */
.mv2-faq .faq-wrap { max-width:none; }

/* ---- Explore other markets ---- */
.mv2-markets { font-size:15px; line-height:2.3; color:var(--mist); }
.mv2-markets a { font-weight:700; color:var(--blue); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1.5px; }
.mv2-markets a:hover { color:#1176dc; text-decoration:underline; }
.mv2-markets .sep { margin:0 11px; color:#c6ccd1; }

/* ---- Blog browse button ---- */
.mv2-browse { display:block; text-align:center; font-size:15px; font-weight:700; color:#fff; background:var(--green); border-radius:8px; padding:15px 16px; margin-top:28px; transition:background 0.15s; }
.mv2-browse:hover { background:#55bb22; }

/* ---- CTA band ---- */
.mv2-cta { position:relative; overflow:hidden; background:#141d24; padding:88px max(32px, calc((100% - 1160px) / 2)); text-align:center; }
.mv2-cta::before { content:""; position:absolute; left:-180px; top:-40px; width:520px; height:520px; border-radius:50%; background:#71b941; opacity:0.95; transform:translateX(-38%); }
.mv2-cta::after { content:""; position:absolute; left:-260px; bottom:-180px; width:420px; height:420px; border-radius:50%; background:#5da332; }
.mv2-cta-inner { position:relative; z-index:1; max-width:760px; margin:0 auto; }
.mv2-cta-kicker { font-size:13px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:var(--green); margin-bottom:14px; }
.mv2-cta h2 { font-size:40px; font-weight:800; letter-spacing:-0.015em; color:#fff; margin-bottom:14px; }
.mv2-cta p { font-size:16px; color:rgba(255,255,255,0.75); margin-bottom:30px; }
.mv2-cta-btn { display:inline-block; font-size:15px; font-weight:700; color:#fff; background:var(--blue); border-radius:999px; padding:15px 34px; transition:background 0.15s; }
.mv2-cta-btn:hover { background:#1176dc; }

@media (max-width: 960px) {
  .mv2-hero-inner { grid-template-columns:1fr; }
  .mv2-hero h1 { font-size:36px; }
  .mv2-hero-photo { width:100%; max-width:380px; justify-self:start; height:300px; }
  .mv2-glance.map-left, .mv2-glance.map-right { grid-template-columns:1fr; }
  .mv2-glance.map-right .mv2-map { order:-1; }
  .mv2-map { max-width:420px; }
  .mv2-strats { grid-template-columns:1fr; }
  .mv2-rules { grid-template-columns:1fr; gap:36px; }
  .mv2-funded { grid-template-columns:1fr; max-width:460px; margin-left:auto; margin-right:auto; }
  .mv2-area-table td.area { white-space:normal; }
  .mv2-cta h2 { font-size:30px; }
  .mv2-cta::before, .mv2-cta::after { opacity:0.5; }
}
