%%{init: {"theme": "base", "themeVariables": {"primaryColor": "#1B1B1B", "primaryBorderColor": "#D6002A", "primaryTextColor": "#fff", "secondaryColor": "#fff", "secondaryBorderColor": "#D6002A", "secondaryTextColor": "#1B1B1B", "tertiaryColor": "#F0F0F0", "clusterBkg": "#F0F0F0", "lineColor": "#1B1B1B", "fontFamily": "\"Akkurat Pro\", \"Helvetica Neue\", \"Arial\", sans-serif"}}}%%

flowchart LR
    subgraph PRIM ["Primitives"]
        direction TB
        P1["S3"]
        P2["VPC"]
        P3["ECS"]
        P4["IAM"]
        P5["ALB"]
        P6["ECR"]
        P7["CloudFront"]
        P8["WAF"]
        P9["RDS"]
    end
    subgraph MOD ["Modules — composed patterns"]
        direction TB
        M1["Static site\nCDN + WAF + S3"]
        M2["Microservice\nVPC + ECS + ALB + ECR"]
    end
    PRIM --> MOD
classDef accent fill:#1B1B1B,color:#fff,stroke:#D6002A,stroke-width:2px
classDef supporting fill:#fff,color:#1B1B1B,stroke:#D6002A,stroke-width:1px
class P1,P2,P3,P4,P5,P6,P7,P8,P9 supporting
class M1,M2 accent