/* ============================================================
   Map Search — Case Study
   map-search.css  (extends case-study-v2.css)
   Accent: yellow
   ============================================================ */

/* ----- yellow accent overrides ----- */
.cs2-ms .head-eyebrow .dot{background:var(--yellow)}
.cs2-ms .head-project{color:#7a5c00}
.cs2-ms .head-project::before{background:var(--yellow)}
.cs2-ms .stat .sn{color:#7a5c00}
.cs2-ms .gd{background:var(--yellow)}

/* ----- image placeholder blocks ----- */
.ms-placeholder{
  background:var(--cream-2);
  border:2px dashed rgba(36,20,8,.2);
  border-radius:12px;
  display:grid;
  place-items:center;
  text-align:center;
  gap:8px;
  padding:36px 24px;
}
.ms-ph-label{
  font-family:var(--font-grotesk);font-weight:800;font-size:12px;
  letter-spacing:.16em;text-transform:uppercase;color:rgba(36,20,8,.38);display:block;
}
.ms-ph-sub{
  font-family:var(--font-grotesk);font-size:13px;
  color:rgba(36,20,8,.28);display:block;
}
.ms-ph-portrait{aspect-ratio:9/17;max-width:260px;margin:0 auto}
.ms-ph-wide{aspect-ratio:16/7}
.ms-ph-landscape{aspect-ratio:4/3}

/* ----- §03 insight card grid ----- */
.ms-insight-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:18px;
}
.ms-insight-card{
  background:var(--cream-2);border:2.5px solid var(--ink);border-radius:14px;
  padding:26px 28px;box-shadow:4px 5px 0 rgba(36,20,8,.14);
}
.ms-insight-card .ic-num{
  font-family:var(--font-grotesk);font-weight:900;font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;color:rgba(36,20,8,.36);margin-bottom:12px;
}
.ms-insight-card h4{
  font-family:var(--font-grotesk);font-weight:800;font-size:clamp(17px,1.5vw,21px);
  color:var(--ink);margin:0 0 10px;line-height:1.18;
}
.ms-insight-card p{
  font-size:15.5px;line-height:1.62;color:var(--ink-soft);margin:0;
}

/* ----- §04 map states grid (on dark) ----- */
.ms-states-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:18px;
}
.ms-state-card{
  background:rgba(247,241,225,.06);border:1.5px solid rgba(247,241,225,.18);
  border-radius:14px;padding:26px 28px;
}
.ms-state-cond{
  display:inline-flex;align-items:center;gap:6px;margin-bottom:14px;
  font-family:var(--font-grotesk);font-weight:800;font-size:11px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--yellow);
  background:rgba(247,207,46,.12);border:1px solid rgba(247,207,46,.28);
  border-radius:999px;padding:4px 11px;
}
.ms-state-card h4{
  font-family:var(--font-grotesk);font-weight:800;font-size:clamp(17px,1.5vw,21px);
  color:var(--cream);margin:0 0 10px;line-height:1.22;
}
.ms-state-card p{
  font-size:15.5px;line-height:1.62;color:rgba(247,241,225,.72);margin:0;
}

/* ----- §05 recommendation list ----- */
.ms-rec-list{list-style:none;padding:0;margin:18px 0 0;border-top:3px solid var(--ink)}
.ms-rec-item{
  display:grid;grid-template-columns:28px 1fr;gap:24px;align-items:start;
  padding:30px 0;border-bottom:2px solid var(--line);
}
.ms-rec-item:last-child{border-bottom:3px solid var(--ink)}
.ms-rec-n{
  font-family:var(--font-grotesk);font-weight:900;font-size:13px;
  letter-spacing:.06em;color:rgba(36,20,8,.32);padding-top:4px;
}
.ms-rec-body h4{
  font-family:var(--font-grotesk);font-weight:800;font-size:clamp(17px,1.5vw,20px);
  color:var(--ink);margin:0 0 7px;line-height:1.2;
}
.ms-rec-body p{
  font-size:15.5px;line-height:1.62;color:var(--ink-soft);margin:0;max-width:56ch;
}

/* ----- hero mockup group: center in right column, note anchors to mockup ----- */
.ms-hero-wrap{width:fit-content;margin:0 auto}

/* ----- responsive ----- */
@media(max-width:900px){
  /* mockup below intro text on mobile — overrides case-study-v2.css order:-1 */
  .cs2-ms .head-shot{order:1}
  .ms-hero-wrap{width:100%;max-width:360px;overflow:hidden}
}
@media(max-width:820px){
  .ms-insight-grid{grid-template-columns:1fr}
  .ms-states-grid{grid-template-columns:1fr}
  .ms-ph-portrait{max-width:200px}
}
@media(max-width:480px){
  .ms-insight-card,.ms-state-card{padding:18px 20px}
  .ms-rec-item{grid-template-columns:22px 1fr;gap:14px}
}
