:root {
  --mm-red: #c8102e;
  --mm-red-dark: #9e0b23;
  --mm-black: #111214;
  --mm-charcoal: #24262a;
  --mm-ink: #17181b;
  --mm-muted: #62666d;
  --mm-line: #e6e7ea;
  --mm-soft: #f5f5f6;
  --mm-white: #ffffff;
  --mm-max: 1180px;
  --mm-radius: 18px;
  --mm-shadow: 0 16px 45px rgba(20, 22, 26, .09);
}

html { scroll-behavior: smooth; }
body.milan-sitekit-active { color: var(--mm-ink); background: #fff; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
.milan-sitekit-active .grid-container { max-width: var(--mm-max); }
.milan-sitekit-active .site-content { padding: 0; }
.milan-sitekit-active .content-area { width: 100%; }
.milan-sitekit-active .widget-area { display: none; }
.milan-sitekit-active .inside-article { padding: 0; }
.milan-sitekit-active .entry-header { display: none; }
.milan-sitekit-active .site-main { margin: 0; }
.milan-sitekit-active .site-info { display: none; }

.milan-sitekit-active .site-header { background: rgba(255,255,255,.98); border-bottom: 1px solid var(--mm-line); position: sticky; top: 0; z-index: 999; box-shadow: 0 5px 22px rgba(17,18,20,.04); }
.milan-sitekit-active .inside-header { max-width: var(--mm-max); padding-top: 16px; padding-bottom: 16px; }
.milan-sitekit-active .site-branding .main-title { line-height: 1; }
.milan-sitekit-active .site-branding .main-title a { color: var(--mm-black); font-weight: 900; letter-spacing: -1.1px; font-size: clamp(24px, 3vw, 34px); }
.milan-sitekit-active .site-branding .main-title a::before { content: "M"; display: inline-grid; place-items: center; width: 42px; height: 42px; margin-right: 11px; background: var(--mm-red); color: #fff; border-radius: 8px 8px 2px 8px; font-size: 24px; letter-spacing: 0; vertical-align: middle; box-shadow: 4px 4px 0 var(--mm-black); }
.milan-sitekit-active .site-description { color: var(--mm-muted); font-size: 13px; margin-top: 6px; }
.milan-sitekit-active .main-navigation { background: transparent; }
.milan-sitekit-active .main-navigation .main-nav ul li a { color: var(--mm-black); font-weight: 700; font-size: 14px; padding-left: 14px; padding-right: 14px; }
.milan-sitekit-active .main-navigation .main-nav ul li:hover > a,
.milan-sitekit-active .main-navigation .main-nav ul li.current-menu-item > a { color: var(--mm-red); background: transparent; }
.milan-sitekit-active .menu-toggle { background: var(--mm-black); color: #fff; border-radius: 8px; }

.mm-section { padding: 88px 26px; }
.mm-section > * { width: min(100%, var(--mm-max)); margin-left: auto; margin-right: auto; }
.mm-section--intro { padding-top: 92px; padding-bottom: 68px; background: linear-gradient(135deg, #fff 0%, #fafafa 60%, #f2f2f3 100%); border-bottom: 1px solid var(--mm-line); }
.mm-section--white { background: #fff; }
.mm-section--soft { background: var(--mm-soft); }
.mm-section--dark { background: var(--mm-black); color: #fff; }
.mm-section--dark .mm-section-title, .mm-section--dark .mm-card-title, .mm-section--dark h2, .mm-section--dark h3 { color: #fff; }
.mm-section--dark .mm-card { background: #1d1f22; border-color: #32343a; box-shadow: none; }
.mm-section--dark .mm-card p { color: #d9dadd; }
.mm-section--dark .mm-card-kicker, .mm-section--dark .mm-eyebrow { color: #ff5a70; }
.mm-section--dark .mm-card-link a { color: #fff; }

.mm-eyebrow, .mm-hero__eyebrow, .mm-card-kicker, .mm-facts__label { text-transform: uppercase; letter-spacing: .18em; font-size: 12px; font-weight: 900; color: var(--mm-red); margin: 0 0 14px; }
.mm-page-title { font-size: clamp(42px, 7vw, 76px); line-height: .98; letter-spacing: -3px; margin: 0 0 24px; max-width: 880px; font-weight: 900; color: var(--mm-black); }
.mm-section-title { font-size: clamp(34px, 5vw, 55px); line-height: 1.02; letter-spacing: -2px; margin: 0 0 22px; max-width: 900px; font-weight: 900; color: var(--mm-black); }
.mm-lead { font-size: clamp(19px, 2.3vw, 24px); line-height: 1.55; color: #4c5057; max-width: 880px; margin-bottom: 40px; }
.mm-section--dark .mm-lead { color: #d7d8da; }

.mm-hero { min-height: 650px; }
.mm-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(10,10,11,.90) 0%, rgba(10,10,11,.70) 46%, rgba(10,10,11,.28) 100%) !important; opacity: 1 !important; }
.mm-hero__content { width: min(100%, var(--mm-max)); padding: 110px 26px; margin: auto; }
.mm-hero__eyebrow { color: #ff7185; }
.mm-hero__title { color: #fff; font-size: clamp(52px, 8vw, 92px); line-height: .9; letter-spacing: -4px; font-weight: 950; max-width: 850px; margin: 0 0 28px; }
.mm-hero__title span { color: #ff334f; }
.mm-hero__lead { color: #f3f3f4; font-size: clamp(19px, 2.2vw, 24px); max-width: 720px; line-height: 1.5; margin-bottom: 34px; }
.mm-hero__buttons { gap: 14px; }
.mm-button-primary .wp-block-button__link, .mm-button, .milan-sitekit-active .gb-button { background: var(--mm-red); color: #fff; border-radius: 8px; padding: 14px 22px; font-weight: 800; border: 2px solid var(--mm-red); text-decoration: none; transition: .2s ease; }
.mm-button-primary .wp-block-button__link:hover, .mm-button:hover { background: var(--mm-red-dark); border-color: var(--mm-red-dark); transform: translateY(-1px); }
.mm-button-outline .wp-block-button__link { color: #fff; border: 2px solid rgba(255,255,255,.75); border-radius: 8px; padding: 14px 22px; font-weight: 800; background: rgba(255,255,255,.04); }
.mm-button-outline .wp-block-button__link:hover { background: #fff; color: var(--mm-black); }

.mm-card-grid { display: grid; gap: 22px; margin-top: 42px; }
.mm-card-grid.mm-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mm-card-grid.mm-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mm-card { padding: 30px; background: #fff; border: 1px solid var(--mm-line); border-radius: var(--mm-radius); box-shadow: var(--mm-shadow); transition: transform .2s ease, box-shadow .2s ease; }
.mm-card:hover { transform: translateY(-4px); box-shadow: 0 22px 55px rgba(20,22,26,.13); }
.mm-card-title { font-size: 25px; line-height: 1.08; letter-spacing: -.8px; margin: 0 0 14px; font-weight: 900; color: var(--mm-black); }
.mm-card p { color: #555a61; line-height: 1.65; }
.mm-address { font-size: 13px; font-weight: 800; color: var(--mm-black) !important; }
.mm-card-link { margin: 22px 0 0; }
.mm-card-link a { color: var(--mm-red); font-weight: 900; text-decoration: none; }
.mm-card-link a:hover { text-decoration: underline; }
.mm-listing-note, .mm-source-note { color: var(--mm-muted); font-size: 13px; margin-top: 26px; }
.mm-section--dark .mm-listing-note { color: #9da1a8; }

.mm-split { gap: 56px; }
.mm-facts { background: #fff; border-radius: 22px; padding: 34px; box-shadow: var(--mm-shadow); border-top: 7px solid var(--mm-red); }
.mm-facts__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.mm-facts__grid div { padding: 21px; border-radius: 12px; background: var(--mm-soft); min-height: 120px; }
.mm-facts__grid strong { display: block; font-size: 27px; color: var(--mm-black); line-height: 1; margin-bottom: 10px; }
.mm-facts__grid span { color: var(--mm-muted); font-size: 13px; line-height: 1.35; }

.mm-stat-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: #36383c; border: 1px solid #36383c; border-radius: var(--mm-radius); overflow: hidden; margin-top: 36px; }
.mm-stat-row div { background: #1b1d20; padding: 30px; }
.mm-stat-row strong { color: #fff; font-size: 36px; display: block; margin-bottom: 10px; }
.mm-stat-row span { color: #c8c9cd; font-size: 13px; line-height: 1.4; }

.mm-map { overflow: hidden; border-radius: 20px; min-height: 420px; box-shadow: var(--mm-shadow); border: 1px solid var(--mm-line); background: #ddd; }
.mm-map iframe { width: 100%; height: 100%; min-height: 420px; border: 0; display: block; }
.mm-map--wide { margin-top: 38px; min-height: 500px; }
.mm-map--wide iframe { min-height: 500px; }

.mm-quote { background: var(--mm-black); color: #fff; padding: 42px; border-radius: 20px; box-shadow: var(--mm-shadow); }
.mm-quote p { font-size: 27px; line-height: 1.3; font-weight: 750; margin: 0 0 18px; }
.mm-quote span { color: #ff7185; font-size: 13px; font-weight: 800; }

.mm-timeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin: 40px 0; }
.mm-timeline > div { background: #fff; border: 1px solid var(--mm-line); border-radius: 16px; padding: 28px; }
.mm-timeline span { display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--mm-red); color: #fff; font-weight: 900; margin-bottom: 18px; }
.mm-timeline h3 { margin: 0 0 10px; font-size: 20px; color: var(--mm-black); }
.mm-timeline p { color: var(--mm-muted); line-height: 1.55; }

.mm-faq { border-top: 1px solid var(--mm-line); padding: 24px 0; }
.mm-faq:last-child { border-bottom: 1px solid var(--mm-line); }
.mm-faq summary { font-size: 20px; font-weight: 850; color: var(--mm-black); cursor: pointer; }
.mm-faq p { color: var(--mm-muted); max-width: 900px; line-height: 1.65; }

.mm-contact-layout { gap: 48px; }
.mm-contact-form { background: #fff; }
.mm-contact-form label { display: block; font-weight: 850; margin-bottom: 7px; color: var(--mm-black); }
.mm-contact-form input, .mm-contact-form textarea { width: 100%; border: 1px solid #d8dadd; border-radius: 9px; padding: 13px 14px; background: #fff; color: var(--mm-black); font: inherit; }
.mm-contact-form input:focus, .mm-contact-form textarea:focus { outline: 3px solid rgba(200,16,46,.13); border-color: var(--mm-red); }
.mm-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.mm-contact-note { background: var(--mm-black); color: #fff; border-radius: 18px; padding: 34px; }
.mm-contact-note h2 { color: #fff; margin-top: 0; }
.mm-contact-note p { color: #d4d5d8; }
.mm-contact-note a { color: #ff7185; font-weight: 800; }
.mm-hp { position: absolute !important; left: -9999px !important; }
.mm-form-status { padding: 14px 16px; border-radius: 8px; margin-bottom: 20px; font-weight: 750; }
.mm-form-success { background: #e9f8ef; color: #185b30; }
.mm-form-error { background: #fff0f2; color: #8b1025; }

.mm-credit { background: #0b0c0e; color: #90939a; padding: 13px 26px; text-align: center; font-size: 11px; }
.mm-credit p { margin: 0; }

.mm-footer { background: #0d0e10; color: #c7c9ce; border-top: 6px solid var(--mm-red); }
.mm-footer__inner { width: min(calc(100% - 48px), var(--mm-max)); margin: 0 auto; display: grid; grid-template-columns: 1.55fr 1fr 1fr 1fr; gap: 42px; padding: 64px 0 50px; }
.mm-footer h2 { color: #fff; font-size: 15px; text-transform: uppercase; letter-spacing: .1em; margin: 0 0 18px; }
.mm-footer p { line-height: 1.6; }
.mm-footer ul { list-style: none; margin: 0; padding: 0; }
.mm-footer li { margin: 0 0 10px; }
.mm-footer a { color: #d9dade; text-decoration: none; }
.mm-footer a:hover { color: #fff; text-decoration: underline; }
.mm-footer__logo { display: inline-flex; align-items: center; color: #fff !important; font-size: 23px; font-weight: 900; margin-bottom: 15px; letter-spacing: -.6px; }
.mm-footer__logo span { display: inline-grid; place-items: center; width: 38px; height: 38px; background: var(--mm-red); border-radius: 7px 7px 2px 7px; margin-right: 10px; box-shadow: 3px 3px 0 #3b3d42; }
.mm-footer__bottom { width: min(calc(100% - 48px), var(--mm-max)); margin: 0 auto; border-top: 1px solid #2b2d31; padding: 22px 0 34px; font-size: 12px; color: #8e9198; display: flex; justify-content: space-between; gap: 24px; }
.mm-footer__bottom p { margin: 0; max-width: 650px; }
.mm-photo-credit { text-align: right; }

@media (max-width: 1024px) {
  .mm-card-grid.mm-cols-4 { grid-template-columns: repeat(2, 1fr); }
  .mm-card-grid.mm-cols-3 { grid-template-columns: repeat(2, 1fr); }
  .mm-stat-row { grid-template-columns: repeat(2, 1fr); }
  .mm-timeline { grid-template-columns: repeat(2, 1fr); }
  .mm-footer__inner { grid-template-columns: 1.4fr 1fr 1fr; }
  .mm-footer__inner > div:last-child { grid-column: 2 / span 2; }
}

@media (max-width: 768px) {
  .mm-section { padding: 64px 20px; }
  .mm-section--intro { padding-top: 66px; }
  .mm-page-title { letter-spacing: -2px; }
  .mm-section-title { letter-spacing: -1.5px; }
  .mm-hero { min-height: 610px !important; }
  .mm-hero__content { padding: 90px 20px; }
  .mm-hero__title { letter-spacing: -3px; }
  .mm-card-grid.mm-cols-4, .mm-card-grid.mm-cols-3 { grid-template-columns: 1fr; }
  .mm-facts__grid { grid-template-columns: 1fr; }
  .mm-stat-row { grid-template-columns: 1fr; }
  .mm-timeline { grid-template-columns: 1fr; }
  .mm-form-grid { grid-template-columns: 1fr; gap: 0; }
  .mm-map, .mm-map iframe { min-height: 360px; }
  .mm-map--wide, .mm-map--wide iframe { min-height: 390px; }
  .mm-footer__inner { grid-template-columns: 1fr; gap: 28px; padding-top: 48px; }
  .mm-footer__inner > div:last-child { grid-column: auto; }
  .mm-footer__bottom { flex-direction: column; }
  .mm-photo-credit { text-align: left; }
  .milan-sitekit-active .inside-header { padding-left: 20px; padding-right: 20px; }
  .milan-sitekit-active .site-branding .main-title a::before { width: 36px; height: 36px; font-size: 21px; }
}
