/*
Theme Name: Moloudzadeh v2
Theme URI: https://vakilmoloudzadeh.com
Author: SitePine
Description: نسخه وردپرسیِ هویت دموی پذیرفته‌شده سارا مولودزاده — پالت کرم/عاجی گرم، تایپوگرافی وزیرمتن، بلوکی و بومی، بدون صفحه‌ساز. صفحه نخست یک ترکیب کاملِ بلوکی است و همه بخش‌هایش از ویرایشگر سایت قابل ویرایش‌اند.
Version: 2.2.0
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
Text Domain: moloudzadeh-v2
*/

@font-face {
  font-family: "Vazirmatn";
  src: url("assets/fonts/Vazirmatn-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Vazirmatn";
  src: url("assets/fonts/Vazirmatn-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Marcellus";
  src: url("assets/fonts/Marcellus-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

::selection { background: #c6a15b; color: #171207; }

a:focus-visible, button:focus-visible, input:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid #96762f;
  outline-offset: 2px;
}

/* ---------- Sticky translucent header (demo: blurred fixed bar) ---------- */
header.wp-block-template-part {
  position: sticky;
  top: 0;
  z-index: 60;
  background: rgba(244, 241, 236, .86);
  backdrop-filter: blur(18px) saturate(1.3);
  -webkit-backdrop-filter: blur(18px) saturate(1.3);
}
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; }
.wp-block-navigation-item__content { padding-block: .35rem; }

/* ==================================================================
   Composed homepage (front-page template, native blocks, mz2-*)
   Mirrors the approved demo: dark hero → manifesto → about →
   specialties → services → process → FAQ → CTA.
   ================================================================== */

/* ---------- Hero: dark warm band, layered gold motifs, her photo ---------- */
.mz2-hero {
  position: relative;
  overflow: clip;
  padding-block: 4.2rem 3.6rem;
  background-image:
    radial-gradient(60rem 30rem at 85% -10%, rgba(198, 161, 91, .16), transparent 60%),
    radial-gradient(40rem 24rem at 8% 110%, rgba(198, 161, 91, .10), transparent 60%);
}
.mz2-hero::before, .mz2-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-repeat: no-repeat;
}
.mz2-hero::before {
  /* v2.2: dark warm gradient veil over the hero video */
  background: linear-gradient(180deg, rgba(23, 18, 7, .58) 0%, rgba(23, 18, 7, .34) 42%, rgba(23, 18, 7, .78) 100%),
    linear-gradient(270deg, rgba(23, 18, 7, .42), transparent 55%);
  z-index: 1;
}
.mz2-hero::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='300' viewBox='0 0 900 300' fill='none' stroke='%23C6A15B' stroke-width='1.6'%3E%3Cpath d='M60 250 Q 450 -60 840 250' stroke-dasharray='3 9'/%3E%3Ccircle cx='60' cy='250' r='6' fill='%23C6A15B' stroke='none'/%3E%3Ccircle cx='840' cy='250' r='6' fill='%23C6A15B' stroke='none'/%3E%3C/svg%3E");
  background-size: min(900px, 120%);
  background-position: center 118%;
  opacity: .35;
}
@supports (animation-timeline: scroll()) {
  /* v2.1 CSS scroll-drift retired in v2.2 — parallax is the JS engine's job */
}
.mz2-hero .wp-block-columns, .mz2-hero .mz2-coords { position: relative; z-index: 2; }
.mz2-outline {
  position: absolute;
  top: 1.6rem;
  inset-inline-start: -1%;
  max-width: none;
  margin: 0;
  font-family: "Marcellus", serif;
  font-size: clamp(6rem, 23vw, 19rem);
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1px rgba(228, 203, 143, .13);
  direction: ltr;
  pointer-events: none;
  z-index: 0;
}
.mz2-eyebrow {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: #e4cb8f;
  font-size: .85rem;
  font-weight: 600;
  margin: 0;
}
.mz2-eyebrow::before { content: ""; width: 52px; height: 1px; background: #c6a15b; flex-shrink: 0; }
.mz2-hero-name {
  font-size: clamp(3.2rem, 9vw, 7.2rem);
  line-height: 1.3;
  font-weight: 800;
  color: #fbf7ec;
  margin: .9rem 0 0;
  text-shadow: 0 8px 48px rgba(0, 0, 0, .5);
}
.mz2-hero-latin {
  font-family: "Marcellus", serif;
  direction: ltr;
  text-align: end;
  font-size: clamp(.92rem, 1.9vw, 1.28rem);
  letter-spacing: .52em;
  color: #e4cb8f;
  margin: .8rem 0 0;
}
.mz2-rule {
  height: 1px;
  max-width: 440px;
  background: linear-gradient(270deg, #c6a15b, transparent);
  margin: 1.6rem 0 .4rem;
  position: relative;
}
.mz2-rule::after {
  content: "";
  position: absolute;
  top: 50%;
  inset-inline-start: 64px;
  width: 8px;
  height: 8px;
  background: #c6a15b;
  transform: translateY(-50%) rotate(45deg);
}
.mz2-hero-title {
  font-size: clamp(1.45rem, 3.2vw, 2.3rem);
  font-weight: 800;
  line-height: 1.55;
  color: #fbf7ec;
  max-width: 22em;
  margin: 1rem 0 0;
}
.mz2-hero-title em { font-style: normal; color: #e4cb8f; }
.mz2-hero-sub {
  color: #d9d0ba;
  font-size: clamp(.98rem, 1.6vw, 1.1rem);
  font-weight: 300;
  max-width: 37em;
  margin: 1rem 0 0;
}
.mz2-hero-cta { margin-top: 2.1rem; }
.mz2-hero .is-style-outline .wp-block-button__link,
.mz2-cta .is-style-outline .wp-block-button__link {
  border-color: rgba(228, 203, 143, .5);
  color: #f2ecdf;
}
.mz2-hero-photo img {
  width: 100%;
  border-radius: .6rem;
  box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .7), 0 0 0 1px rgba(198, 161, 91, .35);
}
.mz2-stats {
  margin-top: 3rem;
  border: 1px solid rgba(228, 203, 143, .3);
  background: rgba(10, 8, 6, .42);
  backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  padding: 1.3rem 1.4rem;
  border-radius: .4rem;
}
.mz2-stats .wp-block-column:not(:first-child) {
  border-inline-start: 1px solid rgba(228, 203, 143, .25);
  padding-inline-start: 1.4rem;
}
@media (max-width: 781px) {
  .mz2-stats .wp-block-column:not(:first-child) { border-inline-start: 0; padding-inline-start: 0; }
}
.mz2-stat-num { font-size: 1.5rem; font-weight: 800; color: #fbf7ec; line-height: 1.3; margin: 0; }
.mz2-stat-lbl { font-size: .85rem; color: #b7ac93; margin: .25rem 0 0; }
.mz2-coords {
  font-family: "Marcellus", serif;
  direction: ltr;
  font-size: .72rem;
  letter-spacing: .32em;
  color: #9c927c;
  margin: 1.7rem 0 0;
}

/* ---------- Section furniture ---------- */
.mz2-kicker {
  display: flex;
  align-items: center;
  gap: .9rem;
  color: #96762f;
  font-weight: 700;
  font-size: .9rem;
  margin: 0 0 1.2rem;
}
.mz2-kicker::before { content: ""; width: 44px; height: 1px; background: #c6a15b; flex-shrink: 0; }
.mz2-kicker .mz2-latin {
  font-family: "Marcellus", serif;
  font-size: .72rem;
  letter-spacing: .3em;
  color: #6b6151;
  font-weight: 400;
}
.mz2-kicker--dark { color: #e4cb8f; }
.mz2-kicker--dark .mz2-latin { color: #b7ac93; }
.mz2-sec-title { font-size: clamp(1.7rem, 3.4vw, 2.4rem); line-height: 1.5; margin: 0 0 1rem; }
.mz2-sec-title em { font-style: normal; color: #96762f; }
.mz2-sec-sub { color: #6b6151; max-width: 40em; margin: 0 0 2.6rem; }
.mz2-about, .mz2-services, .mz2-process, .mz2-specialties, .mz2-faq { scroll-margin-top: 92px; }
.mz2-card-link { margin: 1rem 0 0; }
.mz2-card-link a {
  color: #96762f;
  font-weight: 700;
  font-size: 1.3rem;
  line-height: 1;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  min-width: 44px;
}

/* ---------- Manifesto ---------- */
.mz2-manifesto { padding-block: 5.5rem 4.5rem; }
.mz2-manifesto-text {
  font-size: clamp(1.6rem, 4vw, 3rem);
  font-weight: 800;
  line-height: 1.65;
  margin: 0;
  max-width: 21em;
}
.mz2-manifesto-text em { font-style: normal; color: #96762f; }
.mz2-latin-note {
  font-family: "Marcellus", serif;
  letter-spacing: .34em;
  font-size: .74rem;
  color: #6b6151;
  margin: 1.6rem 0 0;
  direction: ltr;
}

/* ---------- About ---------- */
.mz2-about { padding-block: 2rem 5rem; }
.mz2-portrait {
  border: 1px solid #c6a15b;
  border-radius: .4rem;
  background: #faf8f2;
  padding: 1.1rem;
  box-shadow: 0 30px 50px -30px rgba(90, 70, 20, .35);
  text-align: center;
}
.mz2-portrait-img img { border-radius: .25rem; width: 100%; }
.mz2-plate-name { font-size: 1.24rem; font-weight: 800; margin: 1rem 0 0; }
.mz2-plate-sub { font-size: .85rem; color: #96762f; font-weight: 600; margin: .2rem 0 0; }
.mz2-plate-latin {
  font-family: "Marcellus", serif;
  font-size: .62rem;
  letter-spacing: .34em;
  color: #6b6151;
  margin: .55rem 0 .4rem;
  direction: ltr;
}
.mz2-chips { gap: .6rem; margin-top: 1.6rem; }
.mz2-chip {
  border: 1px solid #d9d0ba;
  padding: .5rem 1rem;
  font-size: .86rem;
  font-weight: 600;
  color: #3e382b;
  border-radius: 999px;
  margin: 0;
  display: inline-flex;
  gap: .5rem;
  align-items: center;
}
.mz2-chip::before { content: ""; width: 6px; height: 6px; background: #c6a15b; transform: rotate(45deg); flex-shrink: 0; }
.mz2-record {
  margin-top: 1.8rem;
  border: 1px solid rgba(22, 19, 12, .1);
  border-radius: .4rem;
  background: #fff;
  padding: 1.3rem 1.5rem 1.1rem;
}
.mz2-record-h { font-size: .9rem; color: #96762f; margin: 0 0 .7rem; }
.mz2-record ul { list-style: none; margin: 0; padding: 0; }
.mz2-record li {
  display: flex;
  align-items: baseline;
  gap: .7rem;
  padding: .5rem 0;
  color: #3e382b;
  border-top: 1px solid rgba(22, 19, 12, .08);
}
.mz2-record li:first-child { border-top: 0; }
.mz2-record li::before { content: ""; width: 6px; height: 6px; background: #c6a15b; transform: rotate(45deg) translateY(-1px); flex-shrink: 0; }
.mz2-record li b { color: #171207; }
.mz2-signature { font-family: "Marcellus", serif; font-size: 1.3rem; color: #3e382b; margin: 1.8rem 0 0; direction: ltr; }

/* ---------- Specialties: the big dark band ---------- */
.mz2-specialties {
  padding-block: 5rem;
  position: relative;
  overflow: clip;
  background-image: radial-gradient(50rem 26rem at 90% -20%, rgba(198, 161, 91, .14), transparent 60%);
}
.mz2-spec-h { font-size: clamp(2rem, 4.5vw, 3rem); line-height: 1.4; color: #fbf7ec; margin: 0 0 2.4rem; }
.mz2-spec-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.1rem; }
.mz2-spec-card {
  border: 1px solid rgba(198, 161, 91, .4);
  border-radius: 1rem;
  padding: 1.7rem 1.5rem;
  background: rgba(251, 247, 236, .04);
}
.mz2-spec-t { color: #fbf7ec; font-size: 1.35rem; line-height: 1.6; margin: 0 0 .6rem; }
.mz2-spec-p { color: #cfc6b2; margin: 0; }
.mz2-spec-card .mz2-card-link a { color: #e4cb8f; }
@media (max-width: 860px) { .mz2-spec-grid { grid-template-columns: 1fr; } }

/* ---------- Services ---------- */
.mz2-services { padding-block: 5rem; }
.mz2-svc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.1rem; }
@media (max-width: 1000px) { .mz2-svc-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .mz2-svc-grid { grid-template-columns: 1fr; } }
.mz2-svc {
  position: relative;
  background: #fff;
  border: 1px solid #d9d0ba;
  border-radius: .5rem;
  padding: 1.6rem 1.5rem;
  box-shadow: 0 30px 50px -38px rgba(90, 70, 20, .35);
}
.mz2-svc::before {
  content: "";
  display: block;
  width: 58px;
  height: 58px;
  border: 1px solid rgba(150, 118, 47, .35);
  border-radius: 2px;
  margin-bottom: 1.2rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 29px;
}
.mz2-svc:nth-child(1)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2396762F' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 3h7l4 4v13.5h-11z'/%3E%3Cpath d='M13.5 3v4h4'/%3E%3Cpath d='M9.2 10.8h5.6M9.2 13.8h3.6'/%3E%3Ccircle cx='15.4' cy='17.4' r='1.9'/%3E%3Cpath d='M14.5 18.9l-.5 1.9 1.4-.9 1.4.9-.5-1.9'/%3E%3C/svg%3E"); }
.mz2-svc:nth-child(2)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2396762F' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='3.4' r='1.15'/%3E%3Cpath d='M12 4.6v12.4M8.4 20.6h7.2M12 17v3.6M4.5 7.4h15'/%3E%3Cpath d='M4.5 7.4L2.7 12.2M4.5 7.4l1.8 4.8M2.3 12.2a2.2 2.2 0 0 0 4.4 0'/%3E%3Cpath d='M19.5 7.4l-1.8 4.8M19.5 7.4l1.8 4.8M17.3 12.2a2.2 2.2 0 0 0 4.4 0'/%3E%3C/svg%3E"); }
.mz2-svc:nth-child(3)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2396762F' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11l8-6.6L20 11'/%3E%3Cpath d='M6.2 9.5V20h11.6V9.5'/%3E%3Ccircle cx='10' cy='13.1' r='1.5'/%3E%3Cpath d='M7.9 19.7c.3-1.9 1-2.8 2.1-2.8s1.8.9 2.1 2.8'/%3E%3Ccircle cx='14.8' cy='14.5' r='1.15'/%3E%3Cpath d='M13.2 19.7c.2-1.4.8-2.1 1.6-2.1s1.4.7 1.6 2.1'/%3E%3C/svg%3E"); }
.mz2-svc:nth-child(4)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2396762F' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9.6L12 4.2l8 5.4'/%3E%3Cpath d='M3.6 9.6h16.8'/%3E%3Ccircle cx='12' cy='7.5' r='.95'/%3E%3Cpath d='M5 12.2h14'/%3E%3Cpath d='M6.6 12.2v4.8M10.2 12.2v4.8M13.8 12.2v4.8M17.4 12.2v4.8'/%3E%3Cpath d='M5 17h14M3.8 20.2h16.4'/%3E%3C/svg%3E"); }
.mz2-svc:nth-child(5)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2396762F' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='9.6' r='5.5'/%3E%3Cpath d='M12 6.8l.84 1.92 2.1.22-1.58 1.38.46 2.05L12 11.35l-1.82 1.02.46-2.05-1.58-1.38 2.1-.22z'/%3E%3Cpath d='M8.7 14.1l-1.5 6.1 2.7-1.45 2.1 1.5-.7-4.9M15.3 14.1l1.5 6.1-2.7-1.45-2.1 1.5.7-4.9'/%3E%3C/svg%3E"); }
.mz2-svc:nth-child(6)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2396762F' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.4'/%3E%3Cellipse cx='12' cy='12' rx='3.8' ry='8.4'/%3E%3Cpath d='M4.1 8.2c2.2 1.1 4.9 1.7 7.9 1.7s5.7-.6 7.9-1.7M4.1 15.8c2.2-1.1 4.9-1.7 7.9-1.7s5.7.6 7.9 1.7'/%3E%3C/svg%3E"); }
.mz2-svc-num {
  position: absolute;
  top: .6rem;
  inset-inline-end: 1.1rem;
  font-family: "Marcellus", serif;
  font-size: 3.4rem;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1px rgba(150, 118, 47, .4);
  margin: 0;
  direction: ltr;
}
.mz2-svc-t { font-size: 1.22rem; margin: 0 0 .55rem; }
.mz2-svc-t a { color: #171207; text-decoration: none; }
.mz2-svc-p { color: #6b6151; font-size: .95rem; margin: 0; }

/* ---------- Process ---------- */
.mz2-process { padding-block: 5rem; }
.mz2-step {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 1.4rem;
  align-items: start;
  border-top: 1px solid #d9d0ba;
  padding-block: 1.6rem;
}
.mz2-step:last-child { border-bottom: 1px solid #d9d0ba; }
.mz2-step-num {
  grid-row: 1 / 3;
  font-family: "Marcellus", serif;
  font-size: 2.6rem;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1px rgba(150, 118, 47, .55);
  direction: ltr;
  margin: 0;
}
.mz2-step-t { margin: 0 0 .4rem; font-size: 1.25rem; }
.mz2-step-p { color: #6b6151; margin: 0; max-width: 44em; }

/* ---------- FAQ highlights ---------- */
.mz2-faq { padding-block: 5rem; }
.mz2-faq-item { border-top: 1px solid #d9d0ba; margin: 0; }
.mz2-faq-list .mz2-faq-item:last-child { border-bottom: 1px solid #d9d0ba; }
.mz2-faq-item a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding-block: 1.15rem;
  min-height: 44px;
  color: #171207;
  font-weight: 600;
  text-decoration: none;
}
.mz2-faq-item a::after { content: "←"; color: #96762f; flex-shrink: 0; }
.mz2-faq-all { margin-top: 1.4rem; }
.mz2-faq-all a { font-weight: 700; color: #96762f; }

/* ---------- Final CTA ---------- */
.mz2-cta { padding-block: 4.5rem; }
.mz2-cta-h { color: #fbf7ec; font-size: clamp(1.8rem, 4vw, 2.6rem); margin: 0; }
.mz2-cta-line { color: #e4cb8f; font-size: 1.1rem; margin: 1.1rem 0 0; }
.mz2-cta-sub { color: #b7ac93; font-size: .92rem; margin: .5rem 0 0; }
.mz2-cta-btns { margin-top: 2rem; }

/* v2.1 .mz2-reveal rules retired in v2.2 — reveal is [data-rv]/.mz2-rv below */

/* ---------- Specialties pattern (dark band, used inside posts) ---------- */
.mz-section--dark {
  background:
    radial-gradient(50rem 26rem at 90% -20%, rgba(198, 161, 91, .14), transparent 60%),
    #171207;
  color: #fbf7ec;
  border-radius: 1.4rem;
  padding: 3rem clamp(1.2rem, 4vw, 3rem);
  margin-top: 4.5rem;
}
.mz-section--dark .mz-section-inner { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.1rem; }
.mz-section--dark .mz-section-inner > h3 { grid-column: 1 / -1; color: #e4cb8f; font-size: 1.15rem; }
.mz-section--dark .mz-section-inner > p {
  border: 1px solid rgba(198, 161, 91, .35);
  border-radius: 1rem;
  padding: 1.5rem 1.3rem;
  margin: 0;
  background: rgba(251, 247, 236, .03);
  color: #cfc6b2;
}
.mz-section--dark .mz-section-inner > p strong { display: block; color: #fbf7ec; font-size: 1.25rem; margin-bottom: .5rem; }
.mz-section--dark .mz-section-inner > p a { color: #e4cb8f; font-weight: 700; }
@media (max-width: 860px) {
  .mz-section--dark .mz-section-inner { grid-template-columns: 1fr; }
}
.mz-section--dark .wp-block-column > p {
  border: 1px solid rgba(198, 161, 91, .35);
  border-radius: 1rem;
  padding: 1.5rem 1.3rem;
  margin: 0;
  background: rgba(251, 247, 236, .03);
  color: #cfc6b2;
  height: 100%;
}
.mz-section--dark .wp-block-column > p strong { display: block; color: #fbf7ec; font-size: 1.25rem; margin-bottom: .5rem; }
.mz-section--dark .wp-block-column > p a { color: #e4cb8f; font-weight: 700; }

/* ---------- Query cards (articles / Q&A / archives / search) ---------- */
.wp-block-query .wp-block-post-template li > .wp-block-group {
  background: #fff;
  box-shadow: 0 30px 50px -42px rgba(90, 70, 20, .35);
  height: 100%;
}
.wp-block-query-pagination a { padding: .4rem .8rem; min-height: 44px; display: inline-flex; align-items: center; }

/* ---------- Content polish ---------- */
.wp-block-post-content p { margin-block: 0 1.1em; }
.wp-block-post-content ul { padding-inline-start: 1.3em; }
.wp-block-post-content li { margin-block: .35em; }
.wp-block-post-content blockquote {
  border-inline-start: 4px solid #c6a15b;
  margin-inline: 0;
  padding-inline-start: 1em;
  color: #171207;
  font-weight: 700;
}
.wp-block-search__button, .wp-block-search__input { min-height: 44px; }

/* ---------- Sticky mobile contact bar ---------- */
.moloud-sticky { display: none; }
@media (max-width: 768px) {
  .moloud-sticky {
    display: flex;
    position: fixed;
    inset-inline: 0;
    bottom: 0;
    z-index: 999;
    background: #171207;
    padding-bottom: env(safe-area-inset-bottom);
    box-shadow: 0 -2px 14px rgba(23, 18, 7, .3);
  }
  .moloud-sticky a {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    color: #fbf7ec;
    font-weight: 700;
    font-size: 1rem;
    text-decoration: none;
  }
  .moloud-sticky a.wa { background: #c6a15b; color: #171207; }
  .moloud-sticky a.call { background: #171207; }
  body { padding-bottom: 54px; }
}


/* ==================================================================
   v2.2 — video hero, scroll-reactive decor system, branded loader,
   designed article covers, archive bands, responsive/desktop passes
   ================================================================== */

/* ---------- overflow safety ---------- */
body { overflow-x: clip; }
img, video { max-width: 100%; }

/* ---------- Branded loader ---------- */
.mz2-loader {
  position: fixed;
  inset: 0;
  z-index: 2000;
  background: #f4f1ec;
  display: grid;
  place-items: center;
  animation: mz2-loader-out .5s ease 1.2s forwards;
}
.mz2-loader-in { text-align: center; animation: mz2-loader-in .6s ease both; }
.mz2-loader-mark { width: 64px; height: 64px; }
.mz2-loader-name { font-size: 1.45rem; font-weight: 800; color: #171207; margin: .7rem 0 0; }
.mz2-loader-latin {
  font-family: "Marcellus", serif;
  font-size: .68rem;
  letter-spacing: .4em;
  color: #96762f;
  margin: .45rem 0 0;
  direction: ltr;
}
@keyframes mz2-loader-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes mz2-loader-out { to { opacity: 0; visibility: hidden; } }
html.mz2-loaded .mz2-loader {
  opacity: 0;
  visibility: hidden;
  transition: opacity .45s ease, visibility 0s linear .45s;
  animation: none;
}

/* ---------- Hero v2.2: layered video parallax ---------- */
.mz2-hero {
  min-height: min(96svh, 62rem);
  padding-block: 9.5rem 3.4rem;
  background-color: #171207;
}
.mz2-hero-media {
  position: absolute;
  inset: -14% 0;
  z-index: 0;
  pointer-events: none;
  will-change: transform;
}
.mz2-hero-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
  display: block;
}
.mz2-hero::after { z-index: 1; }
.mz2-hero-motif {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  will-change: transform;
  background-repeat: no-repeat, no-repeat;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='560' height='560' viewBox='0 0 100 100' fill='none' stroke='%23C6A15B' stroke-width='0.9'%3E%3Cpath d='M50 10v58M50 68v10M37 78h26M50 18L26 23m24-5l24 5M26 23l-7.5 15a8 8 0 0 0 15 0L26 23zm48 0l-7.5 15a8 8 0 0 0 15 0L74 23z'/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1100' height='340' viewBox='0 0 900 300' fill='none' stroke='%23E4CB8F' stroke-width='1.3'%3E%3Cpath d='M60 250 Q 450 -60 840 250' stroke-dasharray='3 9'/%3E%3Ccircle cx='60' cy='250' r='6' fill='%23E4CB8F' stroke='none'/%3E%3Ccircle cx='840' cy='250' r='6' fill='%23E4CB8F' stroke='none'/%3E%3C/svg%3E");
  background-size: 560px, min(1100px, 130%);
  background-position: -120px 12%, center 112%;
  opacity: .34;
}
.mz2-outline { z-index: 1; will-change: transform; }
.mz2-badge {
  position: absolute;
  top: 6.4rem;
  inset-inline-end: clamp(1.2rem, 4vw, 3.4rem);
  z-index: 3;
  width: 118px;
  height: 118px;
  color: #e4cb8f;
  pointer-events: none;
}
.mz2-badge-ring { width: 100%; height: 100%; animation: mz2-spin 26s linear infinite; }
.mz2-badge-ring text {
  font-family: "Marcellus", serif;
  font-size: 10px;
  letter-spacing: 2.6px;
  fill: currentColor;
}
.mz2-badge-core {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
}
.mz2-badge-core::after {
  content: "";
  width: 9px;
  height: 9px;
  background: #c6a15b;
  transform: rotate(45deg);
}
@keyframes mz2-spin { to { transform: rotate(360deg); } }
.mz2-hero-photo { will-change: transform; }
@media (prefers-reduced-motion: reduce) {
  .mz2-badge-ring { animation: none; }
}

/* ---------- Section decor + ghost words ---------- */
.mz2-manifesto, .mz2-about, .mz2-services, .mz2-process, .mz2-faq, .mz2-cta, .mz2-archive-head, .mz2-article-head { position: relative; }
.mz2-manifesto > *:not(.mz2-ghost), .mz2-about > *:not(.mz2-decor), .mz2-services > *:not(.mz2-ghost),
.mz2-process > *:not(.mz2-decor), .mz2-faq > *:not(.mz2-decor), .mz2-cta > *:not(.mz2-decor),
.mz2-archive-head > *:not(.mz2-decor) { position: relative; z-index: 1; }
.mz2-ghost {
  position: absolute;
  top: .4rem;
  inset-inline-end: -1%;
  max-width: none;
  margin: 0;
  font-family: "Marcellus", serif;
  font-size: clamp(4.6rem, 15vw, 12rem);
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1px rgba(150, 118, 47, .17);
  direction: ltr;
  pointer-events: none;
  z-index: 0;
  will-change: transform;
}
.mz2-ghost--end { top: auto; bottom: .2rem; }
.mz2-decor {
  position: absolute;
  pointer-events: none;
  z-index: 0;
  background-repeat: no-repeat;
  will-change: transform;
}
.mz2-decor--scales {
  top: -30px;
  inset-inline-end: -70px;
  width: 480px;
  height: 480px;
  opacity: .13;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23E4CB8F' stroke-width='1'%3E%3Cpath d='M50 10v58M50 68v10M37 78h26M50 18L26 23m24-5l24 5M26 23l-7.5 15a8 8 0 0 0 15 0L26 23zm48 0l-7.5 15a8 8 0 0 0 15 0L74 23z'/%3E%3C/svg%3E");
}
.mz2-decor--arc {
  inset-inline: 0;
  bottom: -46px;
  height: 300px;
  opacity: .3;
  background-position: center bottom;
  background-size: min(1000px, 125%);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1000' height='300' viewBox='0 0 900 300' fill='none' stroke='%23C6A15B' stroke-width='1.4'%3E%3Cpath d='M60 250 Q 450 -60 840 250' stroke-dasharray='3 9'/%3E%3Ccircle cx='60' cy='250' r='6' fill='%23C6A15B' stroke='none'/%3E%3Ccircle cx='840' cy='250' r='6' fill='%23C6A15B' stroke='none'/%3E%3C/svg%3E");
}
.mz2-about .mz2-decor--arc, .mz2-faq .mz2-decor--arc { opacity: .18; }
.mz2-decor--columns {
  inset-inline: 0;
  bottom: 0;
  height: 120px;
  opacity: .12;
  background-repeat: repeat-x;
  background-position: bottom center;
  background-size: auto 120px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120' fill='none' stroke='%2396762F' stroke-width='2'%3E%3Cpath d='M14 118V38M36 118V38M58 118V38M82 118V38M104 118V38M6 30h108M6 118h108M10 38c4-6 8-6 12 0M32 38c4-6 8-6 12 0M54 38c4-6 8-6 12 0M78 38c4-6 8-6 12 0M100 38c4-6 8-6 12 0'/%3E%3C/svg%3E");
}
.mz2-decor--doc {
  top: 6%;
  inset-inline-end: -40px;
  width: 380px;
  height: 380px;
  opacity: .1;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2396762F' stroke-width='0.8' stroke-linecap='round'%3E%3Cpath d='M6.5 3h7l4 4v13.5h-11z'/%3E%3Cpath d='M13.5 3v4h4'/%3E%3Cpath d='M9.2 10.8h5.6M9.2 13.8h5.6M9.2 16.8h3.6'/%3E%3C/svg%3E");
}
.mz2-specialties .mz2-decor--scales { opacity: .16; }

/* ---------- Reveal (hidden state applied by JS only) ---------- */
.mz2-rv { opacity: 0; transform: translateY(28px); }
.mz2-rv.in { opacity: 1; transform: none; transition: opacity .85s ease, transform .85s ease; }
@media (prefers-reduced-motion: reduce) {
  .mz2-rv { opacity: 1; transform: none; }
}

/* ---------- Article cards with designed cluster covers ---------- */
.mz2-listing { padding-block: 3.2rem 4.5rem; }
.wp-block-post-template { gap: 1.4rem; }
.wp-block-post-template > li { display: flex; }
.mz2-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  background: #fff;
  border: 1px solid #d9d0ba;
  border-radius: .9rem;
  overflow: clip;
}
@media (hover: hover) {
  .mz2-card { transition: transform .35s ease, box-shadow .35s ease; }
  .mz2-card:hover { transform: translateY(-6px); box-shadow: 0 38px 60px -34px rgba(90, 70, 20, .45); }
}
.mz2-cover {
  position: relative;
  height: 10.5rem;
  flex-shrink: 0;
  overflow: clip;
  background: linear-gradient(140deg, #EBE7DD, #F7F3E9);
}
.mz2-cover::before {
  content: "";
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 96px;
  opacity: .9;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2396762F%22%20stroke-width%3D%220.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%223.4%22%20r%3D%221.15%22%2F%3E%3Cpath%20d%3D%22M12%204.6v12.4M8.4%2020.6h7.2M12%2017v3.6M4.5%207.4h15%22%2F%3E%3Cpath%20d%3D%22M4.5%207.4L2.7%2012.2M4.5%207.4l1.8%204.8M2.3%2012.2a2.2%202.2%200%200%200%204.4%200%22%2F%3E%3Cpath%20d%3D%22M19.5%207.4l-1.8%204.8M19.5%207.4l1.8%204.8M17.3%2012.2a2.2%202.2%200%200%200%204.4%200%22%2F%3E%3C%2Fsvg%3E");
}
.mz2-cover::after {
  content: "LAW";
  position: absolute;
  bottom: .2rem;
  inset-inline-end: .8rem;
  font-family: "Marcellus", serif;
  font-size: 1.85rem;
  letter-spacing: .16em;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1px rgba(150, 118, 47, .45);
  direction: ltr;
}
.mz2-cover-tag { position: absolute; inset-inline-start: 1rem; bottom: .9rem; z-index: 2; margin: 0; }
.mz2-cover-tag a {
  background: #171207;
  color: #fbf7ec;
  padding: .34rem .85rem;
  border-radius: 999px;
  font-size: .8rem;
  font-weight: 700;
  text-decoration: none;
  display: inline-block;
}
.mz2-card-body { padding: 1.25rem 1.4rem 1.4rem; display: flex; flex-direction: column; flex: 1; }
.mz2-card-title { font-size: 1.14rem; line-height: 1.75; margin: 0 0 .5rem; }
.mz2-card-title a { color: #171207; text-decoration: none; }
.mz2-card-date { font-size: .82rem; color: #6b6151; margin: 0 0 .6rem; display: flex; align-items: center; gap: .5rem; }
.mz2-card-date::before { content: ""; width: 6px; height: 6px; background: #c6a15b; transform: rotate(45deg); flex-shrink: 0; }
.mz2-card-ex { color: #6b6151; font-size: .94rem; margin: 0 0 .8rem; }
.mz2-card-more { margin-top: auto; }
.wp-block-read-more.mz2-card-more, a.mz2-card-more {
  color: #96762f;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

.mz2-card.mz-cluster-emarat .mz2-cover { background: linear-gradient(150deg,#2A2110,#171207); }
.mz2-card.mz-cluster-emarat .mz2-cover::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23E4CB8F%22%20stroke-width%3D%220.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2.5%2021h19%22%2F%3E%3Cpath%20d%3D%22M4.5%2021V11h3v10M9.5%2021V5h3.4v16M14.5%2021v-8h3v8M19%2021V9h2.5v12%22%2F%3E%3Cpath%20d%3D%22M5.8%2014h.4M5.8%2017h.4M11%208.5h.4M11%2012h.4M11%2015.5h.4M15.8%2016h.4M20.2%2012.5h.4%22%2F%3E%3C%2Fsvg%3E"); opacity: .95; }
.mz2-card.mz-cluster-emarat .mz2-cover::after { content: "EMIRATES"; -webkit-text-stroke-color: rgba(228, 203, 143, .55); }
.mz2-card.mz-cluster-emarat .mz2-cover-tag a { background: #c6a15b; color: #171207; }
.mz2-card.mz-cluster-hoghooghi-gharardadha .mz2-cover { background: linear-gradient(140deg,#F4F1EC,#EBE7DD); }
.mz2-card.mz-cluster-hoghooghi-gharardadha .mz2-cover::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2396762F%22%20stroke-width%3D%220.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6.5%203h7l4%204v13.5h-11z%22%2F%3E%3Cpath%20d%3D%22M13.5%203v4h4%22%2F%3E%3Cpath%20d%3D%22M9.2%2010.8h5.6M9.2%2013.8h3.6%22%2F%3E%3Ccircle%20cx%3D%2215.4%22%20cy%3D%2217.4%22%20r%3D%221.9%22%2F%3E%3Cpath%20d%3D%22M14.5%2018.9l-.5%201.9%201.4-.9%201.4.9-.5-1.9%22%2F%3E%3C%2Fsvg%3E"); }
.mz2-card.mz-cluster-hoghooghi-gharardadha .mz2-cover::after { content: "CONTRACTS"; -webkit-text-stroke-color: rgba(150, 118, 47, .45); }
.mz2-card.mz-cluster-khanevade .mz2-cover { background: linear-gradient(140deg,#FBF7EC,#EFE8D8); }
.mz2-card.mz-cluster-khanevade .mz2-cover::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2396762F%22%20stroke-width%3D%220.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2011l8-6.6L20%2011%22%2F%3E%3Cpath%20d%3D%22M6.2%209.5V20h11.6V9.5%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2213.1%22%20r%3D%221.5%22%2F%3E%3Cpath%20d%3D%22M7.9%2019.7c.3-1.9%201-2.8%202.1-2.8s1.8.9%202.1%202.8%22%2F%3E%3Ccircle%20cx%3D%2214.8%22%20cy%3D%2214.5%22%20r%3D%221.15%22%2F%3E%3Cpath%20d%3D%22M13.2%2019.7c.2-1.4.8-2.1%201.6-2.1s1.4.7%201.6%202.1%22%2F%3E%3C%2Fsvg%3E"); }
.mz2-card.mz-cluster-khanevade .mz2-cover::after { content: "FAMILY"; -webkit-text-stroke-color: rgba(150, 118, 47, .45); }
.mz2-card.mz-cluster-keyfari .mz2-cover { background: linear-gradient(150deg,#241C0D,#171207); }
.mz2-card.mz-cluster-keyfari .mz2-cover::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23E4CB8F%22%20stroke-width%3D%220.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%223.4%22%20r%3D%221.15%22%2F%3E%3Cpath%20d%3D%22M12%204.6v12.4M8.4%2020.6h7.2M12%2017v3.6M4.5%207.4h15%22%2F%3E%3Cpath%20d%3D%22M4.5%207.4L2.7%2012.2M4.5%207.4l1.8%204.8M2.3%2012.2a2.2%202.2%200%200%200%204.4%200%22%2F%3E%3Cpath%20d%3D%22M19.5%207.4l-1.8%204.8M19.5%207.4l1.8%204.8M17.3%2012.2a2.2%202.2%200%200%200%204.4%200%22%2F%3E%3C%2Fsvg%3E"); opacity: .95; }
.mz2-card.mz-cluster-keyfari .mz2-cover::after { content: "JUSTICE"; -webkit-text-stroke-color: rgba(228, 203, 143, .55); }
.mz2-card.mz-cluster-keyfari .mz2-cover-tag a { background: #c6a15b; color: #171207; }
.mz2-card.mz-cluster-melk-shahrdari .mz2-cover { background: linear-gradient(140deg,#EFE9DB,#E2D8BE); }
.mz2-card.mz-cluster-melk-shahrdari .mz2-cover::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2396762F%22%20stroke-width%3D%220.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%209.6L12%204.2l8%205.4%22%2F%3E%3Cpath%20d%3D%22M3.6%209.6h16.8%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%227.5%22%20r%3D%22.95%22%2F%3E%3Cpath%20d%3D%22M5%2012.2h14%22%2F%3E%3Cpath%20d%3D%22M6.6%2012.2v4.8M10.2%2012.2v4.8M13.8%2012.2v4.8M17.4%2012.2v4.8%22%2F%3E%3Cpath%20d%3D%22M5%2017h14M3.8%2020.2h16.4%22%2F%3E%3C%2Fsvg%3E"); }
.mz2-card.mz-cluster-melk-shahrdari .mz2-cover::after { content: "PROPERTY"; -webkit-text-stroke-color: rgba(150, 118, 47, .45); }
.mz2-card.mz-cluster-sherkat-brand .mz2-cover { background: linear-gradient(140deg,#F4F1EC,#E9E2D0); }
.mz2-card.mz-cluster-sherkat-brand .mz2-cover::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2396762F%22%20stroke-width%3D%220.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%229.6%22%20r%3D%225.5%22%2F%3E%3Cpath%20d%3D%22M12%206.8l.84%201.92%202.1.22-1.58%201.38.46%202.05L12%2011.35l-1.82%201.02.46-2.05-1.58-1.38%202.1-.22z%22%2F%3E%3Cpath%20d%3D%22M8.7%2014.1l-1.5%206.1%202.7-1.45%202.1%201.5-.7-4.9M15.3%2014.1l1.5%206.1-2.7-1.45-2.1%201.5.7-4.9%22%2F%3E%3C%2Fsvg%3E"); }
.mz2-card.mz-cluster-sherkat-brand .mz2-cover::after { content: "BRAND"; -webkit-text-stroke-color: rgba(150, 118, 47, .45); }
.mz2-card.mz-cluster-raf-taahod-arzi .mz2-cover { background: linear-gradient(140deg,#EBE7DD,#DFD3B4); }
.mz2-card.mz-cluster-raf-taahod-arzi .mz2-cover::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2396762F%22%20stroke-width%3D%220.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%228.4%22%2F%3E%3Cpath%20d%3D%22M15.3%209.2c-.7-1-1.9-1.6-3.3-1.6-2%200-3.4%201.2-3.4%202.9%200%203.8%206.9%202%206.9%204.6%200%201.1-1.3%202-3.1%202-1.5%200-2.8-.7-3.6-1.8M12%205.6v1.6M12%2016.8v1.6%22%2F%3E%3C%2Fsvg%3E"); }
.mz2-card.mz-cluster-raf-taahod-arzi .mz2-cover::after { content: "CURRENCY"; -webkit-text-stroke-color: rgba(150, 118, 47, .45); }
.mz2-card.mz-cluster-risk-gharardad-beynalmelali .mz2-cover { background: linear-gradient(150deg,#2A2110,#171207); }
.mz2-card.mz-cluster-risk-gharardad-beynalmelali .mz2-cover::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23E4CB8F%22%20stroke-width%3D%220.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%228.4%22%2F%3E%3Cellipse%20cx%3D%2212%22%20cy%3D%2212%22%20rx%3D%223.8%22%20ry%3D%228.4%22%2F%3E%3Cpath%20d%3D%22M4.1%208.2c2.2%201.1%204.9%201.7%207.9%201.7s5.7-.6%207.9-1.7M4.1%2015.8c2.2-1.1%204.9-1.7%207.9-1.7s5.7.6%207.9%201.7%22%2F%3E%3C%2Fsvg%3E"); opacity: .95; }
.mz2-card.mz-cluster-risk-gharardad-beynalmelali .mz2-cover::after { content: "GLOBAL"; -webkit-text-stroke-color: rgba(228, 203, 143, .55); }
.mz2-card.mz-cluster-risk-gharardad-beynalmelali .mz2-cover-tag a { background: #c6a15b; color: #171207; }
.mz2-card.mz-cluster-moshtarakat-madani-sakht .mz2-cover { background: linear-gradient(140deg,#F1EBDC,#E7DFC9); }
.mz2-card.mz-cluster-moshtarakat-madani-sakht .mz2-cover::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2396762F%22%20stroke-width%3D%220.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2021h18%22%2F%3E%3Cpath%20d%3D%22M5.5%2021V11l5.5-3.5V21M11%2021V9.5l5.5%203V21%22%2F%3E%3Cpath%20d%3D%22M7.8%2013.5h.9M7.8%2016.8h.9M13.7%2013.5h.9M13.7%2016.8h.9%22%2F%3E%3Cpath%20d%3D%22M16.5%209.5l3-4.5M19.5%205H21%22%2F%3E%3C%2Fsvg%3E"); }
.mz2-card.mz-cluster-moshtarakat-madani-sakht .mz2-cover::after { content: "BUILD"; -webkit-text-stroke-color: rgba(150, 118, 47, .45); }
.mz2-card[class*="mz-cluster-landing-"] .mz2-cover::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2396762F%22%20stroke-width%3D%220.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6.5%203h7l4%204v13.5h-11z%22%2F%3E%3Cpath%20d%3D%22M13.5%203v4h4%22%2F%3E%3Cpath%20d%3D%22M9.2%2010.8h5.6M9.2%2013.8h3.6%22%2F%3E%3Ccircle%20cx%3D%2215.4%22%20cy%3D%2217.4%22%20r%3D%221.9%22%2F%3E%3Cpath%20d%3D%22M14.5%2018.9l-.5%201.9%201.4-.9%201.4.9-.5-1.9%22%2F%3E%3C%2Fsvg%3E"); }
.mz2-card[class*="mz-cluster-landing-"] .mz2-cover::after { content: "GUIDE"; }

/* ---------- Archive header band ---------- */
.mz2-archive-head { padding-block: 4.2rem 3rem; overflow: clip; }
.mz2-archive-title { font-size: clamp(2.1rem, 5vw, 3.3rem); line-height: 1.35; margin: .4rem 0 0; color: #fbf7ec; }
.mz2-archive-desc { color: #cfc6b2; max-width: 44em; margin-top: 1rem; }
.mz2-search-form { max-width: 34rem; margin-top: 1.6rem; }
.mz2-search-form .wp-block-search__input {
  background: rgba(251, 247, 236, .08);
  border-color: rgba(228, 203, 143, .4);
  color: #fbf7ec;
}
.mz2-pager { margin-top: 2.6rem; gap: .5rem; }
.mz2-pager a, .mz2-pager .page-numbers {
  border: 1px solid #d9d0ba;
  border-radius: .4rem;
  padding: .45rem .95rem;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: #171207;
  text-decoration: none;
  background: #fff;
}
.mz2-pager .page-numbers.current { background: #c6a15b; border-color: #c6a15b; font-weight: 700; }

/* ---------- Single article ---------- */
.mz2-article-head { padding-block: 4.4rem 3.2rem; overflow: clip; }
.mz2-article-head::before {
  content: "";
  position: absolute;
  top: -70px;
  inset-inline-end: -90px;
  width: 460px;
  height: 460px;
  background-repeat: no-repeat;
  background-size: contain;
  opacity: .13;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23E4CB8F%22%20stroke-width%3D%220.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%223.4%22%20r%3D%221.15%22%2F%3E%3Cpath%20d%3D%22M12%204.6v12.4M8.4%2020.6h7.2M12%2017v3.6M4.5%207.4h15%22%2F%3E%3Cpath%20d%3D%22M4.5%207.4L2.7%2012.2M4.5%207.4l1.8%204.8M2.3%2012.2a2.2%202.2%200%200%200%204.4%200%22%2F%3E%3Cpath%20d%3D%22M19.5%207.4l-1.8%204.8M19.5%207.4l1.8%204.8M17.3%2012.2a2.2%202.2%200%200%200%204.4%200%22%2F%3E%3C%2Fsvg%3E");
}
.mz2-article-head.mz-cluster-emarat::before, .mz2-article-head.mz-cluster-risk-gharardad-beynalmelali::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23E4CB8F%22%20stroke-width%3D%220.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%228.4%22%2F%3E%3Cellipse%20cx%3D%2212%22%20cy%3D%2212%22%20rx%3D%223.8%22%20ry%3D%228.4%22%2F%3E%3Cpath%20d%3D%22M4.1%208.2c2.2%201.1%204.9%201.7%207.9%201.7s5.7-.6%207.9-1.7M4.1%2015.8c2.2-1.1%204.9-1.7%207.9-1.7s5.7.6%207.9%201.7%22%2F%3E%3C%2Fsvg%3E"); }
.mz2-article-head.mz-cluster-melk-shahrdari::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23E4CB8F%22%20stroke-width%3D%220.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%209.6L12%204.2l8%205.4%22%2F%3E%3Cpath%20d%3D%22M3.6%209.6h16.8%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%227.5%22%20r%3D%22.95%22%2F%3E%3Cpath%20d%3D%22M5%2012.2h14%22%2F%3E%3Cpath%20d%3D%22M6.6%2012.2v4.8M10.2%2012.2v4.8M13.8%2012.2v4.8M17.4%2012.2v4.8%22%2F%3E%3Cpath%20d%3D%22M5%2017h14M3.8%2020.2h16.4%22%2F%3E%3C%2Fsvg%3E"); }
.mz2-article-head > * { position: relative; z-index: 1; }
.mz2-article-tag { margin: 0 0 1.3rem; }
.mz2-article-tag a {
  background: #c6a15b;
  color: #171207;
  padding: .38rem .95rem;
  border-radius: 999px;
  font-size: .85rem;
  font-weight: 700;
  text-decoration: none;
  display: inline-block;
}
.mz2-article-title { font-size: clamp(1.9rem, 4.6vw, 3.15rem); line-height: 1.45; margin: 0; max-width: 21em; color: #fbf7ec; }
.mz2-article-meta { gap: 1.2rem; margin-top: 1.5rem; color: #b7ac93; font-size: .92rem; align-items: center; }
.mz2-article-meta .wp-block-post-date { display: flex; align-items: center; gap: .5rem; }
.mz2-article-meta .wp-block-post-date::before { content: ""; width: 6px; height: 6px; background: #c6a15b; transform: rotate(45deg); }
.mz2-article-author { margin: 0; }
.mz2-article-body { padding-top: .4rem; }
.mz2-article-body .wp-block-post-content { font-size: 1.06rem; line-height: 2.05; }
.mz2-article-body .wp-block-post-content > p:first-of-type {
  font-size: 1.17rem;
  line-height: 2;
  color: #171207;
  border-inline-start: 3px solid #c6a15b;
  padding-inline-start: 1.1rem;
}
.mz2-article-body .wp-block-post-content h2 { margin-top: 2.1em; }
.mz2-article-body .wp-block-post-content h3 { margin-top: 1.7em; }
.mz2-post-nav { border-top: 1px solid #d9d0ba; margin-top: 3rem; padding-top: 1.3rem; gap: 1rem; }
.mz2-post-nav a { color: #96762f; font-weight: 700; text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; }
.mz2-related { border-top: 1px solid #d9d0ba; margin-top: 3.5rem; padding-block: 3rem 4.2rem; }

/* ---------- Responsive + desktop passes ---------- */
@media (min-width: 1200px) {
  .mz2-hero { padding-block: 11rem 4.2rem; }
  .mz2-archive-head { padding-block: 5rem 3.6rem; }
  .mz2-article-head { padding-block: 5.2rem 3.8rem; }
  .mz2-svc-grid, .mz2-spec-grid { gap: 1.4rem; }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .wp-block-post-template.is-flex-container.columns-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wp-block-post-template.is-flex-container.columns-3 > li { width: auto; }
}
@media (max-width: 1199px) {
  .mz2-svc-grid { grid-template-columns: repeat(2, 1fr); }
  .mz2-spec-grid { grid-template-columns: repeat(2, 1fr); }
  .mz2-cover { height: 9.5rem; }
}
@media (max-width: 767px) {
  .mz2-hero { padding-block: 6.8rem 2.4rem; min-height: 0; }
  .mz2-badge { display: none; }
  .mz2-outline { font-size: 36vw; top: .8rem; }
  .mz2-hero-photo { margin-top: 1.6rem; }
  .mz2-ghost { font-size: 26vw; }
  .mz2-decor--scales { width: 300px; height: 300px; top: -16px; inset-inline-end: -50px; }
  .mz2-svc-grid, .mz2-spec-grid { grid-template-columns: 1fr; }
  .wp-block-post-template.is-flex-container { grid-template-columns: minmax(0, 1fr) !important; }
  .wp-block-post-template.is-flex-container > li { width: 100% !important; flex-basis: 100% !important; }
  .mz2-cover { height: 8.5rem; }
  .mz2-archive-head { padding-block: 3rem 2.2rem; }
  .mz2-article-head { padding-block: 3rem 2.2rem; }
  .mz2-article-head::before { width: 300px; height: 300px; top: -40px; inset-inline-end: -60px; }
  .mz2-step-num { font-size: 2rem; }
  .mz2-manifesto { padding-block: 3.6rem 3rem; }
  .mz2-services, .mz2-process, .mz2-faq, .mz2-specialties { padding-block: 3.4rem; }
  .mz2-about { padding-block: 1.4rem 3.4rem; }
}

/* v2.2 fix: clip every decor-bearing section so parallax layers never widen the page */
.mz2-manifesto, .mz2-about, .mz2-services, .mz2-process, .mz2-faq, .mz2-specialties, .mz2-cta { overflow: clip; }
html { overflow-x: clip; }

/* v2.2 fix 2: badge presence — larger, higher, stronger ring */
.mz2-badge { top: 4.6rem; width: 134px; height: 134px; }
.mz2-badge .mz2-badge-ring circle:first-of-type { stroke: rgba(228, 203, 143, .62); }
.mz2-badge .mz2-badge-ring text { font-size: 10.5px; }
