/* Module 02 Brief Analogy redesign.
   Preserve the technical relationship while using customer-friendly language. */
.m2-analogy{width:100%;display:grid;gap:16px}
.m2-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#64788c}
.m2-title{font-size:14px;font-weight:800;color:#172b3e}
.m2-sub{font-size:11px;line-height:1.45;color:#617181;margin-top:3px}
.m2-tag{display:inline-block;margin-left:6px;padding:2px 7px;border:1px solid #cbd5df;border-radius:999px;background:#fff;font-size:10px;font-weight:700;color:#52687d;vertical-align:1px}
.m2-note{font-size:11px;line-height:1.5;color:#617181;text-align:center;background:#fff;border:1px dashed #cbd5df;border-radius:7px;padding:9px 11px}
.m2-arrow{font-size:22px;color:#64788c;font-weight:700;text-align:center;align-self:center}
.m2-arrow-label{font-size:10px;font-weight:700;color:#5f7182;text-align:center;line-height:1.35}

/* Domain service vs the servers that provide it. */
.m2-domain-service{border:2px dashed #afa2ce;background:#faf9fd;border-radius:11px;padding:15px;display:grid;gap:13px}
.m2-domain-head{display:flex;gap:10px;align-items:center}
.m2-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid rgba(31,59,91,.12);background:#fff;font-size:20px;flex:0 0 auto}
.m2-peer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.m2-office{border:1px solid #a7c3e6;background:#f3f7fd;border-radius:10px;padding:14px;display:grid;gap:10px;min-width:0}
.m2-office-head{display:flex;align-items:center;gap:9px}
.m2-office-core{border:1px solid #b8a8db;background:#faf8fd;border-radius:8px;padding:11px;text-align:center}
.m2-office-core b,.m2-capability b,.m2-role-card b,.m2-domain-card b{display:block;font-size:12px;color:#27384a}
.m2-office-core span,.m2-capability span,.m2-role-card span,.m2-domain-card span{display:block;margin-top:4px;font-size:10px;line-height:1.4;color:#657483}

/* Capabilities hosted by a DC. */
.m2-cap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.m2-capability{border:1px solid #cbd5df;background:#fff;border-radius:8px;padding:11px;text-align:center}
.m2-capability.core{border-color:#b8a8db;background:#faf8fd}
.m2-capability.dns{border-color:#9dcbd5;background:#f3fbfc}
.m2-capability.gc{border-color:#bfce8a;background:#fafcf3}
.m2-optional{display:inline-block;margin-top:6px;padding:2px 6px;border-radius:999px;background:#f4f6f8;border:1px solid #d7dee6;color:#657483;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}

/* Replicated local directory copies. */
.m2-replication-grid{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:14px;align-items:stretch}
.m2-repl-link{display:grid;align-content:center;gap:4px;min-width:96px}
.m2-repl-arrows{font-size:24px;color:#4e7d72;font-weight:800;text-align:center;letter-spacing:4px}

/* Global Catalog mental model. */
.m2-forest{border:2px dashed #afa2ce;background:#faf9fd;border-radius:11px;padding:14px;display:grid;gap:12px}
.m2-gc-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr) minmax(0,.9fr);gap:12px;align-items:stretch}
.m2-domain-card{border:1px solid #8fc9c5;background:#f4fbfa;border-radius:9px;padding:13px;text-align:center}
.m2-gc-office{border:1px solid #a7c3e6;background:#f3f7fd;border-radius:10px;padding:13px;display:grid;gap:9px}
.m2-index{border:1px solid #bfce8a;background:#fafcf3;border-radius:8px;padding:10px;text-align:center}
.m2-index b{display:block;font-size:12px;color:#34451d}.m2-index span{display:block;margin-top:4px;font-size:10px;color:#657483;line-height:1.4}

/* Multi-master normal work vs scoped single-master responsibilities. */
.m2-fsmo-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:14px;align-items:stretch}
.m2-normal-work,.m2-special-work{border:1px solid #cbd5df;border-radius:10px;padding:14px;display:grid;gap:11px;background:#fff}
.m2-normal-work{border-top:4px solid #8fc9c5}.m2-special-work{border-top:4px solid #d6b594}
.m2-dc-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.m2-mini-dc{border:1px solid #a7c3e6;background:#f3f7fd;border-radius:7px;padding:10px 7px;text-align:center;font-size:11px;font-weight:800;color:#27384a}
.m2-role-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.m2-role-scope{border:1px solid #e1cdb7;background:#fcf8f3;border-radius:8px;padding:10px}
.m2-role-scope b{display:block;font-size:11px;color:#594731;margin-bottom:5px}
.m2-role-scope span{display:block;font-size:10px;line-height:1.45;color:#6d6257}

/* Integrated Module 02 picture. */
.m2-integrated{display:grid;gap:12px}
.m2-service-banner{border:2px dashed #afa2ce;background:#faf9fd;border-radius:10px;padding:12px 14px;text-align:center}
.m2-integrated-dcs{display:grid;grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr);gap:12px;align-items:stretch}
.m2-office-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.m2-service-pill{border:1px solid #cbd5df;background:#fff;border-radius:7px;padding:7px;text-align:center;font-size:10px;color:#52687d;font-weight:700}
.m2-fsmo-banner{border:1px solid #d6b594;background:#fcf8f3;border-radius:8px;padding:10px 12px;text-align:center;font-size:10px;line-height:1.45;color:#665643}

@media(max-width:900px){
  .m2-peer-grid,.m2-cap-grid,.m2-gc-grid,.m2-fsmo-layout,.m2-role-groups,.m2-dc-row,.m2-office-services{grid-template-columns:1fr}
  .m2-replication-grid,.m2-integrated-dcs{grid-template-columns:1fr}
  .m2-repl-link{min-width:0}
  .m2-repl-arrows{transform:rotate(90deg);margin:4px 0}
}
