
.mk { font-family: Jost, sans-serif; }
.mk-display { font-family: Amiri, serif; }
body { background: #fbf1e4; }
.mk { --sand:#fbf1e4; --earth:#3a2317; --terra:#c96f43; --teal:#1f6f6a; --brass:#b08d57;
  background: var(--sand); color: var(--earth); min-height: 100vh; }
/* Zellige-inspired field, built from two offset diamond gradients. */
.mk-tile { background-color: var(--sand);
  background-image:
    linear-gradient(45deg, rgba(31,111,106,0.14) 25%, transparent 25%, transparent 75%, rgba(31,111,106,0.14) 75%),
    linear-gradient(45deg, rgba(201,111,67,0.16) 25%, transparent 25%, transparent 75%, rgba(201,111,67,0.16) 75%);
  background-size: 34px 34px; background-position: 0 0, 17px 17px; }
.mk-wrap { max-width: 1000px; margin: 0 auto; padding: 0 1.6rem; }
.mk-hero { padding: 4.5rem 1.6rem 5rem; text-align: center; }
.mk-keyhole { max-width: 460px; margin: 0 auto; background: var(--sand); border: 2px solid var(--brass);
  border-radius: 230px 230px 26px 26px / 300px 300px 26px 26px; padding: 4rem 2rem 3rem; }
.mk-bism { font-size: 0.72rem; letter-spacing: 0.34em; text-transform: uppercase; color: var(--teal); }
.mk-names { font-size: clamp(2.5rem, 7.5vw, 3.8rem); line-height: 1.15; margin-top: 1.2rem; }
.mk-names span { display: block; font-size: 0.4em; font-style: italic; color: var(--terra); margin: 0.25rem 0; }
.mk-date { margin-top: 1.5rem; font-size: 0.78rem; letter-spacing: 0.26em; text-transform: uppercase; color: var(--terra); }
.mk-place { margin-top: 0.5rem; font-size: 0.9rem; color: rgba(58,35,23,0.7); }
.mk-section { padding: 4.5rem 0; }
.mk-eyebrow { font-size: 0.68rem; letter-spacing: 0.32em; text-transform: uppercase; color: var(--teal); }
.mk-h2 { font-size: clamp(1.9rem, 4vw, 2.5rem); margin-top: 0.8rem; }
.mk-p { font-size: 1rem; line-height: 1.95; color: rgba(58,35,23,0.82); max-width: 62ch; margin-top: 1.4rem; }
.mk-split { display: grid; gap: 2.5rem; align-items: center; }
@media (min-width: 860px) { .mk-split { grid-template-columns: 1fr 1fr; gap: 3.5rem; } }
.mk-arch { position: relative; aspect-ratio: 3 / 4; border-radius: 180px 180px 14px 14px / 240px 240px 14px 14px;
  overflow: hidden; border: 2px solid var(--brass); }
.mk-cards { display: grid; gap: 1.2rem; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); margin-top: 2.6rem; }
.mk-card { background: var(--sand); border: 1px solid rgba(58,35,23,0.18); padding: 1.8rem 1.5rem; border-radius: 4px; }
.mk-cardno { font-size: 0.7rem; letter-spacing: 0.2em; color: var(--terra); }
.mk-cardh { font-size: 1.35rem; margin: 0.7rem 0 0.6rem; }
.mk-cardp { font-size: 0.9rem; line-height: 1.8; color: rgba(58,35,23,0.75); }
.mk-band { background: var(--earth); color: var(--sand); text-align: center; padding: 5rem 1.6rem 5.5rem; }
.mk-btn { display: inline-block; margin-top: 2rem; padding: 1rem 3.2rem; background: var(--terra); color: #fff;
  border-radius: 2px; text-decoration: none; font-size: 0.74rem; letter-spacing: 0.26em; text-transform: uppercase; }
.mk-foot { text-align: center; padding: 2.6rem 1.6rem 3.4rem; font-size: 0.74rem; letter-spacing: 0.22em; color: rgba(58,35,23,0.6); }

