/* MICE landing and service pages */
.mte-mice {
    --mice-ink: #182337;
    --mice-navy: #102b55;
    --mice-blue: #1745b5;
    --mice-gold: #f1bd3a;
    --mice-body: #515d6b;
    --mice-line: #dfe4e9;
    color: var(--mice-ink);
    background: #fff;
    font-family: inherit;
    font-size: 16px;
    line-height: 1.65;
    overflow: hidden;
}

.mte-mice *,
.mte-mice *::before,
.mte-mice *::after { box-sizing: border-box; }

.mte-mice img { display: block; max-width: 100%; }
.mte-mice h1,
.mte-mice h2,
.mte-mice h3,
.mte-mice p { margin-top: 0; }

.mte-mice-shell { width: min(1210px, calc(100% - 56px)); margin-inline: auto; }
.mte-mice-section { padding-block: clamp(64px, 8vw, 104px); }

.mte-mice-hero {
    position: relative;
    display: flex;
    min-height: clamp(490px, 58vw, 660px);
    align-items: center;
    overflow: hidden;
    background: #13294d;
    color: #fff;
}

.mte-mice-hero__image,
.mte-mice-hero__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.mte-mice-hero__image { object-fit: cover; object-position: center 42%; }
.mte-mice-hero__shade { background: linear-gradient(90deg, rgba(9, 24, 49, .91) 0%, rgba(11, 31, 62, .79) 46%, rgba(10, 29, 57, .32) 100%), linear-gradient(0deg, rgba(7, 17, 35, .36), transparent 45%); }
.mte-mice-hero--service { min-height: clamp(430px, 49vw, 570px); }
.mte-mice-hero--service .mte-mice-hero__image { object-position: center 48%; }
.mte-mice-hero__content { position: relative; z-index: 1; padding-block: 42px 52px; }
.mte-mice-hero__content > * { max-width: 760px; }

