/* Override Elementor's smooth scrolling so pin refreshes read the actual scroll position. */
html:root { scroll-behavior: auto; scroll-padding-top: 30px; }
@font-face { font-family: 'Bodoni Moda'; src: url('../fonts/bodoni-moda.ttf') format('truetype'); font-weight: 400 900; font-display: swap; }
body .elementor { --e-global-color-primary: #00022E; --e-global-color-secondary: #AD9B72; --e-global-color-text: #00022E; --e-global-color-accent: #AD9B72; --e-global-typography-primary-font-family: 'Climora'; --e-global-typography-primary-font-weight: 400; --e-global-typography-text-font-family: 'Figtree'; }
body .elementor .elementor-heading-title { color: inherit; font-family: var(--mc-font-display); font-weight: 400; font-size: inherit; line-height: inherit; letter-spacing: -.02em; }
body .elementor .elementor-widget-text-editor { color: inherit; font-family: var(--mc-font-body); }
body .elementor p { margin-top: 0; }
body .elementor a { text-decoration: none; }
body .elementor a:hover { text-underline-offset: .2em; }
body .mc-home-section.e-con, body .mc-home-section > .e-con-inner { gap: 0; padding: 0; width: 100%; max-width: none; }
body .mc-home-section .elementor-widget { margin-bottom: 0; }
.mc-home-section .elementor-widget-heading { font-size: clamp(48px, 6.2vw, 119px); line-height: .98; }
.mc-home-section .elementor-widget-image img { display: block; }
.mc-home-section .elementor-widget-image .elementor-widget-container { height: 100%; }
.mc-home-section .elementor-widget-text-editor { font-size: clamp(16px, 1.25vw, 24px); line-height: 1.5; }
.mc-home-section .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.mc-home-section .mc-small-text { font-size: clamp(12px, .94vw, 18px); }
body .mc-header.e-con { padding: clamp(22px, 2vw, 40px); flex-direction: row; align-items: center; justify-content: space-between; gap: 32px; color: white; background: transparent; }
body .elementor-location-header { position: absolute; z-index: 20; width: 100%; top: 0; }
body.admin-bar .elementor-location-header { top: 32px; }
.mc-header .mc-header-logo { width: clamp(170px, 15vw, 290px); }
.mc-header-logo img { filter: brightness(0) invert(1); width: 100%; }
.mc-header .mc-header-links { width: auto; }
.mc-navigation { display: flex; align-items: center; gap: 44px; font-size: 13px; text-transform: uppercase; letter-spacing: .05em; }
.mc-navigation > a { border-bottom: 1px solid currentColor; padding-bottom: 5px; }
.mc-navigation details { position: relative; }
.mc-navigation summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 14px; padding: 10px; }
.mc-navigation summary::-webkit-details-marker { display: none; }
.mc-navigation summary::after { content: '+'; font-size: 21px; font-weight: 300; }
.mc-navigation details[open] summary::after { content: '−'; }
.mc-navigation details nav { position: absolute; right: 0; top: 100%; min-width: 240px; display: flex; flex-direction: column; gap: 4px; padding: 20px; color: var(--mc-color-ink); background: var(--mc-color-paper); box-shadow: 0 12px 32px #0002; }
.mc-navigation details nav a { padding: 10px; }
.mc-navigation details nav a:hover { background: #AD9B7233; }
body .mc-founder.e-con { min-height: 56.5vw; padding: 4vw 10vw 0; align-items: center; text-align: center; position: relative; overflow: hidden; background: var(--mc-color-paper); }
.mc-founder::before, .mc-mosaic::before { content: ''; position: absolute; inset: 0; background: var(--mc-texture) center/cover; opacity: .055; pointer-events: none; filter: grayscale(1); }
.mc-founder > * { position: relative; }
.mc-founder .mc-founder-role { font-size: clamp(12px, 1.15vw, 22px); text-transform: uppercase; margin-top: 12px; }
.mc-founder .mc-founder-copy { max-width: 62vw; margin: 2vw auto 2.7vw; font-size: clamp(18px, 1.9vw, 36px); line-height: 1.5; }
.mc-founder .mc-founder-portrait { width: 55vw; margin-top: auto; height: 32.3vw; position: relative; background: var(--mc-color-gold); border-radius: 0 20vw 0 20vw; }
.mc-founder-portrait::before, .mc-quote-mark, .mc-showcase-quote-mark { background: url('../images/quotes.svg') center/contain no-repeat; }
.mc-founder-portrait::before { content: ''; position: absolute; z-index: 2; top: 3vw; left: -6.5vw; width: 14vw; height: 11.7vw; }
.mc-founder-portrait img { width: 53%; height: 100%; object-fit: cover; object-position: center 46%; margin: auto;}
.mc-founder-portrait > .elementor-widget-container { border-radius: inherit; }
body .mc-mosaic.e-con { height: 55vw; min-height: 600px; position: relative; overflow: hidden; display: grid; grid-template-columns: repeat(7, 1fr); grid-template-rows: repeat(3, 1fr); gap: 1vw; padding: 3vw 0; align-items: center; }
.mc-mosaic .elementor-widget-heading { grid-column: 3 / 6; grid-row: 2; text-align: center; z-index: 1; padding-inline: 2vw; font-size: 5.7vw; }
.mc-mosaic .mc-logo-tile { background: var(--mc-color-gold); aspect-ratio: 1; width: 100%; padding: 1vw; display: flex; align-items: center; justify-content: center; }
.mc-logo-tile img { width: 100%; filter: brightness(0) invert(1); object-fit: contain; }
.mc-logo-tile a { display: block; }
.mc-mosaic .mc-tile-1 { grid-column: 3; grid-row: 1; transform: rotate(8deg); }
.mc-mosaic .mc-tile-2 { grid-column: 5; grid-row: 1; transform: rotate(-5deg); }
.mc-mosaic .mc-tile-3 { grid-column: 1; grid-row: 2; }
.mc-mosaic .mc-tile-4 { grid-column: 2; grid-row: 2; }
.mc-mosaic .mc-tile-5 { grid-column: 6; grid-row: 2; }
.mc-mosaic .mc-tile-6 { grid-column: 7; grid-row: 2; }
.mc-mosaic .mc-tile-7 { grid-column: 3; grid-row: 3; transform: rotate(7deg); }
.mc-mosaic .mc-tile-8 { grid-column: 5; grid-row: 3; transform: rotate(-5deg); }
body .mc-brochure.e-con { min-height: 35vw; padding: 6vw 2vw; flex-direction: row; align-items: flex-start; background: var(--mc-color-gold); color: white; position: relative; }
.mc-brochure .elementor-widget-heading { width: 55%; font-size: 6vw; }
.mc-brochure .mc-brochure-action { width: 49%; align-self: flex-end; margin-left: -4%; }
.mc-brochure-action .elementor-form-fields-wrapper { margin: 0; gap: 26px; }
.mc-brochure-action .elementor-field-group { padding: 0; margin: 0; width: 100%; }
.mc-brochure-action .elementor-field-label { color: var(--mc-color-paper); font-size: 12px; text-transform: uppercase; }
body .mc-brochure-action .elementor-field-textual { background: transparent; border: 0; border-bottom: 1px solid #ffffff66; border-radius: 0; color: white; padding: 10px 0; min-height: 36px; }
body .mc-brochure-action .elementor-form .elementor-button { width: 100%; min-height: max(64px, 7.5vw); border-radius: 0; padding: 20px; background: var(--mc-color-paper); color: var(--mc-color-ink); font-size: clamp(12px, .94vw, 18px); text-transform: uppercase; }
.mc-brochure-action .elementor-button:disabled { cursor: not-allowed; opacity: 1; }
.mc-brochure-action .mc-brochure-notice { margin: 14px 0 0; font-size: 14px; color: var(--mc-color-ink); }
.mc-brochure-action .elementor-field-type-html { color: var(--mc-color-ink); font-size: 12px; }
.mc-brochure-action .mc-button { width: 100%; min-height: 7.5vw; color: var(--mc-color-ink); font-size: clamp(12px, .94vw, 18px); }
body .mc-contact.e-con { min-height: 0; padding: 6vw 18vw; background: var(--mc-contact-image) center/cover; align-items: center; justify-content: center; }
body .mc-contact-panel.e-con { width: 100%; padding: 2.5vw; gap: 18px; background: #EAE5D8; }
.mc-contact-panel .elementor-widget-heading { font-size: clamp(40px, 4.9vw, 94px); }
.mc-contact-panel .mc-contact-copy { font-size: clamp(14px, 1.04vw, 20px); }
.mc-contact-panel .elementor-form-fields-wrapper { row-gap: 14px; margin: 0; }
.mc-contact-panel .elementor-field-group { padding: 0; margin: 0; }
.mc-contact-panel .elementor-field-label { font-size: 13px; text-transform: uppercase; }
.mc-contact-panel .elementor-field:not(.elementor-acceptance-field):not(.elementor-field-type-submit) { background: transparent; color: var(--mc-color-ink); border: 0; border-bottom: 1px solid #00022E55; border-radius: 0; padding: 18px 0; min-height: 68px; font: 400 18px var(--mc-font-body); }
.mc-contact-panel .elementor-field::placeholder { color: var(--mc-color-ink); opacity: 1; text-transform: uppercase; font-size: 13px; }
.mc-contact-panel .elementor-field-type-acceptance { margin-block: 4px 16px; font-size: 14px; }
.mc-contact-panel .elementor-form .elementor-field-type-acceptance .elementor-field-option input.elementor-acceptance-field[type=checkbox] { appearance: none; -webkit-appearance: none; display: inline-block; width: 22px; height: 22px; min-width: 22px; padding: 0; border: 0; border-radius: 50%; background: url('../images/icons/Radio%20Non-Fill.svg') center/contain no-repeat; margin: 0 8px 0 0; vertical-align: middle; cursor: pointer; }
.mc-contact-panel .elementor-form .elementor-field-type-acceptance .elementor-field-option input.elementor-acceptance-field[type=checkbox]:checked { background-image: url('../images/icons/Radio%20Fill.svg'); }
@media (forced-colors: active) { .mc-contact-panel .elementor-form .elementor-field-type-acceptance .elementor-field-option input.elementor-acceptance-field[type=checkbox] { appearance: auto; -webkit-appearance: auto; } }
body .mc-contact .mc-contact-panel .elementor-form .elementor-button[type=submit] { background: #00022e; color: #fff; border-radius: 0; min-height: clamp(60px,5vw,96px); font: 500 16px var(--mc-font-body); text-transform: uppercase; width: 100%; }
body .mc-contact .mc-contact-panel .elementor-form .elementor-button[type=submit]:hover { background: #171943; }
body .mc-awards.e-con { min-height: 0; padding: 3.5vw 10vw 5vw; align-items: center; gap: 2.5vw; }
.mc-awards-row.e-con { display: grid; grid-template-columns: 1fr 1.55fr 1fr; align-items: center; width: 100%; gap: 3vw; padding: 0; }
.mc-award-card { border: 2px solid currentColor; padding: 28px 18px; text-align: center; outline: 1px solid currentColor; outline-offset: 8px; }
.mc-award-card .award-symbol { display: block; font: 48px var(--mc-font-display); margin-bottom: 16px; }
.mc-award-card p { font-weight: 600; text-transform: uppercase; font-size: clamp(16px, 1.65vw, 32px); line-height: 1.1; }
.mc-award-card small { display: block; font-size: clamp(10px, .8vw, 15px); text-transform: uppercase; margin-top: 16px; }
.mc-award-image img { width: 100%; max-height: 320px; object-fit: contain; filter: grayscale(1); mix-blend-mode: multiply; }
body .mc-footer.e-con { min-height: 41.67vw; padding: 13.7vw 1.85vw 1.85vw; color: #EAE5D8; background-color: #9d9a92; gap: 2.2vw; }
.mc-footer .mc-footer-top.e-con, .mc-footer .mc-footer-bottom.e-con { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); width: 100%; padding: 0; align-items: start; gap: 2vw; }
.mc-footer .elementor-widget-text-editor { font-size: clamp(14px,1.15vw,32px); line-height: 1.5; font-weight: 400; }
.mc-footer p { margin-bottom: 0; }
.mc-footer .mc-footer-top.e-con { position: relative; padding-bottom: 3.65vw; min-height: 6.95vw; }
.mc-footer .mc-footer-top::after { content: ""; position: absolute; bottom: 0; left: -1.85vw; right: -1.85vw; border-bottom: 1px solid #EAE5D880; }
.mc-footer .mc-footer-top .elementor-widget { width: 100%; min-width: 0; }
body .mc-footer .mc-footer-top .mc-footer-legal { width: 72%; justify-self: end; align-self: end; margin-bottom: -2.15vw; }
.mc-footer .mc-footer-legal { display: flex; align-items: center; gap: 1.2vw; }
.mc-footer-legal > a { display: block; flex: 1; min-width: 0; }
.mc-footer-legal img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
body .mc-footer-bottom > .elementor-widget-text-editor { width: 100%; color: #EAE5D8B3; }
body .mc-footer-bottom > .elementor-widget-text-editor a { text-decoration: underline; }
.mc-footer-bottom > .elementor-widget-html { grid-column: 2 / 4; width: 100%; }
.mc-footer .mc-footer-bottom nav { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); grid-template-rows: repeat(2,auto); grid-auto-flow: column; column-gap: 2vw; row-gap: .65vw; width: 75%; font-size: clamp(12px,1.15vw,32px); font-weight: 400; text-transform: uppercase; }
.mc-footer nav a { white-space: nowrap; }
.mc-footer a:hover { text-decoration: underline; }
.mc-footer .mc-footer-wordmark { margin-top: auto; width: 100%; }
.mc-footer-wordmark img { display: block; width: 100%; filter: none; opacity: 1; }
@media (min-width:768px) and (max-width:1024px) {
 .mc-footer .mc-footer-bottom nav { width: 100%; }
 body .mc-footer .mc-footer-top .mc-footer-legal { width: 100%; }
}
@media(min-width:1921px) { .mc-home-section .elementor-widget-heading { font-size: 6.2vw; } }
@media(max-width:1024px) and (min-width:768px) { .mc-mosaic { min-height: 450px!important; } .mc-contact-panel .elementor-field:not(.elementor-acceptance-field) { min-height: 48px; } .mc-contact-panel .elementor-form-fields-wrapper { row-gap: 10px; } }
@media(max-width:767px) {
  html { scroll-padding-top: 16px; }
  body .mc-header.e-con { padding: 22px 20px; gap: 14px; }
  .mc-header .mc-header-logo { width: 155px; }
  .mc-navigation { gap: 12px; font-size: 10px; }
  .mc-navigation > a { display: none; }
  body .mc-founder.e-con { padding: 54px 22px 0; min-height: 0; }
  .mc-home-section .elementor-widget-heading { font-size: 49px; }
  .mc-founder .mc-founder-role { margin-top: 10px; }
  .mc-founder .mc-founder-copy { max-width: none; margin: 24px 0 38px; font-size: 18px; }
  .mc-founder .mc-founder-portrait { width: 85%; height: 78vw; border-radius: 0 35vw 0 30vw; }
  .mc-founder-portrait::before { width: 38vw; height: 32vw; left: -11vw; top: -3vw; }
  body .mc-mosaic.e-con { height: auto; min-height: 590px; grid-template-columns: repeat(4,1fr); grid-template-rows: repeat(4,1fr); gap: 14px; padding: 40px 16px; }
  .mc-mosaic .elementor-widget-heading { grid-column: 1 / 5; grid-row: 2 / 4; font-size: 52px; padding: 24px; }
  .mc-mosaic .mc-logo-tile { padding: 8px; }
  .mc-mosaic .mc-tile-1 { grid-column: 1; grid-row: 1; }.mc-mosaic .mc-tile-2 { grid-column: 2; grid-row: 1; }.mc-mosaic .mc-tile-3 { grid-column: 3; grid-row: 1; }.mc-mosaic .mc-tile-4 { grid-column: 4; grid-row: 1; }
  .mc-mosaic .mc-tile-5 { grid-column: 1; grid-row: 4; }.mc-mosaic .mc-tile-6 { grid-column: 2; grid-row: 4; }.mc-mosaic .mc-tile-7 { grid-column: 3; grid-row: 4; }.mc-mosaic .mc-tile-8 { grid-column: 4; grid-row: 4; }
  body .mc-brochure.e-con { padding: 60px 22px; min-height: 410px; flex-direction: column; gap: 50px; }
  .mc-brochure .elementor-widget-heading { width: 100%; font-size: 48px; }
  .mc-brochure .mc-brochure-action { width: 100%; margin: 0; }
  .mc-brochure-action .mc-button { min-height: 68px; font-size: 12px; }
  body .mc-brochure-action .elementor-form .elementor-button { min-height: 64px; font-size: 14px; }
  body .mc-contact.e-con { padding: 60px 18px; min-height: 0; }
  body .mc-contact-panel.e-con { padding: 28px 22px; gap: 20px; }
  .mc-contact-panel .elementor-widget-heading { font-size: 40px; }
  .mc-contact-panel .elementor-field:not(.elementor-acceptance-field) { min-height: 60px; }
  body .mc-contact .mc-contact-panel .elementor-form .elementor-button[type=submit] { min-height: 60px; font-size: 14px; }
  .mc-contact-panel .elementor-field-type-acceptance { font-size: 12px; }
  body .mc-awards.e-con { padding: 60px 30px; gap: 40px; }
  .mc-awards .elementor-widget-heading { text-align: center; }
  .mc-awards-row.e-con { grid-template-columns: 1fr; gap: 36px; max-width: 310px; }
  .mc-award-image img { max-height: 230px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }

@media(min-width:768px) {
 body .mc-brochure.e-con { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
 .mc-brochure .elementor-widget-heading { grid-column: 1 / -1; width: 70%; font-size: 5.6vw; }
 .mc-brochure .mc-brochure-action { grid-column: 2; width: 100%; margin: 0; }
}
/* Elementor gives external SVG images a 48px default; logo size follows its block. */
body .elementor .elementor-widget-image:is(.mc-header-logo,.mc-logo-tile,.mc-footer-wordmark) img { width: 100%; }
body .elementor :is(.mc-header-logo,.mc-logo-tile,.mc-footer-wordmark) a { display: block; width: 100%; }

body .mc-mosaic.mc-orbit-active, body .mc-mosaic.mc-orbit-active > .mc-logo-tile { transition: none; }
body .mc-mosaic.mc-orbit-active.e-con { display: block; padding: 0; min-height: 0!important; height: 100svh; overflow: clip; isolation: isolate; cursor: default; }
body .mc-mosaic.mc-orbit-active > .elementor-widget-heading { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 39%; padding: 0; margin: 0; z-index: 2; font-size: min(5.7vw,10svh); pointer-events: none; }
body .mc-mosaic.mc-orbit-active > .mc-logo-tile { position: absolute; top: 0; left: 0; width: min(15.3vw,27svh); height: min(15.3vw,27svh); margin: 0; padding: 1.5vw; z-index: 1; will-change: transform; user-select: none; }
body .mc-mosaic.mc-orbit-active .mc-logo-tile a { cursor: pointer; }
body .mc-mosaic.mc-orbit-active .mc-logo-tile img { pointer-events: none; -webkit-user-drag: none; }
@media(max-width:767px) {
 body .mc-mosaic.mc-orbit-active > .elementor-widget-heading { width: 72%; font-size: min(9.5vw,9svh); }
 body .mc-mosaic.mc-orbit-active > .mc-logo-tile { width: min(30vw,25svh); height: min(30vw,25svh); padding: 10px; }
}

@media (max-width:767px) {
 body .mc-footer.e-con { display: grid; grid-template-columns: minmax(0,1fr); min-height: 0; padding: 12vw 5vw 4vw; gap: 9vw; text-align: center; }
 .mc-footer .mc-footer-top.e-con, .mc-footer .mc-footer-bottom.e-con { display: contents; }
 .mc-footer .mc-footer-top::after { display: none; }
 .mc-footer-top > .elementor-widget-text-editor:first-child { grid-row: 1; }
 .mc-footer-top > .elementor-widget-text-editor:nth-child(2) { grid-row: 2; padding-bottom: 8vw; border-bottom: 1px solid #EAE5D880; }
 .mc-footer-top > .elementor-widget-text-editor:nth-child(2) br { display: none; }
 .mc-footer-top > .elementor-widget-text-editor:nth-child(2) p { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 16px; }
 .mc-footer .elementor-widget-text-editor { font-size: clamp(12px,3.3vw,18px); }
 .mc-footer .mc-footer-bottom > .elementor-widget-html { grid-column: 1; grid-row: 3; }
 .mc-footer .mc-footer-bottom nav { width: 100%; grid-template-columns: 1fr; grid-template-rows: none; grid-auto-flow: row; font-size: 14px; gap: 22px; }
 body .mc-footer .mc-footer-top .mc-footer-legal { grid-row: 4; width: 100%; margin: 0; gap: 4vw; }
 .mc-footer-bottom > .elementor-widget-text-editor { grid-row: 5; }
 .mc-footer .mc-footer-wordmark { grid-row: 6; margin-top: 0; }
}

@media (max-width:767px) {
 body:is(.home,:has(.mc-developer-page)) .mc-founder.e-con { padding: 16vw 5vw 0; flex-wrap: nowrap; }
 body:is(.home,:has(.mc-developer-page)) .mc-founder > .elementor-widget-heading { font-size: 11.5vw; white-space: nowrap; }
 body:is(.home,:has(.mc-developer-page)) .mc-founder .mc-founder-role { font-size: clamp(11px,3.6vw,18px); margin-top: 6vw; }
 body:is(.home,:has(.mc-developer-page)) .mc-founder .mc-founder-copy { width: 100%; max-width: none; margin: 13vw 0 29vw; font-size: clamp(16px,3.6vw,22px); line-height: 1.5; }
 body:is(.home,:has(.mc-developer-page)) .mc-founder.e-con > .elementor-widget.mc-founder-portrait { width: 100vw; max-width: none; height: 114vw; border-radius: 0 42vw 0 0; flex-shrink: 0; }
 body:is(.home,:has(.mc-developer-page)) .mc-founder-portrait::before { top: -20vw; left: 0; width: 38vw; height: 38vw; }
 body:is(.home,:has(.mc-developer-page)) .mc-founder-portrait.elementor-widget-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center bottom; }
}

@media (min-width:768px) {
 body.home .mc-awards > .e-con:not(.mc-awards-mobile) { align-items: center; justify-content: center; gap: 4vw; }
 body.home .mc-awards > .e-con:not(.mc-awards-mobile) img { width: auto; height: auto; max-width: 25%; max-height: 18vw; object-fit: contain; }
}
