/* Module 01 Brief Analogy structural standard.
   Principle: simplify terminology, not the relationship. */
.analogy-structure{width:100%;display:grid;gap:16px}
.analogy-structure-note{font-size:11px;line-height:1.45;color:#617181;text-align:center}
.analogy-structure-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#64788c}
.analogy-structure-title{font-size:14px;font-weight:800;color:#172b3e}
.analogy-structure-sub{font-size:11px;color:#657483;line-height:1.4;margin-top:3px}
.analogy-tech-tag{display:inline-block;margin-left:7px;padding:2px 7px;border-radius:999px;border:1px solid #cbd5df;background:#fff;font-size:10px;font-weight:700;color:#52687d;vertical-align:1px}

/* Company directory / record-system analogy. */
.analogy-record-system{border:1px solid #cbd5df;border-radius:11px;background:#fff;padding:15px;display:grid;gap:13px}
.analogy-record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.analogy-record-card{border:1px solid #d2dbe4;border-radius:9px;padding:13px;text-align:left;background:#fff;min-height:92px}.analogy-record-card.person{border-color:#a8c7ec;background:#f4f8fe}.analogy-record-card.device{border-color:#9fd2da;background:#f3fbfc}.analogy-record-card.group{border-color:#c2afe3;background:#f8f5fc}.analogy-record-card b{display:block;font-size:12px;color:#25384b}.analogy-record-card span{display:block;margin-top:5px;font-size:10px;line-height:1.4;color:#657483}
.analogy-membership-line{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;text-align:center;border-top:1px dashed #cbd5df;padding-top:12px;font-size:10px;color:#627181}.analogy-membership-line strong{color:#315b80}

/* Containment is deliberately visible: outer group > company > department. */
.analogy-boundary{border-radius:10px;padding:14px;display:grid;gap:12px}
.analogy-boundary-corporate{border:2px dashed #afa2ce;background:#faf9fd}
.analogy-boundary-company{border:1px solid #8fc9c5;background:#f4fbfa;margin-left:24px}
.analogy-boundary-department{border:1px solid #b8a8db;background:#faf8fd;margin-left:24px}
.analogy-boundary-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.analogy-boundary-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid rgba(31,59,91,.12);font-size:19px;flex:0 0 auto}
.analogy-boundary-copy{min-width:0}

/* One parent boundary containing sibling companies/domains. */
.analogy-domain-siblings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-left:24px}
.analogy-company-card{border:1px solid #8fc9c5;background:#f4fbfa;border-radius:9px;padding:14px;min-height:95px;display:flex;align-items:center;gap:11px}
.analogy-shared-parent{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;margin-left:24px;border-top:1px dashed #cbd5df;padding-top:11px;font-size:10px;color:#657483}.analogy-shared-parent span{font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#64788c}.analogy-shared-parent b{font-size:10px;color:#315b80}

/* Logical and physical are two different dimensions, not peer objects in one flat chain. */
.analogy-dual-model{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:stretch}
.analogy-dimension{border:1px solid #cbd5df;border-radius:10px;background:#fff;padding:14px;display:grid;gap:12px}
.analogy-dimension-logical{border-top:4px solid #8f7ab9}
.analogy-dimension-physical{border-top:4px solid #77aeba}
.analogy-dimension-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.analogy-dimension-badge{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#5f7182;background:#f5f7f9;border:1px solid #d7dee6;border-radius:999px;padding:4px 7px;white-space:nowrap}
.analogy-office-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.analogy-office-card{border:1px solid #9dcbd5;background:#f3fbfc;border-radius:8px;padding:13px;text-align:center}
.analogy-office-card b{display:block;font-size:13px;color:#173b5a}
.analogy-office-card span{display:block;margin-top:4px;font-size:10px;color:#617181;line-height:1.35}

/* Putting It Together keeps the hierarchy above and the deployment layer separate below. */
.analogy-separate-layer{border-top:1px dashed #aeb9c4;padding-top:14px;margin-top:2px;display:grid;gap:11px}
.analogy-separate-layer-head{text-align:center}
.analogy-department-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-left:24px}
.analogy-department-card{border:1px solid #b8a8db;background:#faf8fd;border-radius:8px;padding:12px;text-align:center}
.analogy-department-card b{display:block;font-size:12px;color:#27384a}
.analogy-department-card span{display:block;margin-top:4px;font-size:10px;color:#657483}

@media(max-width:900px){
  .analogy-boundary-company,.analogy-boundary-department,.analogy-domain-siblings,.analogy-department-grid,.analogy-shared-parent{margin-left:0}
  .analogy-domain-siblings,.analogy-dual-model,.analogy-office-grid,.analogy-department-grid,.analogy-record-grid{grid-template-columns:1fr}
  .analogy-membership-line,.analogy-shared-parent{grid-template-columns:1fr;text-align:center}
}