.mte-mice-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin: 0 0 31px; color: rgba(255,255,255,.82); font-size: 12px; }
.mte-mice-breadcrumb a { color: inherit; text-decoration: none; }
.mte-mice-breadcrumb a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.mte-mice-breadcrumb [aria-current="page"] { color: #fff; }

.mte-mice-kicker { display: inline-flex; align-items: center; gap: 10px; color: #49628b; font-size: 11px; font-weight: 600; letter-spacing: .14em; line-height: 1.4; text-transform: uppercase; }
.mte-mice-kicker::before { width: 25px; height: 2px; flex: 0 0 auto; background: var(--mice-gold); content: ""; }
.mte-mice-hero .mte-mice-kicker,
.mte-mice-programmes .mte-mice-kicker,
.mte-mice-service-moments .mte-mice-kicker,
.mte-mice-contact .mte-mice-kicker { color: #f7d77f; }
.mte-mice-hero h1 { max-width: 790px; margin: 17px 0 19px; color: #fff; font-size: clamp(43px, 6.3vw, 76px); font-weight: 600; letter-spacing: -.045em; line-height: 1.035; }
.mte-mice-hero__lead { max-width: 650px; margin-bottom: 0; color: #fff !important; font-size: clamp(16px, 1.65vw, 19px); font-weight: 400; line-height: 1.68; }
.mte-mice-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 21px; margin-top: 30px; }
.mte-mice-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 12px; padding: 12px 20px; border: 1px solid var(--mice-gold); border-radius: 3px; background: var(--mice-gold); color: #152744 !important; font-size: 14px; font-weight: 600; line-height: 1.2; text-decoration: none !important; transition: background-color .18s ease, color .18s ease, transform .18s ease; }
.mte-mice-button:hover,
.mte-mice-button:focus-visible { transform: translateY(-2px); background: #ffd568; color: #10213b !important; }
.mte-mice-text-link { color: #fff !important; font-size: 14px; font-weight: 500; text-decoration: none !important; }
.mte-mice-text-link span { margin-left: 5px; color: var(--mice-gold); }
.mte-mice-text-link:hover { text-decoration: underline !important; text-underline-offset: 4px; }

.mte-mice-intro__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .92fr); align-items: center; gap: clamp(45px, 7vw, 96px); }
.mte-mice-intro__photos { position: relative; display: grid; min-height: 430px; grid-template-columns: 1.25fr .75fr; grid-template-rows: 1fr 1fr; gap: 13px; padding: 0 28px 28px 0; }
.mte-mice-intro__photo { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.mte-mice-intro__photo--main { grid-row: 1 / 3; object-position: center; }
.mte-mice-intro__photo--top { object-position: center; }
.mte-mice-intro__photo--bottom { object-position: center 58%; }
.mte-mice-intro__photos::after { position: absolute; z-index: -1; right: 0; bottom: 0; width: 68%; height: 42%; background: #e8edf4; content: ""; }
.mte-mice-intro__caption { position: absolute; right: 0; bottom: 5px; max-width: 220px; padding: 10px 13px; background: var(--mice-navy); color: #fff; font-size: 11px; line-height: 1.35; }
.mte-mice-intro__copy h2,
.mte-mice-section-head h2,
.mte-mice-destination__copy h2,
.mte-mice-service-intro__copy h2,
.mte-mice-service-moments h2 { margin: 13px 0 18px; color: var(--mice-ink); font-size: clamp(31px, 4.2vw, 49px); font-weight: 600; letter-spacing: -.037em; line-height: 1.1; }
.mte-mice-intro__copy p,
.mte-mice-destination__copy p,
.mte-mice-service-intro__copy p { max-width: 570px; margin-bottom: 14px; color: #465261 !important; font-size: 16px; font-weight: 400; line-height: 1.8; }
.mte-mice-intro__points { display: grid; gap: 9px; margin: 22px 0 23px; padding: 0; list-style: none; }
.mte-mice-intro__points li { position: relative; padding-left: 22px; color: #354256; font-size: 14px; }
.mte-mice-intro__points li::before { position: absolute; top: 9px; left: 0; width: 7px; height: 7px; background: var(--mice-gold); content: ""; transform: rotate(45deg); }
.mte-mice-inline-link { display: inline-flex; align-items: center; gap: 12px; color: #153f98 !important; font-size: 14px; font-weight: 600; text-decoration: none !important; }
.mte-mice-inline-link:hover { color: #102d6b !important; text-decoration: underline !important; text-underline-offset: 4px; }

.mte-mice-programmes { position: relative; overflow: hidden; padding: clamp(72px, 8vw, 105px) 0; background: #0b1e3b; color: #fff; }
.mte-mice-programmes__backdrop { position: absolute; inset: 0 0 auto; height: 63%; background-image: linear-gradient(90deg, rgba(8,19,42,.82), rgba(8,19,42,.86)), url("../images/mice/marrakech-architecture.webp"); background-position: center 37%; background-size: cover; }
.mte-mice-programmes__inner { position: relative; z-index: 1; }
.mte-mice-section-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, .62fr); align-items: end; gap: 36px; margin-bottom: 34px; }
.mte-mice-section-head h2 { max-width: 720px; margin-bottom: 0; }
.mte-mice-section-head > p { max-width: 440px; margin: 0 0 3px; color: #465261 !important; font-size: 15px; font-weight: 400; line-height: 1.75; }
.mte-mice-section-head--light h2 { color: #fff; }
.mte-mice-section-head--light > p { color: #fff !important; }
.mte-mice-programme-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 18px; }
.mte-mice-programme { position: relative; display: flex; min-height: 405px; overflow: hidden; align-items: flex-end; background: #1742b0; isolation: isolate; }
.mte-mice-programme::before,
.mte-mice-programme::after { position: absolute; inset: 0; z-index: -1; content: ""; }
.mte-mice-programme::before { background-image: var(--mte-mice-card-image); background-position: center; background-size: cover; transition: transform .45s ease; }
.mte-mice-programme::after { background: linear-gradient(180deg, rgba(17,54,187,.84) 0%, rgba(15,48,164,.92) 48%, rgba(9,35,125,.98) 100%); }
.mte-mice-programme:hover::before { transform: scale(1.045); }
.mte-mice-programme__content { display: flex; width: 100%; min-height: 405px; flex-direction: column; align-items: stretch; padding: 28px 27px 25px; color: #fff; }
.mte-mice-programme__label { color: #ffdc78; font-size: 10px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.mte-mice-programme h3 { margin: 10px 0 11px; color: #fff; font-size: clamp(22px, 2.3vw, 29px); font-weight: 600; letter-spacing: -.025em; line-height: 1.15; }
.mte-mice-programme p { min-height: 76px; margin: 0 0 18px; color: #fff !important; font-size: 14px; font-weight: 400; line-height: 1.65; }
.mte-mice-programme ul { margin: auto 0 0; padding: 0; border-top: 1px solid rgba(255,255,255,.33); list-style: none; }
.mte-mice-programme li { border-bottom: 1px solid rgba(255,255,255,.25); }
.mte-mice-programme li:last-child { border-bottom: 0; }
.mte-mice-programme li a { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 1px; color: #fff !important; font-size: 13px; text-decoration: none !important; }
.mte-mice-programme li a span { color: #ffdc78; transition: transform .18s ease; }
.mte-mice-programme li a:hover span { transform: translate(2px,-2px); }

/* Keep every label and paragraph readable when a theme or builder applies
   global heading, link, or text colours over the navy and blue panels. */
#mte-mice-page .mte-mice-programmes .mte-mice-section-head h2,
#mte-mice-page .mte-mice-programme h3,
#mte-mice-page .mte-mice-service-moments h2,
#mte-mice-page .mte-mice-contact h2 { color: #fff !important; }
#mte-mice-page .mte-mice-programmes .mte-mice-section-head > p,
#mte-mice-page .mte-mice-programme p,
#mte-mice-page .mte-mice-programme li a,
#mte-mice-page .mte-mice-service-moments p,
#mte-mice-page .mte-mice-service-moments li,
#mte-mice-page .mte-mice-contact p { color: #fff !important; font-weight: 500; }
#mte-mice-page .mte-mice-programme__label,
#mte-mice-page .mte-mice-programme li a span { color: #ffe08a !important; font-weight: 700; }
#mte-mice-page .mte-mice-hero h1,
#mte-mice-page .mte-mice-hero__lead,
#mte-mice-page .mte-mice-breadcrumb,
#mte-mice-page .mte-mice-breadcrumb [aria-current="page"],
#mte-mice-page .mte-mice-text-link { color: #fff !important; }
.mte-mice-programme__label { font-size: 11px; letter-spacing: .1em; }
.mte-mice-programme li a { font-size: 14px; }

.mte-mice-support { background: #f6f7f8; }
.mte-mice-support-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid #cad1da; border-left: 1px solid #cad1da; }
.mte-mice-support-grid article { min-height: 205px; padding: 21px 22px 24px; border-right: 1px solid #cad1da; border-bottom: 1px solid #cad1da; background: rgba(255,255,255,.52); }
.mte-mice-support-grid article > span { color: #9c7620; font-size: 11px; font-weight: 600; letter-spacing: .11em; }
.mte-mice-support-grid h3 { margin: 18px 0 8px; color: var(--mice-ink); font-size: 19px; font-weight: 600; line-height: 1.25; }
.mte-mice-support-grid p { margin: 0; color: #505b69; font-size: 13px; line-height: 1.65; }

.mte-mice-destination { padding-block: clamp(64px, 7vw, 90px); background: #fff; }
.mte-mice-destination__grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1fr); align-items: center; gap: clamp(44px, 7vw, 94px); }
.mte-mice-destination__image { position: relative; min-height: 400px; }
.mte-mice-destination__image img { width: 100%; height: 400px; object-fit: cover; object-position: center 58%; }
.mte-mice-destination__image span { position: absolute; right: -1px; bottom: 0; padding: 13px 17px; background: var(--mice-gold); color: #182337; font-size: 12px; font-weight: 600; }
.mte-mice-destination__copy h2 { font-size: clamp(30px, 3.8vw, 45px); }
.mte-mice-city-list { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); margin-top: 25px; border-top: 1px solid var(--mice-line); border-left: 1px solid var(--mice-line); }
.mte-mice-city-list span { padding: 10px 11px; border-right: 1px solid var(--mice-line); border-bottom: 1px solid var(--mice-line); color: #243e69; font-size: 12px; font-weight: 500; }

.mte-mice-process { background: #f3f5f7; }
.mte-mice-process__steps { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top: 1px solid #bfc8d3; }
.mte-mice-process__steps article { padding: 21px 28px 0 0; }
.mte-mice-process__steps article + article { padding-left: 27px; border-left: 1px solid #c9d0d9; }
.mte-mice-process__steps b { color: #9c7620; font-size: 12px; letter-spacing: .1em; }
.mte-mice-process__steps h3 { margin: 13px 0 7px; color: var(--mice-ink); font-size: 20px; font-weight: 600; }
.mte-mice-process__steps p { max-width: 310px; margin: 0; color: var(--mice-body); font-size: 14px; line-height: 1.65; }

.mte-mice-contact { padding-block: 70px; background: var(--mice-navy); color: #fff; }
.mte-mice-contact__inner { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 40px; }
.mte-mice-contact h2 { max-width: 670px; margin: 12px 0 9px; color: #fff; font-size: clamp(29px,4vw,45px); font-weight: 600; letter-spacing: -.035em; line-height: 1.1; }
.mte-mice-contact p { max-width: 670px; margin: 0; color: #fff !important; font-size: 15px; font-weight: 400; line-height: 1.75; }
.mte-mice-contact__links { display: flex; flex-wrap: wrap; gap: 10px; }
.mte-mice-contact__links .mte-mice-button { white-space: nowrap; }
.mte-mice-button--light { border-color: rgba(255,255,255,.66); background: transparent; color: #fff !important; }
.mte-mice-button--light:hover,
.mte-mice-button--light:focus-visible { border-color: #fff; background: #fff; color: var(--mice-navy) !important; }

.mte-mice-service-intro__grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); align-items: center; gap: clamp(45px,7vw,90px); }
.mte-mice-service-intro__image { min-height: 390px; }
.mte-mice-service-intro__image img { width: 100%; height: 390px; object-fit: cover; object-position: center; }
.mte-mice-service-intro__copy h2 { font-size: clamp(31px,4vw,46px); }
.mte-mice-service-intro__copy .mte-mice-inline-link { margin-top: 10px; }
.mte-mice-service-support { background: #f5f6f7; }
.mte-mice-deliverables { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 42px; margin: 0; padding: 0; border-top: 1px solid #cbd3dc; list-style: none; }
.mte-mice-deliverables li { display: flex; min-height: 84px; align-items: flex-start; gap: 16px; padding: 20px 5px 18px 0; border-bottom: 1px solid #cbd3dc; color: #354154; font-size: 15px; line-height: 1.55; }
.mte-mice-deliverables li span { flex: 0 0 auto; color: #987321; font-size: 11px; font-weight: 600; letter-spacing: .1em; }
.mte-mice-service-moments { padding-block: 69px; background: #102b55; color: #fff; }
.mte-mice-service-moments__inner { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); align-items: center; gap: 50px; }
.mte-mice-service-moments h2 { margin: 12px 0 10px; color: #fff; font-size: clamp(29px,3.8vw,43px); }
.mte-mice-service-moments p { max-width: 470px; margin: 0; color: #fff !important; font-size: 14px; font-weight: 400; line-height: 1.7; }
.mte-mice-service-moments ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 30px; margin: 0; padding: 0; border-top: 1px solid rgba(255,255,255,.35); list-style: none; }
.mte-mice-service-moments li { padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.29); color: #fff; font-size: 14px; }
.mte-mice-service-moments li::before { margin-right: 10px; color: #f6d477; content: "↗"; }
.mte-mice-related__links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid #cbd3dc; border-left: 1px solid #cbd3dc; }
.mte-mice-related__links a { display: flex; align-items: center; justify-content: space-between; gap: 13px; padding: 17px; border-right: 1px solid #cbd3dc; border-bottom: 1px solid #cbd3dc; color: #163f95 !important; font-size: 13px; font-weight: 500; text-decoration: none !important; }
.mte-mice-related__links a span { color: #a27b1e; }
.mte-mice-related__links a:hover { background: #f3f5f7; }

@media (max-width: 980px) {
    .mte-mice-programme-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .mte-mice-programme:last-child { grid-column: 1 / -1; min-height: 340px; }
    .mte-mice-support-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .mte-mice-contact__inner { grid-template-columns: 1fr; gap: 25px; }
}

@media (max-width: 680px) {
    .mte-mice-shell { width: min(100% - 34px, 540px); }
    .mte-mice-section { padding-block: 56px; }
    .mte-mice-hero,
    .mte-mice-hero--service { min-height: 490px; align-items: flex-end; }
    .mte-mice-hero__image { object-position: 59% center; }
    .mte-mice-hero--service .mte-mice-hero__image { object-position: center; }
    .mte-mice-hero__shade { background: linear-gradient(0deg, rgba(8,22,45,.97) 0%, rgba(8,22,45,.78) 51%, rgba(8,22,45,.28) 100%); }
    .mte-mice-hero__content { padding-block: 25px 34px; }
    .mte-mice-breadcrumb { margin-bottom: 23px; font-size: 11px; }
    .mte-mice-hero h1 { margin: 13px 0 14px; font-size: clamp(39px, 11vw, 55px); line-height: 1.03; }
    .mte-mice-hero__lead { font-size: 15px; line-height: 1.62; }
    .mte-mice-actions { gap: 16px; margin-top: 22px; }
    .mte-mice-button { min-height: 46px; padding: 11px 16px; }
    .mte-mice-intro__grid,
    .mte-mice-destination__grid,
    .mte-mice-service-intro__grid,
    .mte-mice-service-moments__inner { grid-template-columns: 1fr; gap: 30px; }
    .mte-mice-intro__photos { min-height: 310px; grid-template-columns: 1.1fr .9fr; grid-template-rows: 1fr 1fr; gap: 8px; padding: 0 18px 18px 0; }
    .mte-mice-intro__caption { right: 0; bottom: 0; max-width: 195px; padding: 8px 10px; font-size: 10px; }
    .mte-mice-intro__copy h2,
    .mte-mice-section-head h2,
    .mte-mice-destination__copy h2,
    .mte-mice-service-intro__copy h2 { font-size: 32px; }
    .mte-mice-intro__copy p,
    .mte-mice-destination__copy p,
    .mte-mice-service-intro__copy p { font-size: 15px; }
    .mte-mice-programmes { padding-block: 58px; }
    .mte-mice-section-head { grid-template-columns: 1fr; gap: 14px; margin-bottom: 25px; }
    .mte-mice-section-head > p { font-size: 14px; }
    .mte-mice-programme-grid { grid-template-columns: 1fr; gap: 12px; }
    .mte-mice-programme,
    .mte-mice-programme:last-child { min-height: 360px; grid-column: auto; }
    .mte-mice-programme__content { min-height: 360px; padding: 23px 21px 19px; }
    .mte-mice-programme h3 { font-size: 25px; }
    .mte-mice-programme p { min-height: 0; font-size: 13px; }
    .mte-mice-support-grid { grid-template-columns: 1fr; }
    .mte-mice-support-grid article { min-height: 0; padding: 17px 18px 19px; }
    .mte-mice-support-grid h3 { margin: 10px 0 5px; }
    .mte-mice-destination__image,
    .mte-mice-destination__image img { min-height: 310px; height: 310px; }
    .mte-mice-city-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .mte-mice-process__steps { grid-template-columns: 1fr; }
    .mte-mice-process__steps article,
    .mte-mice-process__steps article + article { padding: 17px 0; border-left: 0; border-bottom: 1px solid #c9d0d9; }
    .mte-mice-contact { padding-block: 53px; }
    .mte-mice-contact h2 { font-size: 32px; }
    .mte-mice-contact__links { display: grid; grid-template-columns: 1fr; }
    .mte-mice-contact__links .mte-mice-button { width: 100%; }
    .mte-mice-service-intro__image,
    .mte-mice-service-intro__image img { min-height: 275px; height: 275px; }
    .mte-mice-deliverables { grid-template-columns: 1fr; }
    .mte-mice-deliverables li { min-height: 0; padding-block: 15px; font-size: 14px; }
    .mte-mice-service-moments ul { grid-template-columns: 1fr; }
    .mte-mice-related__links { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .mte-mice *,
    .mte-mice *::before,
    .mte-mice *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
