/*
 Theme Name:   Mayfair Grand
 Author:       Cleartwo
 Version:      1.0.0
*/

/* ================================================================
   CONTENTS:
   00. CSS Variables
   01. Reset & Base
   02. Global Buttons
   03. Header
   04. Hero Section
   [05–14 added per section as built]

   Breakpoints:
     Desktop  ≥ 1025px  (Figma: 1920px canvas, 1vw = 19.2px)
     Tablet    768–1024px
     Mobile   ≤  767px  (Figma: 440px canvas,  1vw = 4.4px)
================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Slabo+27px&display=swap');
/* ================================================================
   00. CSS VARIABLES
================================================================ */
:root {
    --mg-gold-dark:      #8E6B0A;
    --mg-gold-mid:       #B59D5A;
    --mg-gold-bright:    #CC9A0E;
    --mg-gold-light:     #E5C876;
    --mg-cream-bg:       #EDEBE5;
    --mg-cream-light:    #F4F2ED;
    --mg-stone:          #D9CFC2;
    --mg-dark-text:      #3D3D3D;
    --mg-brown-heading:  #3F2D00;
    --mg-black:          #000000;
    --mg-white:          #FFFFFF;
    --mg-footer-bg:      #2A2A2A;

    --mg-font-heading:   'Crimson Pro', serif;
    --mg-font-body:      'Albert Sans', sans-serif;
    --mg-font-script:    'Italianno', cursive;

    --mg-transition:     300ms ease-in-out;
    --mg-content-max:    1920px;
}


/* ================================================================
   01. RESET & BASE
================================================================ */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html { scroll-behavior: smooth; overflow-x: hidden; }
body {
    font-family: var(--mg-font-body);
    font-weight: 300;
    color: var(--mg-dark-text);
    background-color: var(--mg-white);
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; }
ul, ol { list-style: none; }
button { font-family: inherit; }

main, .site-content { padding-top: 0; }
.wpb_raw_code { margin-bottom: 0 !important; }

/* Fix WPBakery negative margins causing horizontal overflow */
.vc_column_container > .vc_column-inner {
    padding-left:  0 !important;
    padding-right: 0 !important;
}
.vc_row {
    margin-left:  0 !important;
    margin-right: 0 !important;
}


/* ================================================================
   02. GLOBAL BUTTONS
   Dark:  Book Now, Enquire       — border #3D3D3D, hover fill #3D3D3D text #E5C876
   Gold:  Learn More, Send Msg    — border #8E6B0A, hover fill #B59D5A text #F4F2ED
   Cream: Subscribe               — border #F4F2ED, hover fill #F4F2ED text #3D3D3D
================================================================ */
.mg-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--mg-font-heading);
    font-weight: 500;
    font-size: clamp(15px, 1.25vw, 24px);
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
    border-radius: 5px;
    background-color: transparent;
    transition: background-color var(--mg-transition), color var(--mg-transition), border-color var(--mg-transition);
}

.mg-btn--dark { border: 1.5px solid var(--mg-dark-text); color: var(--mg-dark-text); }
.mg-btn--dark:hover, .mg-btn--dark:focus-visible {
    background-color: var(--mg-dark-text); color: var(--mg-gold-light); outline: none;
}

.mg-btn--gold { border: 1.5px solid var(--mg-gold-dark); color: var(--mg-gold-dark); border-radius: 5px; }
.mg-btn--gold:hover, .mg-btn--gold:focus-visible {
    background-color: var(--mg-gold-mid); border-color: var(--mg-gold-mid); color: var(--mg-cream-light); outline: none;
}

.mg-btn--cream { border: 1.5px solid var(--mg-cream-light); color: var(--mg-cream-light); border-radius: 4px; }
.mg-btn--cream:hover, .mg-btn--cream:focus-visible {
    background-color: var(--mg-cream-light); color: var(--mg-dark-text); outline: none;
}

/* Figma button sizes — desktop px → vw (÷19.2) */
.mg-btn--w200 { width: clamp(140px, 10.417vw, 200px); height: clamp(44px, 3.385vw, 65px); }
.mg-btn--w240 { width: clamp(165px, 12.5vw,   240px); height: clamp(44px, 3.385vw, 65px); }
.mg-btn--w250 { width: clamp(170px, 13.021vw, 250px); height: clamp(44px, 3.385vw, 65px); }
.mg-btn--w300 { width: clamp(200px, 15.625vw, 300px); height: clamp(44px, 3.385vw, 65px); }


/* ================================================================
   03. HEADER
   Figma Desktop (1920px):
     Height: 174px | Logo: x:54 y:16 w:329 h:142
     Nav y:76, Crimson Pro Medium 21px uppercase #3D3D3D
     Gap logo→nav: 78px (4.063vw) | Gap item→item: 100px (5.208vw)
     Book Now: x:1620 y:55 w:200 h:65 border:1.5px #3D3D3D r:5px
     Chevron: 7×14px solid fill, angle:-90deg (points ↓ default)
   Figma Mobile (440px):
     Logo: x:22 y:19 w:167 h:91 | Hamburger: x:378 y:53 w:36 h:23
================================================================ */
.mg-header {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 9000;
    background-color: var(--mg-cream-bg);
    transition: box-shadow var(--mg-transition);
}

.mg-header--stuck {
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08);
}

.mg-header__inner {
    display: flex;
    align-items: center;
    height: clamp(100px, 8.698vw, 167px);     /* 174÷19.2 = 9.063vw */
    max-width: 1920px;
    margin: 0 auto;
    padding-left:  clamp(20px, 2.813vw, 54px);
    padding-right: clamp(20px, 2.813vw, 54px);
    transition: height var(--mg-transition);
}

.mg-header--stuck .mg-header__inner {
    height: clamp(60px, 4.167vw, 80px);
}

.mg-header__logo-link { display: block; flex-shrink: 0; line-height: 0; }

.mg-header__logo {
    width:      clamp(160px, 17.135vw, 329px);  /* 329÷19.2 = 17.135vw */
    height:     auto;
    max-height: clamp(70px, 7.396vw, 142px);    /* 142÷19.2 = 7.396vw */
    object-fit: contain;
    object-position: left center;
    transition: width var(--mg-transition), max-height var(--mg-transition);
}

.mg-header--stuck .mg-header__logo {
    width: clamp(110px, 8.333vw, 160px);
    max-height: clamp(48px, 3.646vw, 70px);
}

/* Nav — starts exactly 78px (4.063vw) right of logo edge */
.mg-header__nav {
    margin-left: clamp(20px, 4.063vw, 78px);
    flex-shrink: 0;
}

.mg-nav__list {
    display: flex;
    align-items: center;
    gap: clamp(20px, 5.208vw, 100px);           /* 100÷19.2 = 5.208vw */
    list-style: none; margin: 0; padding: 0;
}

.mg-nav__item { position: relative; }

.mg-nav__link {
    display: inline-flex;
    align-items: center;
    gap: clamp(4px, 0.365vw, 7px);
    font-family: var(--mg-font-heading);
    font-weight: 500;
    font-size: clamp(13px, 1.094vw, 21px);      /* 21÷19.2 = 1.094vw */
    line-height: 1.198;
    text-transform: uppercase;
    color: var(--mg-dark-text);
    text-decoration: none;
    background: none; border: none; cursor: pointer; padding: 0;
    white-space: nowrap; position: relative;
    transition: color var(--mg-transition);
}

.mg-nav__link::after {
    content: '';
    position: absolute;
    bottom: -4px; left: 0;
    width: 0; height: 1.5px;
    background-color: var(--mg-gold-dark);
    transition: width var(--mg-transition);
}

.mg-nav__link:hover,
.mg-nav__link:focus-visible,
.mg-nav__item--active > .mg-nav__link { color: var(--mg-gold-dark); outline: none; }

.mg-nav__link:hover::after,
.mg-nav__link:focus-visible::after,
.mg-nav__item--active > .mg-nav__link::after { width: 100%; }

/* Chevron button — sits inline next to parent nav link */
.mg-nav__item--has-dropdown {
  display: flex;
  align-items: center;
  position: relative;
}

.mg-nav__chevron-btn {
  background: none;
  border: none;
  outline: none;
  box-shadow: none;
  padding: 0 0 0 9px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  color: inherit;
  line-height: 1;
  -webkit-appearance: none;
  appearance: none;
}

.mg-nav__chevron-btn:focus {
  outline: none;
  box-shadow: none;
}

.mg-nav__item--open .mg-nav__chevron-btn .mg-nav__chevron,
.mg-nav__chevron-btn[aria-expanded="true"] .mg-nav__chevron {
  transform: rotate(0deg);
  color: var(--mg-gold-dark);
}

/* Chevron: 7×14px solid filled > shape, default points ↓, open points → */
.mg-nav__chevron {
    width:  clamp(5px, 0.365vw, 7px);
    height: clamp(9px, 0.729vw, 14px);
    flex-shrink: 0;
    color: var(--mg-dark-text);
    transform: rotate(90deg);
    transition: transform var(--mg-transition), color var(--mg-transition);
}

.mg-nav__item--open .mg-nav__chevron,
.mg-nav__link--dropdown[aria-expanded="true"] .mg-nav__chevron {
    transform: rotate(0deg);
    color: var(--mg-gold-dark);
}

/* Dropdown panel */
.mg-nav__dropdown {
    position: absolute;
    top: calc(100% + clamp(6px, 0.625vw, 12px));
    left: 50%;
    transform: translateX(-50%) translateY(-6px);
    min-width: clamp(180px, 13.021vw, 250px);
    background-color: var(--mg-cream-bg);
    border-top: 2px solid var(--mg-gold-dark);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.10);
    padding: 8px 0;
    list-style: none; margin: 0;
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity 200ms ease-in-out, visibility 200ms ease-in-out, transform 200ms ease-in-out;
}

.mg-nav__item--open .mg-nav__dropdown {
    opacity: 1; visibility: visible; pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}

.mg-nav__dropdown-link {
    display: block;
    padding: clamp(8px, 0.573vw, 11px) clamp(16px, 1.25vw, 24px);
    font-family: var(--mg-font-heading);
    font-weight: 400;
    font-size: clamp(13px, 0.938vw, 18px);
    text-transform: uppercase;
    color: var(--mg-dark-text);
    white-space: nowrap;
    transition: color var(--mg-transition), background-color var(--mg-transition);
}

.mg-nav__dropdown-link:hover,
.mg-nav__dropdown-link:focus-visible {
    color: var(--mg-gold-dark);
    background-color: rgba(142, 107, 10, 0.06);
    outline: none;
}

/* Book Now: x:1620 y:55 w:200 h:65 */
.mg-header__cta {
    flex-shrink: 0;
    margin-left: auto;
    width:     clamp(130px, 10.417vw, 200px);     /* 200÷19.2 = 10.417vw */
    height:    clamp(44px, 3.385vw, 65px);        /* 65÷19.2 = 3.385vw */
    font-size: clamp(14px, 1.25vw, 24px);         /* 24÷19.2 = 1.25vw */
}

.mg-header--stuck .mg-header__cta {
    height:    clamp(38px, 2.604vw, 50px);
    font-size: clamp(12px, 0.938vw, 18px);
}

/* Hamburger — hidden desktop, shown mobile */
.mg-hamburger {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 36px; height: 23px;
    padding: 0; background: none; border: none; cursor: pointer;
    flex-shrink: 0; margin-left: auto;
}

.mg-hamburger__bar {
    display: block; width: 100%; height: 3px;
    background-color: var(--mg-dark-text);
    border-radius: 2px;
    transition: transform var(--mg-transition), opacity var(--mg-transition), background-color var(--mg-transition);
}

.mg-hamburger[aria-expanded="true"] .mg-hamburger__bar:nth-child(1) { transform: translateY(10px) rotate(45deg); }
.mg-hamburger[aria-expanded="true"] .mg-hamburger__bar:nth-child(2) { opacity: 0; transform: scaleX(0); }
.mg-hamburger[aria-expanded="true"] .mg-hamburger__bar:nth-child(3) { transform: translateY(-10px) rotate(-45deg); }

/* Mobile menu overlay */
.mg-mobile-menu {
    position: fixed; inset: 0; z-index: 9050;
    background-color: var(--mg-cream-bg);
    display: flex; flex-direction: column;
    padding: 24px 25px 40px;
    overflow-y: auto;
    opacity: 0; visibility: hidden; transform: translateX(100%);
    transition: opacity var(--mg-transition), visibility var(--mg-transition), transform var(--mg-transition);
}

.mg-mobile-menu.is-open { opacity: 1; visibility: visible; transform: translateX(0); }

.mg-mobile-menu__header {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 32px;
}

.mg-mobile-menu__logo { width: 167px; height: auto; max-height: 91px; object-fit: contain; }

.mg-mobile-menu__close {
    position: relative; width: 36px; height: 36px;
    background: none; border: none; cursor: pointer; padding: 0; flex-shrink: 0;
}

.mg-mobile-menu__close span {
    display: block; position: absolute; top: 50%; left: 0;
    width: 100%; height: 3px;
    background-color: var(--mg-dark-text); border-radius: 2px;
}

.mg-mobile-menu__close span:first-child { transform: translateY(-50%) rotate(45deg); }
.mg-mobile-menu__close span:last-child  { transform: translateY(-50%) rotate(-45deg); }

.mg-mobile-backdrop {
    position: fixed; inset: 0; z-index: 9040;
    background-color: rgba(0, 0, 0, 0.45);
    opacity: 0; visibility: hidden;
    transition: opacity var(--mg-transition), visibility var(--mg-transition);
}

.mg-mobile-backdrop.is-open { opacity: 1; visibility: visible; }

.mg-mobile-menu__nav { width: 100%; }

.mg-mobile-nav__list { list-style: none; margin: 0; padding: 0; width: 100%; }

.mg-mobile-nav__item {
  border-bottom: 1px solid rgba(142, 107, 10, 0.18);
  position: relative;
}

.mg-mobile-nav__link {
    display: flex; align-items: center; justify-content: space-between;
    width: 100%; padding: 18px 0;
    font-family: var(--mg-font-heading); font-weight: 500; font-size: 20px;
    text-transform: uppercase; color: var(--mg-dark-text);
    text-decoration: none; background: none; border: none; cursor: pointer; text-align: left;
    transition: color var(--mg-transition);
}

.mg-mobile-nav__link:hover, .mg-mobile-nav__link:focus-visible { color: var(--mg-gold-dark); outline: none; }

.mg-mobile-nav__chevron {
    width: 7px; height: 14px; flex-shrink: 0;
    color: var(--mg-dark-text);
    transform: rotate(90deg);
    transition: transform var(--mg-transition), color var(--mg-transition);
}

.mg-mobile-nav__link--accordion[aria-expanded="true"] .mg-mobile-nav__chevron {
    transform: rotate(-90deg); color: var(--mg-gold-dark);   /* points up when open */
}

/* Chevron-only accordion button */
.mg-mobile-nav__link--accordion {
  background: none;
  border: none;
  outline: none;
  box-shadow: none;
  padding: 18px 0 18px 16px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  color: var(--mg-dark-text);
  -webkit-appearance: none;
  appearance: none;
  flex-shrink: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.mg-mobile-nav__link--accordion:focus {
  outline: none;
  box-shadow: none;
}

.mg-mobile-nav__sub {
    list-style: none; margin: 0; padding-left: 16px;
    max-height: 0; overflow: hidden;
    transition: max-height 300ms ease-in-out;
}

.mg-mobile-nav__sub.is-open { max-height: 500px; }

.mg-mobile-nav__sub-link {
    display: block; padding: 12px 0;
    font-family: var(--mg-font-heading); font-weight: 400; font-size: 18px;
    text-transform: uppercase; color: var(--mg-dark-text);
    text-decoration: none; transition: color var(--mg-transition);
}

.mg-mobile-nav__sub-link:hover { color: var(--mg-gold-dark); }

.mg-mobile-menu__cta {
    margin-top: 32px;
    width: 200px;
    height: 52px;
    min-height: 52px;
    flex-shrink: 0;        /* never squash when the menu content is taller than the screen */
    font-size: 18px;
}

/* Extra room at the bottom so the button clears Safari's floating toolbar on iPhones */
.mg-mobile-menu { padding-bottom: 90px; }


/* ================================================================
   03. HEADER — TABLET (768–1024px)
================================================================ */
@media (min-width: 768px) and (max-width: 1024px) {
    .mg-header__inner {
        height: clamp(90px, 11.719vw, 120px);
        padding-left:  clamp(16px, 2.93vw, 30px);
        padding-right: clamp(16px, 2.93vw, 30px);
    }
    .mg-header--stuck .mg-header__inner { height: 70px; }
    .mg-header__logo { width: clamp(140px, 19.531vw, 200px); max-height: clamp(60px, 8.398vw, 86px); }
    .mg-header__nav  { margin-left: clamp(12px, 2.344vw, 24px); }
    .mg-nav__list    { gap: clamp(12px, 2.93vw, 30px); }
    .mg-nav__link    { font-size: clamp(11px, 1.367vw, 14px); }
    .mg-nav__dropdown-link { font-size: 13px; padding: 9px 14px; }
    .mg-header__cta  { width: clamp(100px, 12.695vw, 130px); height: clamp(36px, 4.395vw, 45px); font-size: clamp(11px, 1.367vw, 14px); }
}


/* ================================================================
   03. HEADER — MOBILE (≤767px)
   Figma: Mask x:22 y:19 w:167 h:91 | Logo img 221×95 at -28px inside mask
          Hamburger x:378 y:53 w:36 h:23 | Header height 138px
   Rule:  logo is sized by HEIGHT only (width:auto) so it can never distort.
================================================================ */
@media (max-width: 767px) {
    .mg-header__nav { display: none; }
    .mg-header__cta { display: none; }
    .mg-hamburger   { display: flex; margin-top: 34px; }   /* 19 + 34 = y:53 */

    .mg-header__inner {
        height: 138px;
        padding-top: 19px;
        padding-left:  22px;
        padding-right: 26px;                                /* 440 - 26 = 414 = 378 + 36 */
        align-items: flex-start;
    }

    /* Mask — Figma 167×91 */
    .mg-header__logo-link {
        display: block;
        width: 167px;
        height: 91px;
        overflow: hidden;
        flex-shrink: 0;
        transition: width var(--mg-transition), height var(--mg-transition);
    }

    /* Logo — Figma 221×95, offset -28px inside mask, never distorts */
    .mg-header__logo {
        width: auto !important;
        max-width: none !important;
        height: 95px !important;
        max-height: none !important;
        margin-left: -28px;
        object-fit: unset;
        object-position: unset;
        transition: height var(--mg-transition), margin-left var(--mg-transition);
    }

    /* ── Sticky: everything scaled ×0.719 (120 ÷ 167) ── */
    .mg-header--stuck .mg-header__inner {
        height: 70px;
        padding-top: 0;
        align-items: center;
    }
    .mg-header--stuck .mg-header__logo-link {
        width: 120px;
        height: 65px;
    }
    .mg-header--stuck .mg-header__logo {
        width: auto !important;
        height: 68px !important;
        max-height: none !important;
        margin-left: -20px;
    }
    .mg-header--stuck .mg-hamburger { margin-top: 0; }

    /* ── Mobile menu overlay logo — same mask as header ── */
    .mg-mobile-menu__logo-link {
        display: block;
        width: 167px;
        height: 91px;
        overflow: hidden;
        flex-shrink: 0;
    }
    .mg-mobile-menu__logo {
        width: auto;
        max-width: none;
        height: 95px;
        max-height: none;
        margin-left: -28px;
        object-fit: unset;
    }

    .mg-btn--w200, .mg-btn--w240, .mg-btn--w250 { width: 230px; height: 60px; font-size: 18px; }
    .mg-btn--w300 { width: 235px; height: 60px; font-size: 18px; }
}


/* ================================================================
   04. HERO SECTION
   Figma Desktop: Video x:100 y:167 w:1720 h:870 border-radius:35px
   Figma Mobile:  Video x:25  y:138 w:390  h:650 border-radius:20px

   Key insight: Figma uses a static layout so y:167 is from page top.
   In our fixed-header layout:
     Desktop header height = 174px (clamp max)
     Video needs to sit at y:167 visually = just under the header
     So video-wrap padding-top = header height (174px) = 9.063vw
     This gives the 35px radius full visibility below the header.
   Mobile: header = 130px fixed, video y:138 from page top
     padding-top = 130px (header) + 8px gap = 138px
================================================================ */
.mg-hero {
    background-color: var(--mg-cream-bg);
    padding-top: 0;
}

/* Desktop: padding-top = header height so video sits right below */
.mg-hero__video-wrap {
    padding-top:   clamp(120px, 9.063vw, 174px); /* = header height 174÷19.2 = 9.063vw */
    padding-left:  clamp(20px, 5.208vw, 100px);  /* 100÷19.2 = 5.208vw */
    padding-right: clamp(20px, 5.208vw, 100px);
}

/* Video: w:1720 h:870 border-radius:35px */
.mg-hero__video {
    display: block;
    width: 100%;
    height: clamp(300px, 45.313vw, 870px);        /* 870÷19.2 = 45.313vw */
    object-fit: cover;
    border-radius: clamp(18px, 1.823vw, 35px);    /* 35÷19.2 = 1.823vw */
}


/* ================================================================
   04. HERO — TABLET (768–1024px)
================================================================ */
@media (min-width: 768px) and (max-width: 1024px) {
    .mg-hero__video-wrap {
        padding-top: clamp(100px, 11.719vw, 120px); /* = tablet header height */
    }
    .mg-hero__video {
        height: clamp(260px, 39.063vw, 400px);
    }
}


/* ================================================================
   04. HERO — MOBILE (≤767px)
   Header = 130px fixed. Video y:138 from page top.
   padding-top = 130px (header) + 8px = 138px exact.
================================================================ */
@media (max-width: 767px) {
    .mg-hero__video-wrap {
        padding-top:   138px;  /* Figma: video top:138px from page top */
        padding-left:  25px;   /* Figma: video left:25px */
        padding-right: 25px;
    }
    .mg-hero__video {
        height: clamp(400px, 147.727vw, 650px);    /* 650÷4.4 = 147.727vw */
        border-radius: 20px;
    }
}

/* ================================================================
   05. ABOUT SECTION — "A Venue Made for Love"
   Desktop (1920px ÷19.2) | Mobile (440px ÷4.4)
================================================================ */


.mg-about {
    background-color: var(--mg-cream-bg);
    padding-bottom: 0;                             /* tagline-wrap handles bottom space */
}

.mg-about__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top:   clamp(71px, 5.208vw, 100px);   /* 100÷19.2 = 5.208vw */
    padding-left:  clamp(20px, 10.469vw, 201px);
    padding-right: clamp(20px, 10.417vw, 200px);
    max-width: 1920px;
    margin: 0 auto;
}

/* Row containing frames + text — sits below heading block */
.mg-about__columns {
    display: flex;
    align-items: flex-start;
    width: 100%;
    margin-top: clamp(10px, 0.938vw, 18px);       /* 18px gap H1→frames (Figma exact) */
}

/* Heading block — centred above the three columns */
.mg-about__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 100%;
    max-width: clamp(500px, 45.677vw, 877px);      /* H1 w:877px */
    margin-bottom: 0;
}

/* Frame container — photo + overlay stacked */
.mg-about__frame {
    flex-shrink: 0;
    width:    clamp(160px, 20.677vw, 397px);       /* 397÷19.2 = 20.677vw */
    height:   clamp(220px, 26.406vw, 507px);       /* 507÷19.2 = 26.406vw */
    position: relative;
    margin-top: clamp(16px, 1.667vw, 32px);        /* 32÷19.2 = 1.667vw — aligns frame top with body start */
}

/* Photo — pill shape, offset 6.3% right matching Figma */
.mg-about__frame-photo {
    position: absolute;
    left: 6.3%;
    top: 0;
    width: 88.2%;
    height: 99.2%;
    border-radius: 999px;
    overflow: hidden;
    z-index: 1;
}
/* Left frame photo — zoom out slightly + nudge right */

.mg-about__photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    transform: scale(1.15) translateY(-8%);
    transform-origin: center top;
}

/* Right frame photo — zoom out slightly + nudge right */
.mg-about__frame--right .mg-about__photo {
    transform: scale(1.01) translateX(0%);         /* scale(1.05) = zoomed out vs left frame */
    transform-origin: center center;
}

/* Frame PNG on top of photo */
.mg-about__frame-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    z-index: 2;
    pointer-events: none;
}

.mg-about__frame--right { margin-left: auto; }

/* Text column */
.mg-about__text {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0 clamp(16px, 2.083vw, 40px);
    padding-top: clamp(20px, 1.667vw, 32px);     /* 50px total gap from heading: 18px columns margin-top + 32px padding-top */
}

/* Eyebrow — Albert Sans Medium 20px #8E6B0A ls:15%
   y:1137 from page top, 100px below video */
.mg-about__eyebrow {
    font-family: var(--mg-font-body);
    font-weight: 500;
    font-size: clamp(13px, 1.042vw, 20px);         /* 20÷19.2 = 1.042vw */
    letter-spacing: 0.15em;
    color: var(--mg-gold-dark);
    text-transform: uppercase;
    margin-bottom: clamp(6px, 0.625vw, 12px);      /* 12÷19.2 = 0.625vw */
}

/* H1 — Crimson Pro Light 48px/53lh #3F2D00 uppercase w:877
   Figma line-height: 53px — forces exact 2-line break
   53÷19.2 = 2.76vw */
.mg-about__heading {
    font-family: var(--mg-font-heading);
    font-weight: 300;
    font-size: clamp(26px, 2.5vw, 48px);           /* 48÷19.2 = 2.5vw */
    line-height: clamp(30px, 2.76vw, 53px);        /* 53÷19.2 = 2.76vw — Figma exact */
    color: var(--mg-brown-heading);
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 0;
    max-width: clamp(500px, 45.677vw, 877px);
}
.mg-about__heading--mobile  { display: none; }
.mg-about__heading--desktop { display: block; }

/* Body — Albert Sans Light 22px/36lh */
.mg-about__body {
    font-family: var(--mg-font-body);
    font-weight: 300;
    font-size: clamp(15px, 1.146vw, 22px);        /* 22÷19.2 = 1.146vw */
    line-height: clamp(26px, 1.875vw, 36px);      /* 36÷19.2 = 1.875vw */
    color: var(--mg-dark-text);
    text-align: center;
    width: clamp(340px, 35vw, 672px);             /* hard width forces Figma-exact wrapping */
    margin-bottom: clamp(10px, 0.938vw, 18px);
}

/* Learn More — w:240 h:65 gold outline */
/* Button y:1771, Body2 bottom y:1541+180=1721 → gap=50px → 50÷19.2=2.604vw
   Figma exact gap confirmed — was too large due to extra body margin */
.mg-about__btn {
    margin-top: clamp(12px, 1.563vw, 30px);       /* reduced to move button up */
    width:  clamp(165px, 12.5vw, 240px);          /* 240÷19.2 = 12.5vw */
    height: clamp(44px, 3.385vw, 65px);           /* 65÷19.2 = 3.385vw */
    font-size: clamp(14px, 1.25vw, 24px);
}

/* Tagline + dividers */
.mg-about__tagline-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;                                        /* no gap — lines grow to fill */
    padding-top:    clamp(30px, 3.604vw, 60px);
    padding-bottom: clamp(32px, 2.604vw, 50px);
    padding-left:  0;
    padding-right: 0;
    width: 100%;
    overflow: hidden;
}

/* Lines grow from screen edges toward text.
   PNG has thick/decorative end on LEFT, thin end on RIGHT.
   Left line:  thick end at left wall → thin end meets text (normal direction)
   Right line: thick end at right wall → thin end meets text (flip horizontally)
   Both lines sit on the same vertical centre as the text — no overlap.  */
.mg-about__divider {
    display: block;
    flex: 1;                                       /* stretches to fill remaining space */
    height: clamp(16px, 1.563vw, 30px);
    border: none;
    align-self: center;
}
/* Left line PNG — thick/decorative end toward left wall, thin end toward text */
.mg-about__divider:first-child {
    background: url('https://mayfairgrand.co.uk/wp-content/uploads/2026/09/Vector-1-line-left.png') left center / 100% auto no-repeat;
}

/* Right line PNG — thick/decorative end toward right wall, thin end toward text */
.mg-about__divider:last-child {
    background: url('https://mayfairgrand.co.uk/wp-content/uploads/2026/09/Vector-1-line-right.png') right center / 100% auto no-repeat;
    transform: none;                               /* no flip needed — separate PNG */
}

/* Italianno 45px #8E6B0A opacity:0.88 */
/* Figma: Italianno Regular 45px line-height:100% (= 45px) ls:0% centered
   45÷19.2 = 2.344vw */
.mg-about__tagline {
    font-family: var(--mg-font-script);
    font-weight: 400;
    font-size: clamp(22px, 2.344vw, 45px);        /* 45÷19.2 = 2.344vw */
    line-height: 1;                                /* Figma: 100% = 1 */
    letter-spacing: 0;
    color: var(--mg-gold-dark);
    text-align: center;
    opacity: 0.88;
    white-space: nowrap;
    flex: 0 1 auto;
    padding: 0 clamp(12px, 1.563vw, 30px);        /* breathing room from lines */
    position: relative;
    z-index: 1;                                    /* text sits above line images */
}

/* --- TABLET --- */
@media (min-width: 768px) and (max-width: 1024px) {
    .mg-about__inner { padding-left: clamp(16px, 5vw, 60px); padding-right: clamp(16px, 5vw, 60px); }
    .mg-about__frame { width: clamp(130px, 17.578vw, 180px); height: clamp(180px, 24.414vw, 250px); }
    .mg-about__tagline { font-size: clamp(18px, 2.344vw, 28px); white-space: normal; }
    .mg-about__divider { flex: 0 0 clamp(30px, 7.813vw, 80px); }
}

/* ================================================================
   05. ABOUT — MOBILE (≤767px)
   Figma mobile (440px canvas ÷4.4):

================================================================ */
@media (max-width: 767px) {

    .mg-about__inner {
        flex-direction: column;
        align-items: center;
        padding-top:   clamp(20px, 11.364vw, 50px); /* gap from video bottom */
        padding-left:  25px;
        padding-right: 25px;
        padding-bottom: 0;
    }

    /* Header block — eyebrow + H1 — stays on top, order:1 */
    .mg-about__header {
        order: 1;
        width: 100%;
        max-width: 100%;
        text-align: center;
        margin-bottom: 0;                           /* frame provides the 35px gap */
    }

    /* Eyebrow: 14px ls:10% centered */
    .mg-about__eyebrow {
        font-size: 14px;
        letter-spacing: 0.10em;
        margin-bottom: 10px;                        /* 865-838-17 = 10px gap to H1 */
    }

    /* H1: 32px/36lh uppercase w:390 */
    .mg-about__heading {
        font-size: clamp(26px, 7.273vw, 32px);     /* 32÷4.4 = 7.273vw */
        line-height: 36px;
        max-width: 100%;
    }
    .mg-about__heading--desktop { display: none; }
    .mg-about__heading--mobile  { display: block; }

    /* Columns block — becomes vertical stack, order:2 */
    .mg-about__columns {
        flex-direction: column;
        align-items: center;
        width: 100%;
        margin-top: 0;
        order: 2;
    }

    /* Hide right frame — mobile shows one frame only */
    .mg-about__frame--right { display: none; }

    /* Left frame — order:1 inside columns, 35px below H1
       Figma: w:369 h:472
       369÷4.4 = 83.864vw | 472÷4.4 = 107.273vw */
    .mg-about__frame--left {
        order: 1;
        width:       clamp(260px, 83.864vw, 369px);
        height:      clamp(320px, 107.273vw, 472px);
        margin-top:  35px;                          /* Figma exact: 35px gap from H1 */
        margin-left: auto;
        margin-right: auto;
        flex-shrink: 0;
    }

    /* Text column — order:2 inside columns, 35px below frame */
    .mg-about__text {
        order: 2;
        padding:    0;
        padding-top: 35px;                          /* Figma exact: 35px gap from frame bottom */
        max-width:  100%;
        width:      100%;
    }

    /* Body: 18px/35lh centered */
    .mg-about__body {
        font-size:   18px;
        line-height: 35px;
        width:       100%;
        max-width:   100%;
        margin-bottom: 0;
    }

    /* Second body paragraph gap */
    .mg-about__body + .mg-about__body {
        margin-top: clamp(16px, 5.455vw, 24px);
    }

    /* Button: w:230 h:60 20px — 30px below body */
    .mg-about__btn {
        order: 3;
        width:      230px;
        height:     60px;
        font-size:  20px;
        margin-top: 30px;                           /* Figma: 30px gap from body */
    }

    /* Tagline — 43px below button, no divider lines */
    .mg-about__tagline-wrap {
        padding-top:    43px;                       /* Figma: button bottom y:2125 → tagline y:2168 = 43px */
        padding-left:   25px;
        padding-right:  25px;
        padding-bottom: clamp(30px, 9.091vw, 40px);
    }

    .mg-about__tagline {
        font-size:   clamp(28px, 8.182vw, 36px);   /* 36÷4.4 = 8.182vw */
        line-height: 40px;
        white-space: normal;
        padding:     0;
    }

    /* Hide divider lines on mobile — Figma confirmed no lines */
    .mg-about__divider { display: none; }
}

/* ================================================================
   06. FEATURES BAR
   Figma: 1920×151px bg:#2A2A2A
   4 PNG icons — each 188px tall natural height
   At h:94px displayed: widths = 328 / 295 / 249 / 330px
   space-between distributes items across full width automatically
================================================================ */

.mg-features.vc_section {
    padding-left:  0 !important;
    padding-right: 0 !important;
    padding-top:   0 !important;
    padding-bottom: 0 !important;
    margin-left:   0 !important;
    margin-right:  0 !important;
}

.vc_section.vc_section-has-fill.mg-features {
    padding-top: 0 !important;
}

.mg-features > .vc_row {
    display:         flex !important;
    align-items:     center !important;
    justify-content: space-between !important;
    height:          clamp(100px, 7.865vw, 151px) !important;
    padding-top:     0 !important;
    padding-bottom:  0 !important;
    margin-left:     0 !important;
    margin-right:    0 !important;
    box-sizing:      border-box !important;
    width:           100% !important;
    max-width:       100% !important;
}

.mg-features .mg-features__item,
.mg-features .mg-features__item.vc_col-sm-3 {
    float:   none !important;
    width:   auto !important;
    flex:    0 0 auto !important;
    padding: 0 !important;
}

.mg-features .mg-features__item .vc_column-inner { padding: 0 !important; }

.mg-features .mg-features__item .wpb_single_image,
.mg-features .mg-features__item figure,
.mg-features .mg-features__item .vc_single_image-wrapper,
.mg-features .mg-features__item .vc_figure {
    margin:  0 !important;
    padding: 0 !important;
    border:  none !important;
    display: block !important;
}

.mg-features .vc_box_border_grey {
    border:     none !important;
    box-shadow: none !important;
}

.mg-features .vc_row-full-width.vc_clearfix {
    display: none !important;
}

/* One knob drives icon size, text size and icon→text gap (Figma @1920: 94 / 20 / 20) */
.mg-features {
    --mg-feat-icon: clamp(50px, 4.896vw, 94px);
    --mg-feat-fs:   max(11px, calc(var(--mg-feat-icon) * 0.2128));
    --mg-feat-gap:  calc(var(--mg-feat-icon) * 0.2128);
}

/* Icon + text side by side inside each column */
.mg-features .mg-features__item .vc_column-inner > .wpb_wrapper {
    display:     flex;
    align-items: center;
    gap:         var(--mg-feat-gap);
}

/* Kill WPBakery's default 35px bottom margin on both elements */
.mg-features .mg-features__item .wpb_content_element {
    margin-bottom: 0 !important;
}

/* Icon */
.mg-features .vc_single_image-img,
.mg-features .mg-features__item img {
    height:     var(--mg-feat-icon) !important;
    width:      auto !important;
    max-width:  none !important;
    display:    block !important;
}

/* Text — Albert Sans Bold, uppercase, white */
.mg-features .mg-features__text,
.mg-features .mg-features__text .wpb_wrapper,
.mg-features .mg-features__text p {
    font-family:    var(--mg-font-body);
    font-weight:    700;
    font-size:      var(--mg-feat-fs);
    line-height:    1.2;
    letter-spacing: 0;
    text-transform: uppercase;
    color:          #FFFFFF;
    white-space:    nowrap;
    margin:         0;
    padding:        0;
}


/* --- TABLET --- */
@media (min-width: 768px) and (max-width: 1024px) {
    .mg-features > .vc_row {
        height: auto !important;
        padding: 16px 20px !important;
    }
    .mg-features {
        --mg-feat-icon: clamp(44px, 6.836vw, 70px);
    }
}


/* --- MOBILE --- */
@media (max-width: 767px) {
    /* Clip the marquee + Figma mobile text size */
    .mg-features {
        overflow: hidden !important;
        --mg-feat-fs: clamp(13px, 3.636vw, 16px);   /* Figma 16px @440 (16÷4.4) */
    }

    .mg-features .mg-features__text,
    .mg-features .mg-features__text .wpb_wrapper,
    .mg-features .mg-features__text p {
        line-height: 1;   /* 100% */
    }

    /* Animate the row as a marquee */
    .mg-features > .vc_row {
        justify-content: flex-start !important;
        gap:             clamp(30px, 11.364vw, 50px) !important;
        overflow:        visible !important;
        flex-wrap:       nowrap !important;
        height:          auto !important;
        padding:         20px 0 !important;
        scrollbar-width: none;
    }
}


/* ================================================================
   07. VIRTUAL TOUR / GALLERY SECTION
================================================================ */

.mg-tour { background-color: var(--mg-white); }

/* --- HEADING --- */
.mg-tour__header {
    text-align:     center;
    padding-top:    clamp(71px, 5.208vw, 100px);
    padding-bottom: clamp(20px, 2.604vw, 50px);
}

.mg-tour__eyebrow {
    font-family:    var(--mg-font-body);
    font-weight:    500;
    font-size:      clamp(13px, 1.042vw, 20px);
    letter-spacing: 0.15em;
    color:          var(--mg-gold-dark);
    text-transform: uppercase;
    margin-bottom:  clamp(6px, 0.625vw, 12px);
    margin-top:     0;
}

.mg-tour__heading {
    font-family:    var(--mg-font-heading);
    font-weight:    300;
    font-size:      clamp(28px, 2.5vw, 48px);
    line-height:    clamp(32px, 2.76vw, 53px);
    color:          var(--mg-brown-heading);
    text-transform: uppercase;
    margin:         0;
}

/* --- MAIN IMAGE --- */
.mg-tour__main-wrap {
    padding-left:  clamp(20px, 10.104vw, 194px);
    padding-right: clamp(20px, 10.417vw, 200px);
    position:      relative;
    overflow:      hidden;
}
.mg-tour__main-wrap,
.mg-tour__swiper-main,
.mg-tour__swiper-main .swiper-wrapper {
    will-change: transform;
}

.mg-tour {
    overflow-x: hidden;
    max-width:  100%;
}

.mg-tour__swiper-main {
    width:         100% !important;
    max-width:     100%;
    border-radius: clamp(12px, 1.823vw, 35px) clamp(12px, 1.823vw, 35px) 0 0;
    overflow:      hidden;
}

.mg-tour__swiper-main .swiper-slide {
    width: 100% !important;
}

.mg-tour__swiper-main .swiper-slide img {
    width:      100%;
    height:     clamp(300px, 52.083vw, 1000px);
    object-fit: cover;
    display:    block;
}

.mg-tour__play {
    position:        absolute;
    top:             50%;
    left:            50%;
    transform:       translate(-50%, -50%);
    z-index:         10;
    width:           clamp(80px, 10.729vw, 206px);
    height:          clamp(80px, 10.729vw, 206px);
    border-radius:   50%;
    background:      rgba(255, 255, 255, 0.19);
    border:          4px solid var(--mg-dark-text);
    display:         flex;
    align-items:     center;
    justify-content: center;
    cursor:          pointer;
    transition:      background var(--mg-transition), opacity var(--mg-transition);
}

.mg-tour__play:hover { background: rgba(255, 255, 255, 0.35); }

.mg-tour__play svg {
    width:       clamp(28px, 3.906vw, 75px);
    height:      clamp(36px, 5.104vw, 98px);
    margin-left: 6px;
}

/* Arrow row — desktop: absolute positioned inside strip, full width */
.mg-tour__arrow-row {
    position: absolute;
    top:      50%;
    left:     0;
    right:    0;
    transform: translateY(-50%);
    display:  flex;
    align-items:     center;
    justify-content: space-between;
    padding-left:  clamp(50px, 5.208vw, 100px);
    padding-right: clamp(50px, 5.208vw, 100px);
    pointer-events: none;
    z-index: 2;
}

.mg-tour__arrow {
    pointer-events: all;
}

/* --- THUMBNAIL STRIP --- */
.mg-tour__strip {
    background-color: var(--mg-footer-bg);
    height:           clamp(120px, 12.240vw, 235px);
    display:          flex;
    align-items:      center;
    justify-content:  center;
    overflow:         hidden;
    position:         relative;
}

.mg-tour__arrow {
    position:   static;
    background: none;
    border:     none;
    cursor:     pointer;
    padding:    0;
    transition: opacity var(--mg-transition);
    display:    flex;
    align-items: center;
}
.mg-tour__arrow:hover { opacity: 0.7; }

.mg-tour__arrow img {
    width:   clamp(24px, 2.5vw, 48px);
    height:  clamp(8px, 0.781vw, 15px);
    display: block;
}

/* Thumbs track */
.mg-tour__thumbs-track {
    display:         flex;
    align-items:     center;
    justify-content: center;
    gap:             clamp(8px, 2.240vw, 43px);
    height:          100%;
    padding-top:     clamp(10px, 1.094vw, 21px);
    padding-bottom:  clamp(10px, 1.094vw, 21px);
    box-sizing:      border-box;
}

.mg-tour__thumb-item {
    flex-shrink:   0;
    width:         clamp(70px, 11.250vw, 216px);
    height:        100%;
    cursor:        pointer;
    border-radius: 5px;
    overflow:      hidden;
    border:        3px solid transparent;
    opacity:       0.6;
    transition:    opacity var(--mg-transition), border-color var(--mg-transition);
    box-sizing:    border-box;
}

.mg-tour__thumb-item--active {
    opacity:       1;
    border:        6px solid var(--mg-gold-light);
    border-radius: 5px;
}

.mg-tour__thumb-item img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    display:    block;
    border-radius: 3px;
}

.mg-tour__swiper-thumbs { display: none !important; }


/* --- TABLET 768–1024px --- */
@media (min-width: 768px) and (max-width: 1024px) {
    .mg-tour__main-wrap { padding-left: 30px; padding-right: 30px; }
    .mg-tour__swiper-main .swiper-slide img { height: clamp(260px, 39.063vw, 400px); }
    .mg-tour__strip { height: auto; min-height: 100px; }
    .mg-tour__thumb-item { height: 80px; }
    .mg-tour__arrow-row { padding-left: 20px; padding-right: 20px; }
}


/* --- MOBILE ≤767px ---
   Strip: 440×250px | Thumbs: 165×150px gap:15px scrollable
   Arrows: 48×15px side by side centred, 15px from strip bottom
================================================================ */
@media (max-width: 767px) {

    .mg-tour__header { padding: 10.091vw 5.682vw 6.818vw; }
    .mg-tour__eyebrow { font-size: 14px; letter-spacing: 0.10em; }

    /* 2-line heading: hide <br>, let text wrap at 2 lines naturally */
    .mg-tour__heading {
        font-size:   clamp(24px, 6.5vw, 32px);   /* floor 24px prevents 3-line wrap on small screens */
        line-height: clamp(28px, 8.182vw, 36px);
        padding:     0 25px;
        margin:      0 auto;
        max-width:   100%;
    }
    .mg-tour__heading br { display: none; }

    .mg-tour__main-wrap { padding-left: 25px; padding-right: 25px; }
    .mg-tour__swiper-main { border-radius: 20px 20px 0 0; }
    .mg-tour__swiper-main .swiper-slide img { height: clamp(280px, 125vw, 550px); }

    .mg-tour__play { width: 100px; height: 100px; border-width: 3px; }
    .mg-tour__play svg { width: 28px; height: 36px; margin-left: 4px; }

    /* Strip: column, thumbs top, arrow-row bottom */
    .mg-tour__strip {
        height:          250px;
        flex-direction:  column;
        justify-content: flex-start;
        align-items:     center;
        padding-top:     30px;
        overflow:        hidden;
        position:        relative;
    }

    /* Thumbs: scrollable, 165px wide, 3 visible + partial cut */
    .mg-tour__thumbs-track {
        display:     flex;
        align-items: center;
        gap:         15px;
        width:       100%;
        height:      150px;
        overflow-x:  auto;
        overflow-y:  hidden;
        padding:     0;
        box-sizing:  border-box;
        scrollbar-width: none;
        flex-shrink: 0;
        -webkit-overflow-scrolling: touch;
        justify-content: flex-start;   /* Figma layout (3+ images): start at left and scroll */
    }
    .mg-tour__thumbs-track::-webkit-scrollbar { display: none; }

    /* TWO-IMAGE FIX (temporary-safe): centres the thumbnails while they fit on screen.
       Auto margins only absorb spare space, so with 3+ images (row wider than the screen)
       this does nothing and the Figma layout above applies. No need to remove it later. */
    .mg-tour__thumbs-track .mg-tour__thumb-item:first-child { margin-left:  auto; }
    .mg-tour__thumbs-track .mg-tour__thumb-item:last-child  { margin-right: auto; }

    .mg-tour__thumb-item {
        flex-shrink:   0;
        width:         165px;
        height:        100%;
        border:        2px solid transparent;
        opacity:       0.7;
    }

    .mg-tour__thumb-item--active {
        opacity: 1;
        border:  3px solid var(--mg-gold-light);
    }

    /* Arrow row: visible, centred, absolute at bottom of strip */
    .mg-tour__arrow-row {
        display:         flex !important;
        align-items:     center;
        justify-content: center;
        gap:             5.909vw;
        position:        absolute;
        bottom:          6.364vw !important;
        left:            0;
        right:           0;
    }

    /* Arrow-row: override desktop positioning for mobile */
    .mg-tour__arrow-row {
        top:       auto;
        bottom:    15px;
        transform: none;
        padding:   0;
        justify-content: center;
        gap: 26px;
    }

    .mg-tour__arrow img {
        width:  48px;
        height: 15px;
    }
}


/* ================================================================
   08. HALLS & ROOMS SECTION
   Desktop (1920px ÷19.2):
     Section margin-top: 100px = 5.208vw
     Left panel:  w:948px = 49.375vw h:600px = 31.250vw
                  bg:#EDEBE5 radius: 0 35px 35px 0
     Right panel: w:962px = 50.104vw h:600px
                  gap from left: 10px = 0.521vw
     Images:      w:402px = 20.938vw h:600px radius:35px gap:12px
   Mobile (440px ÷4.4):
     Text panel:  h:510px radius: 0 0 20 20
     Slider:      h:500px images w:402px radius:20px gap:10px
================================================================ */

.mg-halls {
    display:          flex;
    align-items:      stretch;
    gap:              clamp(5px, 0.521vw, 10px);
    padding-top:      clamp(50px, 5.208vw, 100px);
    overflow:         hidden;
    background-color: var(--mg-white);
}

/* --- LEFT TEXT PANEL --- */
.mg-halls__text {
    flex-shrink:    0;
    width:          clamp(320px, 49.375vw, 948px);   /* 948÷19.2 */
    height:         clamp(400px, 31.250vw, 600px);   /* 600÷19.2 — fixed height */
    background:     var(--mg-cream-bg);              /* #EDEBE5 */
    border-radius:  0 clamp(18px, 1.823vw, 35px) clamp(18px, 1.823vw, 35px) 0;
    padding-top:    clamp(40px, 3.958vw, 76px);      /* 76÷19.2 — eyebrow from top */
    padding-left:   clamp(80px, 10.417vw, 200px);    /* 200÷19.2 — all text x from left */
    padding-right:  clamp(20px, 2.083vw, 40px);
    padding-bottom: 0;
    display:        flex;
    flex-direction: column;
    position:       relative;
}

.mg-halls__eyebrow {
    font-family:    var(--mg-font-body);
    font-weight:    500;
    font-size:      clamp(13px, 1.042vw, 20px);      /* 20÷19.2 */
    letter-spacing: 0.15em;
    color:          var(--mg-gold-dark);
    text-transform: uppercase;
    margin:         0;
    line-height:    1;
}

.mg-halls__heading {
    font-family:    var(--mg-font-heading);
    font-weight:    300;
    font-size:      clamp(28px, 2.500vw, 48px);      /* 48÷19.2 */
    line-height:    clamp(32px, 2.760vw, 53px);      /* 53÷19.2 */
    color:          var(--mg-brown-heading);
    text-transform: uppercase;
    max-width:      clamp(300px, 28.958vw, 556px);   /* 556÷19.2 */
    margin-top:     clamp(8px, 0.625vw, 12px);      /* 36÷19.2 — gap eyebrow→H2 */
    margin-bottom:  clamp(16px, 1.823vw, 35px);      /* 35÷19.2 — gap H2→body */
}

.mg-halls__body {
    font-family:    var(--mg-font-body);
    font-weight:    300;
    font-size:      clamp(15px, 1.146vw, 22px);      /* 22÷19.2 */
    line-height:    clamp(26px, 1.875vw, 36px);      /* 36÷19.2 */
    color:          var(--mg-dark-text);
    text-align:     justify;
    max-width:      clamp(300px, 30.729vw, 590px);   /* 590÷19.2 */
    flex:           1;
}

/* Arrow button: w:135 h:82 x:813 from panel left = bottom-right of text panel
   border-radius: 35px 0 0 35px (Figma: top-left + bottom-left rounded) */
.mg-halls__arrow-btn {
    position:        absolute;
    bottom:          0;
    right:           0;
    width:           clamp(80px, 7.031vw, 135px);    /* 135÷19.2 */
    height:          clamp(50px, 4.271vw, 82px);     /* 82÷19.2 */
    background:      var(--mg-stone);                /* #D9CFC2 */
    border:          none;
    border-radius:   clamp(18px, 1.823vw, 35px) 0 clamp(18px, 1.823vw, 35px) 0;
    cursor:          pointer;
    display:         flex;
    align-items:     center;
    justify-content: center;
    transition:      background var(--mg-transition);
}

.mg-halls__arrow-btn:hover {
    background:  #B59D5A;
}

.mg-halls__arrow-svg {
    width:   clamp(40px, 3.750vw, 72px);             /* 72÷19.2 */
    height:  clamp(12px, 1.198vw, 23px);             /* 23÷19.2 */
    display: block;
}

/* --- RIGHT IMAGE SLIDER --- */
.mg-halls__swiper {
    flex:        1;
    min-width:   0;
    height:      clamp(400px, 31.250vw, 600px);
    margin-left: clamp(5px, 0.521vw, 10px);
    overflow:    visible;
}

.mg-halls__swiper .swiper-slide {
    width:        clamp(200px, 20.938vw, 402px) !important; /* 402÷19.2 */
    height:       100%;
    border-radius: clamp(18px, 1.823vw, 35px);
    overflow:     hidden;
    flex-shrink:  0;
}

.mg-halls__swiper .swiper-slide img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    display:    block;
}


/* --- TABLET 768–1024px --- */
@media (min-width: 768px) and (max-width: 1024px) {
    .mg-halls__text {
        padding-left: clamp(30px, 5vw, 60px);
    }
    .mg-halls__heading { font-size: clamp(24px, 3.125vw, 32px); }
    .mg-halls__swiper .swiper-slide { width: clamp(180px, 29.297vw, 300px) !important; }
}


/* --- MOBILE ≤767px ---
   Figma (440px ÷4.4):
   Text panel: full width h:510px radius: 0 0 20 20
   Arrow btn:  w:100 h:61 bottom-right x:340
   Slider:     h:500px images w:402px radius:20px gap:10px
================================================================ */
@media (max-width: 767px) {
    .mg-halls {
        flex-direction: column;
        margin-top:     0;
    }

    .mg-halls__text {
        width:          100%;
        min-height:     clamp(400px, 115.909vw, 510px);  /* 510÷4.4 */
        border-radius:  0 0 clamp(14px, 4.545vw, 20px) clamp(14px, 4.545vw, 20px);
        padding-top:    clamp(30px, 8.864vw, 39px);      /* 39÷4.4 */
        padding-left:   25px;
        padding-right:  25px;
        padding-bottom: clamp(50px, 13.864vw, 61px);
        align-items:    center;
        text-align:     center;
    }

    .mg-halls__eyebrow {
        font-size:      14px;
        letter-spacing: 0.10em;     
    }

    .mg-halls__heading {
        font-size:      clamp(26px, 7.273vw, 32px);      /* 32÷4.4 */
        line-height:    clamp(30px, 8.182vw, 36px);      /* 36÷4.4 */
        text-align:     center;
        max-width:      100%;
        margin-bottom:  clamp(20px, 6.818vw, 30px);       
    }

    .mg-halls__body {
        font-size:   clamp(16px, 4.091vw, 18px);         /* 18÷4.4 */
        line-height: clamp(28px, 7.955vw, 35px);         /* 35÷4.4 */
        text-align:  justify;
        max-width:   100%;
    }

    /* Arrow btn: w:100 h:61 bottom-right corner */
    .mg-halls__arrow-btn {
        width:         clamp(80px, 22.727vw, 100px);     /* 100÷4.4 */
        height:        clamp(50px, 13.864vw, 61px);      /* 61÷4.4 */
        border-radius: clamp(20px, 7.955vw, 35px) 0 clamp(12px, 4.545vw, 20px) 0;
    }

    .mg-halls__arrow-svg {
        width:  clamp(36px, 12.273vw, 54px);             /* 54÷4.4 */
        height: clamp(12px, 3.864vw, 17px);              /* 17÷4.4 */
    }

    /* Image slider: full width, h:500px, images w:402px */
    .mg-halls__swiper {
        width:       100%;
        height:      clamp(350px, 113.636vw, 500px);
        margin-left: 0;
        margin-top:  clamp(6px, 2.273vw, 10px);
        overflow:    hidden;
    }

    .mg-halls__swiper .swiper-slide {
        width:         clamp(300px, 91.364vw, 402px) !important;
        height:        clamp(350px, 113.636vw, 500px) !important;
        border-radius: clamp(14px, 4.545vw, 20px);
    }
}

/* ================================================================
   09. PACKAGES SECTION
   Desktop: stacked accordion — inactive slides peek right as 78px strips
   Mobile:  vertical accordion (unchanged, working)
================================================================ */

.mg-packages {
    background-color: var(--mg-white);
    padding-top:      clamp(71px, 5.208vw, 100px);
    padding-bottom:   clamp(40px, 4.167vw, 80px);
}

/* --- SECTION HEADER --- */
.mg-packages__header {
    text-align:     center;
    padding-left:   25px;
    padding-right:  25px;
    padding-bottom: clamp(30px, 2.604vw, 50px);
}

.mg-packages__eyebrow {
    font-family:    var(--mg-font-body);
    font-weight:    500;
    font-size:      clamp(13px, 1.042vw, 20px);
    letter-spacing: 0.15em;
    color:          var(--mg-gold-dark);
    text-transform: uppercase;
    margin:         0 0 clamp(8px, 0.625vw, 10px);
}

.mg-packages__heading {
    font-family:    var(--mg-font-heading);
    font-weight:    300;
    font-size:      clamp(28px, 2.500vw, 48px);
    line-height:    clamp(32px, 2.760vw, 53px);
    color:          var(--mg-brown-heading);
    text-transform: uppercase;
    margin:         0 auto clamp(16px, 1.250vw, 24px);
    max-width:      clamp(400px, 43.177vw, 829px);
}

.mg-packages__intro {
    font-family: var(--mg-font-body);
    font-weight: 300;
    font-size:   clamp(15px, 1.250vw, 24px);
    line-height: clamp(24px, 1.875vw, 36px);
    color:       var(--mg-dark-text);
    max-width:   clamp(500px, 73.125vw, 1404px);
    margin:      0 auto;
}

/* --- DESKTOP ACCORDION SLIDER --- */
.mg-packages__card {
    position:     relative;
    margin-left:  clamp(20px, 10.417vw, 200px);
    margin-right: clamp(20px, 10.417vw, 200px);
    height:       clamp(350px, 31.250vw, 600px);
    overflow:     hidden;
    border-radius: clamp(18px, 1.823vw, 35px);
}

/* Each slide — absolutely positioned, slides horizontally */
.mg-packages__slide {
    position:   absolute;
    top:        0;
    left:       0;
    width:      100%;
    height:     100%;
    display:    flex;
    transition: transform 500ms cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
}

/* Dark strip — the clickable tab, 78px wide */
.mg-packages__slide-strip {
    flex-shrink:     0;
    width:           clamp(40px, 4.062vw, 78px);
    height:          100%;
    background:      var(--mg-footer-bg);
    display:         flex;
    align-items:     center;
    justify-content: center;
    cursor:          pointer;
    transition:      background var(--mg-transition);
}

.mg-packages__slide-strip:hover { background: #1a1a1a; }

/* Divider between tabs — white line on the left edge of each strip (matches Figma).
   Change the thickness here to make it stronger or softer. */
.mg-packages__slide-strip {
    border-left: 2px solid #FFFFFF;
}

/* First tab sits against the card edge — no divider needed there */
.mg-packages__slide[data-index="0"] .mg-packages__slide-strip {
    border-left: none;
}

/* Tab that sits against the photo — divider only goes between tabs */
.mg-packages__slide--after-active .mg-packages__slide-strip {
    border-left: none;
}

.mg-packages__slide-label {
    font-family:    var(--mg-font-heading);
    font-weight:    300;
    font-size:      clamp(14px, 1.875vw, 36px);
    color:          var(--mg-gold-bright);
    text-transform: uppercase;
    white-space:    nowrap;
    transform:      rotate(-90deg);
    display:        block;
    pointer-events: none;
}

/* Content area — text + image */
.mg-packages__slide-content {
    display:  flex;
    flex:     1;
    height:   100%;
    overflow: hidden;
    min-width: 0;
}

/* Text panel */
.mg-packages__text {
    flex-shrink:      0;
    width:            clamp(250px, 38.958vw, 748px);
    height:           100%;
    background-color: #EDEBE5;
    padding-top:      clamp(24px, 2.500vw, 48px);
    padding-left:     clamp(20px, 2.552vw, 49px);
    padding-right:    clamp(20px, 2.552vw, 49px);
    padding-bottom:   clamp(20px, 2.969vw, 57px);
    box-sizing:       border-box;
    display:          flex;
    flex-direction:   column;
    overflow:         hidden;
}

.mg-packages__panel-title {
    font-family:    var(--mg-font-heading);
    font-weight:    300;
    font-size:      clamp(24px, 2.500vw, 48px);
    line-height:    clamp(28px, 2.760vw, 53px);
    color:          var(--mg-brown-heading);
    text-transform: uppercase;
    padding-left:   clamp(20px, 6.385vw, 124px);
    margin:         0 0 clamp(10px, 0.781vw, 15px);
}

.mg-packages__panel-subtitle {
    font-family:   var(--mg-font-heading);
    font-style:    italic;
    font-weight:   400;
    font-size:     clamp(14px, 1.354vw, 26px);
    line-height:   1.1;
    color:         var(--mg-gold-dark);
    text-align:    center;
    margin-bottom: clamp(8px, 1.302vw, 25px);
}

.mg-packages__panel-body {
    font-family:    var(--mg-font-body);
    font-style:     italic;
    font-weight:    300;
    font-size:      clamp(13px, 0.990vw, 19px);
    line-height:    clamp(20px, 1.563vw, 30px);
    letter-spacing: -0.02em;
    color:          var(--mg-dark-text);
    text-align:     center;
    margin-bottom:  clamp(8px, 1.302vw, 25px);
}

.mg-packages__includes {
    font-family:    var(--mg-font-body);
    font-weight:    600;
    font-size:      clamp(13px, 1.042vw, 20px);
    text-transform: uppercase;
    color:          var(--mg-gold-dark);
    margin-bottom:  clamp(8px, 1.302vw, 25px);
    text-align:     center;
}

.mg-packages__features {
    list-style:            none;
    margin:                0 0 auto;
    padding:               0;
    display:               grid;
    grid-template-columns: clamp(150px, 16.302vw, 313px) clamp(120px, 15.208vw, 292px); /* fixed col widths */
    column-gap:            clamp(20px, 2.500vw, 48px);  
    row-gap:               clamp(6px, 0.677vw, 13px);     /* 13÷19.2 — exact Figma row gap */
    flex-shrink:           0;
}

/* Col 1: Décor (36px lh) + Performance (28px lh, 2 lines) */
.mg-packages__features li:nth-child(1),
.mg-packages__features li:nth-child(3) {
    font-family:  var(--mg-font-body);
    font-weight:  300;
    font-size:    clamp(13px, 0.990vw, 19px);
    line-height:  clamp(20px, 1.458vw, 28px);
    color:        var(--mg-dark-text);
    padding-left: 14px;
    position:     relative;
}

/* Col 2: Lighting (36px lh) + Bespoke (36px lh) */
.mg-packages__features li:nth-child(2),
.mg-packages__features li:nth-child(4) {
    font-family:  var(--mg-font-body);
    font-weight:  300;
    font-size:    clamp(13px, 0.990vw, 19px);
    line-height:  clamp(24px, 1.875vw, 36px);
    color:        var(--mg-dark-text);
    padding-left: 14px;
    position:     relative;
}

.mg-packages__features li::before {
    content:  '•';
    position: absolute;
    left:     0;
    color:    var(--mg-dark-text);  /* #3D3D3D — Figma: same as text */
}

.mg-packages__btn {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    font-family:     var(--mg-font-heading);
    font-weight:     500;
    font-size:       clamp(15px, 1.250vw, 24px);
    text-transform:  uppercase;
    color:           var(--mg-gold-dark);
    border:          1.5px solid var(--mg-gold-dark);
    border-radius:   5px;
    text-decoration: none;
    width:           clamp(160px, 13.021vw, 250px);
    height:          clamp(44px, 3.385vw, 65px);
    margin-left:     clamp(40px, 10.000vw, 192px);
    margin-top:      auto;
    margin-bottom:   0;
    flex-shrink:     0;
    transition:      background var(--mg-transition), color var(--mg-transition);
}

.mg-packages__btn:hover {
    background: var(--mg-gold-dark);
    color:      var(--mg-cream-light);
}

.mg-packages__image {
    flex:      1;
    overflow:  hidden;
    min-width: 0;
}

.mg-packages__image img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    display:    block;
}

/* Mobile accordion hidden on desktop */
.mg-packages__accordion { display: none; }


/* --- TABLET 768–1024px --- */
@media (min-width: 768px) and (max-width: 1024px) {
    .mg-packages__card      { margin-left: 20px; margin-right: 20px; }
    .mg-packages__panel-title { padding-left: 20px; }
    .mg-packages__btn       { margin-left: 20px; }
    .mg-packages__features  { grid-template-columns: 1fr; }
}

/* --- TABLET 1025–1199px — card needs more height --- */
@media (min-width: 1025px) and (max-width: 1199px) {
    .mg-packages__card {
        height: clamp(420px, 36.458vw, 500px);
    }

    .mg-packages__panel-title {
        padding-left: clamp(20px, 4.167vw, 80px);
        margin-bottom: clamp(8px, 0.521vw, 10px);
    }

    .mg-packages__panel-body {
        margin-bottom: clamp(6px, 0.781vw, 15px);
    }

    .mg-packages__panel-subtitle {
        margin-bottom: clamp(6px, 0.781vw, 15px);
    }

    .mg-packages__includes {
        margin-bottom: clamp(6px, 0.781vw, 15px);
    }

    .mg-packages__features {
        grid-template-columns: 1fr 1fr;
        column-gap: clamp(10px, 1.563vw, 30px);
        row-gap:    clamp(4px, 1.417vw, 8px);
    }

    .mg-packages__btn {
        margin-left: auto;
        margin-right: auto;
    }
}


/* --- MOBILE + TABLET ≤1024px --- */
@media (max-width: 1024px) {

    .mg-packages {
        padding-top:    clamp(10px, 1.042vw, 20px);
        padding-bottom: 0;
    }

    .mg-packages__header {
        padding: clamp(30px, 6.818vw, 30px) 25px clamp(30px, 6.818vw, 30px);
    }

    .mg-packages__eyebrow {
        font-size:      14px;
        letter-spacing: 0.10em;
        margin-bottom:  clamp(8px, 0.521vw, 10px);
    }

    .mg-packages__heading {
        font-size:   clamp(26px, 7.273vw, 32px);
        line-height: 36px;
        max-width:   clamp(300px, 81.818vw, 360px);   /* 360÷4.4 */
        margin:      0 auto clamp(20px, 6.818vw, 30px);
    }

    .mg-packages__heading br { display: none; }

    .mg-packages__intro {
        font-size:   clamp(16px, 4.091vw, 18px);
        line-height: clamp(28px, 7.955vw, 35px);
        text-align:  justify;
        max-width:   100%;
    }

    .mg-packages__card      { display: none; }
    .mg-packages__accordion {
        display:        flex;
        flex-direction: column;
        margin-left:    clamp(18px, 5.682vw, 25px);    /* 25÷4.4 */
        margin-right:   clamp(18px, 5.682vw, 25px);
        margin-bottom:  clamp(36px, 11.364vw, 50px);   /* 50÷4.4 */
        border-radius:  clamp(14px, 4.545vw, 20px);
        overflow:       hidden;
    }

    .mg-packages__acc-item { overflow: hidden; }

    .mg-packages__acc-header {
        width:           100%;
        height:          clamp(44px, 11.364vw, 50px);
        background:      var(--mg-footer-bg);
        border:          none;
        cursor:          pointer;
        display:         flex;
        align-items:     center;
        justify-content: center;
        padding:         0;
        transition:      background var(--mg-transition);
    }

    .mg-packages__acc-header--active,
    .mg-packages__acc-header:hover { background: #1a1a1a; }

    .mg-packages__acc-label {
        font-family:    var(--mg-font-heading);
        font-weight:    300;
        font-size:      clamp(18px, 5.455vw, 24px);
        color:          var(--mg-gold-bright);
        text-transform: uppercase;
        text-align:     center;
        white-space:    nowrap;
    }

    .mg-packages__acc-body {
        max-height: 0;
        overflow:   hidden;
        transition: max-height 500ms ease-in-out;
    }

    .mg-packages__acc-body--open { max-height: 1200px; }

    .mg-packages__acc-image {
        width:    100%;
        height:   clamp(220px, 68.182vw, 300px);
        overflow: hidden;
    }

    .mg-packages__acc-image img {
        width:      100%;
        height:     100%;
        object-fit: cover;
        display:    block;
    }

    .mg-packages__acc-text {
        background:      var(--mg-cream-bg);
        padding:        clamp(16px, 4.545vw, 20px) 25px clamp(24px, 7.818vw, 37px);
        display:        flex;
        flex-direction: column;
        align-items:    center;
        text-align:     center;
    }

    .mg-packages__acc-title {
        font-family:    var(--mg-font-heading);
        font-weight:    300;
        font-size:      clamp(24px, 6.818vw, 30px);
        line-height:    clamp(28px, 7.500vw, 33px);
        text-transform: uppercase;
        color:          var(--mg-brown-heading);
        margin-bottom:  clamp(14px, 6.136vw, 27px);
        text-align:     center;
    }

    .mg-packages__acc-subtitle {
        font-family:   var(--mg-font-heading);
        font-style:    italic;
        font-weight:   400;
        font-size:     clamp(16px, 4.545vw, 20px);
        line-height:   clamp(20px, 5.000vw, 22px);
        color:         var(--mg-gold-dark);
        text-align:    center;
        margin-bottom: clamp(16px, 7.273vw, 32px);
        max-width:     clamp(240px, 68.182vw, 300px);
    }

    .mg-packages__acc-body-text {
        font-family:    var(--mg-font-body);
        font-style:     italic;
        font-weight:    300;
        font-size:      16px;
        line-height:    30px;
        letter-spacing: -0.02em;
        color:          var(--mg-dark-text);
        text-align:     center;
        max-width:      clamp(280px, 77.273vw, 340px);
        margin-bottom:  clamp(20px, 1.563vw, 30px);
    }

    .mg-packages__acc-includes {
        font-family:    var(--mg-font-body);
        font-weight:    600;
        font-size:      16px;
        text-transform: uppercase;
        color:          var(--mg-gold-dark);
        margin-bottom:  clamp(20px, 1.042vw, 20px);
        text-align:     center;
    }

    .mg-packages__acc-features {
        list-style:     none;
        padding:        0;
        margin:         0 0 clamp(24px, 8.864vw, 39px);
        display:        flex;
        flex-direction: column;
        align-items:    center;
        gap:            clamp(20px, .094vw, 21px);
        width:          100%;
    }

    .mg-packages__acc-features li {
        font-family:  var(--mg-font-body);
        font-weight:  300;
        font-size:    16px;
        line-height:  19px;
        color:        var(--mg-dark-text);
        text-align:   center;
        padding-left: 0;
        position:     static;
    }

    .mg-packages__acc-features li::before {
        display:  inline;
        content:  '• ';
        color:    var(--mg-dark-text);
    }

    .mg-packages__acc-btn {
        display:         inline-flex;
        align-items:     center;
        justify-content: center;
        font-family:     var(--mg-font-heading);
        font-weight:     500;
        font-size:       clamp(16px, 4.545vw, 20px);
        text-transform:  uppercase;
        color:           var(--mg-gold-dark);
        border:          1.5px solid var(--mg-gold-dark);
        border-radius:   5px;
        text-decoration: none;
        width:           clamp(200px, 53.409vw, 235px);
        height:          clamp(52px, 13.636vw, 60px);
        margin:          0 auto;
        transition:      background var(--mg-transition), color var(--mg-transition);
    }

    .mg-packages__acc-btn:hover {
        background: var(--mg-gold-dark);
        color:      var(--mg-cream-light);
    }
}


/* ================================================================
   10. PREVIOUS EVENTS SECTION
   Desktop (1920px ÷19.2):
     Section: 1920×1000px bg:#EDEBE5
     Header: eyebrow+H2 left x:200, body right x:960
     Masonry: 8 images absolute positioned, all exact Figma coords
     Quote: Italianno 60px x:1474 y:6509
     Nav: x:1486 y:6988 — left arrow | counter | right arrow
   Mobile (440px ÷4.4):
     Header centred, body justify
     Swiper slider 317px images h:400px
     Quote + nav centred below
================================================================ */

.mg-events {
    background-color: var(--mg-cream-bg);
    position:         relative;
    overflow-x:       hidden;
    overflow-y:       visible;
    min-height:       clamp(600px, 52.083vw, 1000px);
}

/* --- HEADER --- */
.mg-events__header {
    display:       flex;
    align-items:   flex-start;
    padding-left:  clamp(20px, 10.417vw, 200px);   /* 200÷19.2 */
    padding-right: clamp(20px, 10.417vw, 200px);
    padding-top:   clamp(30px, 2.656vw, 51px);     /* 51÷19.2 */
    gap:           clamp(20px, 8.021vw, 154px);    /* was 13.021vw — gives paragraph room to fit 4 lines */
}

.mg-events__header-left {
    flex-shrink: 0;
    width:       clamp(280px, 26.563vw, 510px);    /* 510÷19.2 */
}

.mg-events__eyebrow {
    font-family:    var(--mg-font-body);
    font-weight:    500;
    font-size:      clamp(13px, 1.042vw, 20px);
    letter-spacing: 0.15em;
    color:          var(--mg-gold-dark);
    text-transform: uppercase;
    margin:         0 0 clamp(8px, 0.625vw, 12px);
}

.mg-events__heading {
    font-family:    var(--mg-font-heading);
    font-weight:    300;
    font-size:      clamp(28px, 2.500vw, 48px);
    line-height:    clamp(32px, 2.760vw, 53px);
    color:          var(--mg-brown-heading);
    text-transform: uppercase;
    margin:         0;
}

.mg-events__intro {
    font-family:    var(--mg-font-body);
    font-weight:    300;
    font-size:      clamp(15px, 1.146vw, 22px);
    line-height:    clamp(24px, 1.875vw, 36px);
    letter-spacing: -0.02em;
    color:          var(--mg-dark-text);
    text-align:     justify;
    max-width:      clamp(400px, 39.583vw, 760px); /* 760÷19.2 */
    margin:         0;
    padding-top:    clamp(4px, 0.469vw, 9px);      /* align with eyebrow baseline */
}

/* --- DESKTOP MASONRY --- */
.mg-events__pages {
    position:   relative;
    height:     clamp(500px, 36.458vw, 700px);
    margin-top: clamp(16px, 2.16vw, 41px);         /* gives 52px heading→images at 1920 once paragraph is 4 lines */
}

.mg-events__page {
    position:   absolute;
    top:        0;
    left:       0;
    width:      100%;
    height:     100%;
    opacity:    0;
    pointer-events: none;
    transition: opacity 500ms ease;
}

.mg-events__page--active {
    opacity:        1;
    pointer-events: auto;
}

.mg-events__grid {
    position: relative;
    width:    100%;
    height:   100%;
}

/* All grid items: absolute positioned, cursor pointer for lightbox */
.mg-events__grid-item {
    position:      absolute;
    border-radius: clamp(8px, 0.781vw, 15px);      /* 15÷19.2 */
    overflow:      hidden;
    cursor:        pointer;
    transition:    transform 300ms ease, box-shadow 300ms ease;
}

.mg-events__grid-item:hover {
    transform:  scale(1.02);
    box-shadow: 0 8px 32px rgba(0,0,0,0.18);
    z-index:    2;
}

.mg-events__grid-item img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    display:    block;
}

/* Exact Figma positions (vw relative to 1920px canvas) */
/* Grid positions relative to grid container (grid starts at y:6354 in Figma)
   All tops: Figma_y - 6354, all lefts: Figma_x (from page left)
   Converted to vw ÷19.2 */
.mg-events__grid-item.img1 { left: 10.417vw; top:  0;        width: 18.750vw; height: 23.698vw; }
.mg-events__grid-item.img2 { left: 29.583vw; top:  0;        width: 12.188vw; height: 15.208vw; }
.mg-events__grid-item.img3 { left: 42.135vw; top:  0;        width: 19.427vw; height: 12.865vw; }
.mg-events__grid-item.img4 { left: 61.979vw; top:  0;        width: 12.240vw; height: 18.177vw; }
.mg-events__grid-item.img5 { left: 10.417vw; top: 24.115vw; width: 31.354vw; height: 12.344vw; } /* (6817-6354)÷19.2 */
.mg-events__grid-item.img6 { left: 29.583vw; top: 15.573vw; width: 12.188vw; height:  8.125vw; } /* (6653-6354)÷19.2 */
.mg-events__grid-item.img7 { left: 42.135vw; top: 13.229vw; width: 19.427vw; height: 23.229vw; } /* (6608-6354)÷19.2 */
.mg-events__grid-item.img8 { left: 61.979vw; top: 18.594vw; width: 12.240vw; height: 17.865vw; } /* (6711-6354)÷19.2 */

/* --- QUOTE + NAV SIDEBAR --- */
.mg-events__sidebar {
    display:         flex;
    flex-direction:  column;
    align-items:     center;
    justify-content: space-between;
    position:        absolute;
    top:             clamp(280px, 20.833vw, 400px);
    left:            76.771vw;
    width:           12.812vw;
    height:          clamp(300px, 28.906vw, 555px);
    box-sizing:      border-box;
    overflow:        visible;
}

.mg-events__quote {
    font-family: var(--mg-font-script);
    font-weight: 400;
    font-size:   clamp(20px, 3.125vw, 60px);
    line-height: clamp(24px, 3.385vw, 65px);
    color:       var(--mg-dark-text);
    text-align:  center;
    margin:      0;
    width:       100%;
}

.mg-events__nav {
    display:         flex;
    align-items:     center;
    justify-content: center;
    gap:             clamp(10px, 1.563vw, 30px);
}

.mg-events__nav-arrow {
    background:  none;
    border:      none;
    cursor:      pointer;
    padding:     0;
    display:     flex;
    align-items: center;
    transition:  opacity var(--mg-transition);
    flex-shrink: 0;
}

.mg-events__nav-arrow:hover { opacity: 0.5; }

.mg-events__nav-arrow svg {
    width:   clamp(30px, 3.177vw, 61px);
    height:  clamp(10px, 0.990vw, 19px);
    display: block;
}

.mg-events__counter {
    width:         clamp(36px, 3.229vw, 62px);     /* 62÷19.2 */
    height:        clamp(38px, 3.438vw, 66px);     /* 66÷19.2 */
    border:        2px solid var(--mg-dark-text);
    border-radius: 8px;
    display:       flex;
    align-items:   center;
    justify-content: center;
    flex-shrink:   0;
}

.mg-events__counter-num {
    font-family:     'Slabo 27px', serif;
    font-weight:     400;
    font-size:       clamp(36px, 2.500vw, 48px);
    color:           var(--mg-dark-text);
    line-height:     1;
    letter-spacing:  -0.02em;
}


/* Desktop only ≥1025px — show masonry, hide mobile */
@media (min-width: 1025px) {
    .mg-events__mobile        { display: none !important; }
    .mg-events__mobile-footer { display: none !important; }
    .mg-events__pages         { display: block; }
    .mg-events__sidebar       { display: flex; }
}

/* --- MOBILE ≤767px ---
   Figma (440px ÷4.4):
   Section h:1109px bg:#EDEBE5
   Header centred, body justify
   Slider: 317px images h:400px gap:10px
   Quote: Italianno 40px centred
   Nav: centred arrows + counter
================================================================ */
@media (max-width: 1024px) {

    .mg-events {
        padding-bottom: clamp(30px, 6.818vw, 30px);
    }

    /* Header — centred on mobile */
    .mg-events__header {
        flex-direction: column;
        align-items:    center;
        text-align:     center;
        padding:        clamp(28px, 7.273vw, 32px) 25px clamp(20px, 6.818vw, 30px);
        gap:            clamp(16px, 6.818vw, 30px);
    }

    .mg-events__header-left {
        width:    100%;
        display:  flex;
        flex-direction: column;
        align-items: center;
    }

    .mg-events__eyebrow {
        font-size:      14px;
        letter-spacing: 0.10em;
        margin-bottom:  clamp(18px, 6.136vw, 27px);
    }

    .mg-events__heading {
        font-size:   clamp(26px, 7.273vw, 32px);
        line-height: 36px;
        text-align:  center;
        max-width:   100%;
    }

    .mg-events__heading br { display: none; }

    .mg-events__intro {
        font-size:  clamp(16px, 4.091vw, 18px);
        line-height: clamp(28px, 7.955vw, 35px);
        text-align: justify;
        max-width:  100%;
        padding-top: 0;
    }

    /* Hide desktop masonry + sidebar */
    .mg-events__pages   { display: none; }
    .mg-events__sidebar { display: none; }

    /* Show mobile slider */
    .mg-events__mobile {
        display:  block;
        position: relative;
    }

    .mg-events__mobile-page { display: none; }
    .mg-events__mobile-page--active { display: block; }

    /* Swiper: 317px slides, h:400px, peek on right */
    .mg-events__swiper {
        width:       calc(100% - 25px);
        height:      clamp(300px, 90.909vw, 400px);
        margin-left: 25px !important;
        overflow:    visible;
    }

    .mg-events__swiper .swiper-slide {
        width:         clamp(240px, 72.045vw, 317px) !important; /* 317÷4.4 */
        height:        100%;
        border-radius: clamp(10px, 3.409vw, 15px);
        overflow:      hidden;
        flex-shrink:   0;
    }

    .mg-events__swiper .swiper-slide img {
        width:      100%;
        height:     100%;
        object-fit: cover;
        display:    block;
    }

    /* Mobile footer: quote + nav */
    .mg-events__mobile-footer {
        display:         flex;
        flex-direction:  column;
        align-items:     center;
        padding:         clamp(30px, 9.091vw, 40px) 25px clamp(10px, 3.409vw, 15px);
    }

    .mg-events__quote--mobile {
        font-family: var(--mg-font-script);
        font-weight: 400;
        font-size:   clamp(28px, 9.091vw, 40px);   /* 40÷4.4 */
        line-height: clamp(28px, 9.091vw, 40px);
        color:       var(--mg-dark-text);
        text-align:  center;
        max-width:   clamp(280px, 74.545vw, 328px); /* 328÷4.4 */
        margin-bottom: clamp(30px, 9.091vw, 40px);
    }

    .mg-events__nav--mobile {
        gap: clamp(14px, 4.545vw, 20px);
    }

    .mg-events__nav--mobile .mg-events__nav-arrow svg {
        width:  clamp(28px, 9.545vw, 42px);        /* 42÷4.4 */
        height: clamp(9px, 2.955vw, 13px);         /* 13÷4.4 */
    }

    .mg-events__nav--mobile .mg-events__counter {
        width:  clamp(38px, 10.675vw, 47px);       /* 47÷4.4 */
        height: clamp(40px, 11.364vw, 50px);       /* 50÷4.4 */
    }
}

/* Events slider — slide width scales with container so the peek is always consistent
   Swiper: slidesPerView:auto, spaceBetween:10 → slide % = % of container width */

/* Large phones (480–767px): 2 full slides + 50px peek */
@media (min-width: 480px) and (max-width: 767px) {
    .mg-events__swiper .swiper-slide {
        width: calc((100% - 70px) / 2) !important;   /* 2 gaps (20) + peek (50) */
    }
}

/* Tablet (768–1024px): 3 full slides + 50px peek */
@media (min-width: 768px) and (max-width: 1024px) {
    .mg-events__swiper .swiper-slide {
        width: calc((100% - 80px) / 3) !important;   /* 3 gaps (30) + peek (50) */
    }
}
/* --- LIGHTBOX --- */
.mg-lightbox {
    position:        fixed;
    inset:           0;
    background:      rgba(0, 0, 0, 0.92);
    z-index:         9999;
    display:         flex;
    align-items:     center;
    justify-content: center;
    opacity:         0;
    pointer-events:  none;
    transition:      opacity 300ms ease;
}

.mg-lightbox.is-open {
    opacity:        1;
    pointer-events: auto;
}

.mg-lightbox__img-wrap {
    max-width:  90vw;
    max-height: 85vh;
    display:    flex;
    align-items: center;
    justify-content: center;
}

.mg-lightbox__img {
    max-width:     90vw;
    max-height:    85vh;
    object-fit:    contain;
    border-radius: 8px;
    display:       block;
}

.mg-lightbox__close {
    position:   absolute;
    top:        clamp(16px, 2.083vw, 40px);
    right:      clamp(16px, 2.083vw, 40px);
    background: none;
    border:     none;
    color:      var(--mg-cream-light);
    font-size:  clamp(24px, 2.083vw, 40px);
    cursor:     pointer;
    line-height: 1;
    transition: opacity var(--mg-transition);
    z-index:    1;
}

.mg-lightbox__close:hover { opacity: 0.7; }

.mg-lightbox__arrow {
    position:   absolute;
    top:        50%;
    transform:  translateY(-50%);
    background: none;
    border:     none;
    cursor:     pointer;
    padding:    20px;
    transition: opacity var(--mg-transition);
    z-index:    1;
}

.mg-lightbox__arrow:hover { opacity: 0.7; }
.mg-lightbox__arrow--prev { left:  clamp(10px, 2.604vw, 50px); }
.mg-lightbox__arrow--next { right: clamp(10px, 2.604vw, 50px); }

.mg-lightbox__arrow svg {
    width:   clamp(30px, 3.177vw, 61px);
    height:  clamp(10px, 0.990vw, 19px);
    display: block;
}

.mg-lightbox__counter {
    position:  absolute;
    bottom:    clamp(16px, 2.083vw, 40px);
    left:      50%;
    transform: translateX(-50%);
    color:     var(--mg-cream-light);
    font-family: var(--mg-font-body);
    font-size: clamp(14px, 0.938vw, 18px);
    opacity:   0.8;
}


/* ================================================================
   11. TESTIMONIALS — KIND WORDS
   Desktop (1920px ÷19.2):
     Section: h:962px bg:white
     Eyebrow y:7209 centred, H2 y:7244 centred
     Cards: Swiper h:500px, 3 visible + peek, w:~540px gap:30px
     Arrows: centred below cards, #2A2A2A, 67×21px
   Mobile (440px ÷4.4):
     1 card full width, arrows below
================================================================ */

.mg-testimonials {
    background-color: var(--mg-white);
    padding-top:      clamp(50px, 5.208vw, 100px);
    padding-bottom:   clamp(40px, 3.208vw, 100px);
    overflow:         hidden;
}

/* --- HEADER --- */
.mg-testimonials__header {
    text-align:     center;
    padding-left:   25px;
    padding-right:  25px;
    margin-bottom:  clamp(30px, 2.604vw, 50px);   /* 50÷19.2 — header→cards */
}

.mg-testimonials__eyebrow {
    font-family:    var(--mg-font-body);
    font-weight:    500;
    font-size:      clamp(13px, 1.042vw, 20px);
    letter-spacing: 0.15em;
    color:          var(--mg-gold-dark);
    text-transform: uppercase;
    margin:         0 0 clamp(8px, 0.573vw, 11px);    /* 11÷19.2 */
}

.mg-testimonials__heading {
    font-family:    var(--mg-font-heading);
    font-weight:    300;
    font-size:      clamp(28px, 2.500vw, 48px);
    line-height:    clamp(32px, 2.760vw, 53px);
    color:          var(--mg-brown-heading);
    text-transform: uppercase;
    margin:         0 auto;
    max-width:      clamp(360px, 34.115vw, 655px);
}

/* --- SWIPER --- */
.mg-testimonials__swiper {
    width:    100%;
    overflow: visible;
    padding-left: clamp(20px, 4.167vw, 80px);
}

.mg-testimonials__swiper .swiper-slide {
    width:   clamp(400px, 39.063vw, 750px) !important;  /* 750÷19.2 */
    height:  clamp(300px, 26.042vw, 500px);              /* 500÷19.2 */
}

/* --- CARD --- */
.mg-testimonials__card {
    width:            100%;
    height:           100%;
    background-color: var(--mg-cream-bg);          /* #EDEBE5 */
    border-radius:    clamp(12px, 1.563vw, 30px);
    padding:          clamp(24px, 2.604vw, 50px) clamp(20px, 3.698vw, 71px);
    box-sizing:       border-box;
    display:          flex;
    flex-direction:   column;
    text-align:       left;
}

.mg-testimonials__stars {
    color:          #CC9A0E;
    font-size:      clamp(20px, 2.188vw, 42px);  /* stars h:42px ÷19.2 */
    letter-spacing: 6px;
    margin-bottom:  clamp(12px, 1.927vw, 37px);
    text-align:     center;
}

.mg-testimonials__card-title {
    font-family:    var(--mg-font-heading);
    font-weight:    300;
    font-size:      clamp(22px, 2.083vw, 40px);       /* 40÷19.2 */
    line-height:    1;
    text-transform: uppercase;
    color:          var(--mg-brown-heading);
    margin:         0 0 clamp(19px, 1.979vw, 38px);
    text-align:     center;
}

.mg-testimonials__card-body {
    font-family: var(--mg-font-body);
    font-weight: 300;
    font-size:   clamp(15px, 1.094vw, 21px);          /* 21÷19.2 */
    line-height: clamp(26px, 1.875vw, 36px);          /* 36÷19.2 */
    color:       var(--mg-dark-text);
    flex:        1;
    margin:      0 0 clamp(19px, 1.979vw, 38px);
    text-align:  center;
}

.mg-testimonials__card-author {
    font-family:    var(--mg-font-body);
    font-weight:    500;
    font-size:      clamp(16px, 1.250vw, 24px);       /* 24÷19.2 */
    line-height:    clamp(24px, 1.875vw, 36px);
    color:          var(--mg-dark-text);
    text-align:     center;
    margin:         0;
}

/* --- NAV ARROWS --- */
.mg-testimonials__nav {
    display:         flex;
    align-items:     center;
    justify-content: center;
    gap:             clamp(10px, 1.042vw, 20px);
    margin-top:      clamp(35px, 3.125vw, 50px);
}

.mg-testimonials__arrow {
    background:  none;
    border:      none;
    cursor:      pointer;
    padding:     clamp(8px, 0.521vw, 10px);
    display:     flex;
    align-items: center;
    transition:  opacity 250ms ease, transform 250ms ease;
    flex-shrink: 0;
}

.mg-testimonials__arrow:hover {
    opacity:   0.5;
    transform: scale(1.1);
}

.mg-testimonials__arrow svg {
    width:   clamp(36px, 3.490vw, 67px);   /* 67÷19.2 */
    height:  clamp(10px, 1.094vw, 21px);   /* 21÷19.2 */
    display: block;
}


/* --- TABLET 768–1024px --- */
@media (min-width: 768px) and (max-width: 1024px) {
    .mg-testimonials__swiper .swiper-slide {
        width: clamp(240px, 40vw, 360px) !important;
        height: auto !important;
        display: flex !important;
    }

    .mg-testimonials__card {
        height: 100% !important;
        min-height: 0 !important;
        display: flex !important;
        flex-direction: column !important;
    }

    .mg-testimonials__card-body {
        flex: 1 !important;
    }
}

/* --- MID SCREENS 1025–1300px: also auto height --- */
@media (min-width: 1025px) and (max-width: 1300px) {
    .mg-testimonials__swiper .swiper-slide {
        height: auto !important;
        display: flex !important;
    }

    .mg-testimonials__card {
        height: 100% !important;
        min-height: 0 !important;
        display: flex !important;
        flex-direction: column !important;
    }

    .mg-testimonials__card-body {
        flex: 1 !important;
    }
}


/* --- MOBILE ≤767px ---
   Figma (440px ÷4.4): section h:643px
   1 card full width (390px), arrows centred below
================================================================ */
@media (max-width: 767px) {

    .mg-testimonials {
        padding-top:    clamp(36px, 11.364vw, 50px);  /* 50÷4.4 */
        padding-bottom: clamp(30px, 6.818vw, 30px);
    }

    .mg-testimonials__header {
        margin-bottom: clamp(22px, 7.955vw, 35px);
    }

    .mg-testimonials__eyebrow {
        font-size:      14px;
        letter-spacing: 0.10em;
    }

    .mg-testimonials__heading {
        font-size:   clamp(22px, 6.818vw, 30px);
        line-height: 1;
        max-width:   clamp(260px, 72.727vw, 320px);  /* forces 2-line wrap */
    }

    /* Card: 390px wide, height auto */
    .mg-testimonials__swiper .swiper-slide {
        width:  clamp(340px, 88.636vw, 390px) !important;
        height: auto !important;
    }

    .mg-testimonials__card {
        border-radius:  clamp(12px, 3.409vw, 15px);
        padding-top:    clamp(22px, 6.818vw, 30px);
        padding-left:   25px;
        padding-right:  25px;
        padding-bottom: clamp(30px, 8.864vw, 39px);
        height:         auto;
        text-align:     center;
    }

    .mg-testimonials__stars {
        font-size:     clamp(18px, 6.818vw, 30px);
        text-align:    center;
        margin-bottom: clamp(18px, 5.682vw, 25px);     /* 25÷4.4 star→title */
    }

    .mg-testimonials__card-title {
        font-size:     clamp(18px, 5.000vw, 22px);
        line-height:   1;
        text-align:    center;
        margin-bottom: clamp(12px, 3.864vw, 17px);     /* 17÷4.4 title→body */
    }

    .mg-testimonials__card-body {
        font-size:     16px;
        line-height:   30px;
        text-align:    center;
        margin-bottom: clamp(18px, 5.682vw, 25px);     /* 25÷4.4 body→name */
        flex:          none;
    }

    .mg-testimonials__card-author {
        font-size:   16px;
        line-height: 1;
        text-align:  center;
        margin:      0;
    }

    .mg-testimonials__arrow svg {
        width:  clamp(30px, 9.545vw, 42px);
        height: clamp(9px, 2.955vw, 13px);
    }
}

/* style.css */

/* ═══════════════════════════════════════════════════════
   12 / 13 — CONTACT FORM + FOOTER
   ─────────────────────────────────────────────────────
   One dark-bg wrapper; contact card floats on top,
   footer content below it, copyright bar at base.
═══════════════════════════════════════════════════════ */

/* ── 12 Outer section wrapper ── */
.mg-cf-section {
  background: #3D3D3D;
  padding-top: clamp(40px, 3.646vw, 50px);
  overflow: hidden;
}

/* ── 12 Contact card ── */
.mg-contact-card {
  background: var(--mg-cream-bg);
  border-radius: 30px;
  margin: 0 clamp(16px, 10.417vw, 200px);
  padding: clamp(30px, 3.125vw, 60px) clamp(24px, 2.604vw, 50px);
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-start;
}

/* Botanical floral decoration — export from Figma, upload, replace src */
.mg-contact-card__floral {
  position: absolute;
  left: 0;
  bottom: 0;
  width: clamp(180px, 15.625vw, 300px);
  height: auto;
  pointer-events: none;
  user-select: none;
}

/* ── 12 Two-column inner grid ── */
.mg-contact-card__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, 3.125vw, 60px);
  width: 100%;
  align-items: start;
}

/* ── 12 Left: text ── */
.mg-contact-eyebrow {
  font-family: var(--mg-font-body);
  font-weight: 500;
  font-size: clamp(14px, 1.042vw, 20px);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--mg-gold-dark);
  margin: 0 0 clamp(8px, 0.625vw, 12px);
  line-height: 1.2;
}

.mg-contact-heading {
  font-family: var(--mg-font-heading);
  font-weight: 300;
  font-size: clamp(26px, 2.5vw, 48px);
  line-height: 1.1;
  text-transform: uppercase;
  color: var(--mg-brown-heading);
  margin: 0 0 clamp(17px, 1.875vw, 36px);
  max-width: 478px;
}

.mg-contact-body-text {
  font-family: var(--mg-font-body);
  font-weight: 300;
  font-size: clamp(14px, 1.146vw, 22px);
  line-height: 1.636;
  text-align: justify;
  color: var(--mg-dark-text);
  max-width: 579px;
  margin: 0;
}

/* ── 12 Right: CF7 form ── */
.mg-contact-form-wrap .wpcf7,
.mg-contact-form-wrap .wpcf7-form {
  margin: 0 !important;
  padding: 0 !important;
}

.mg-form-row {
  margin-bottom: clamp(16px, 1.302vw, 25px);
}

.mg-form-row--two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(8px, 0.521vw, 10px);
}

.mg-field-group {
  display: flex;
  flex-direction: column;
}

/* CF7 span wrapper — must be block so inputs don't collapse */
.mg-contact-form-wrap .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.mg-field-label {
  font-family: var(--mg-font-body);
  font-weight: 500;
  font-size: clamp(15px, 1.146vw, 22px);
  line-height: 36px;
  color: var(--mg-gold-dark);
  margin-bottom: 4px;
  display: block;
}

/* All inputs + textarea */
.mg-contact-form-wrap .mg-input {
  width: 100% !important;
  box-sizing: border-box;
  border: 1px solid var(--mg-gold-dark) !important;
  border-radius: 5px;
  background: transparent;
  font-family: var(--mg-font-body) !important;
  font-weight: 300 !important;
  font-size: clamp(14px, 0.938vw, 18px) !important;
  color: var(--mg-dark-text);
  padding: 0 clamp(10px, 0.833vw, 16px);
  height: clamp(48px, 3.125vw, 60px);
  outline: none;
  -webkit-appearance: none;
  appearance: none;
  -webkit-font-smoothing: antialiased;
  transition: border-color 0.2s ease;
}

.mg-contact-form-wrap .mg-input.mg-textarea,
.mg-contact-form-wrap textarea.mg-input {
  width: 100% !important;
  height: clamp(120px, 9.115vw, 175px) !important;
  min-height: clamp(120px, 9.115vw, 175px) !important;
  max-height: clamp(120px, 9.115vw, 175px) !important;
  padding-top: clamp(14px, 0.833vw, 16px) !important;
  padding-bottom: clamp(14px, 0.833vw, 16px) !important;
  resize: none !important;
  overflow-y: auto;
  overflow-x: hidden;
  vertical-align: top;
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

/* Nuclear override — CF7 sometimes injects inline style resize */
.mg-contact-form-wrap .wpcf7-textarea {
  resize: none !important;
}

/* Hide scrollbar — all browsers */
.mg-contact-form-wrap textarea.mg-input::-webkit-scrollbar {
  display: none;
}

.mg-contact-form-wrap textarea.mg-input {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.mg-contact-form-wrap .mg-input:focus {
  border-color: var(--mg-gold-bright) !important;
  outline: none;
}

/* CF7 validation — red border, hide tooltip (matches site standard) */
.mg-contact-form-wrap .wpcf7-not-valid.mg-input {
  border-color: #F6354D !important;
}

.mg-contact-form-wrap .wpcf7-not-valid-tip {
  display: none !important;
}

/* CF7 response output */
.mg-contact-form-wrap .wpcf7-response-output {
  margin: 12px 0 0;
  padding: 8px 16px;
  font-family: var(--mg-font-body);
  font-size: clamp(13px, 0.729vw, 14px);
  border-radius: 4px;
  border: none !important;
}

/* CF7 AJAX success — suppress the flash (Elementor pattern) */
.mg-contact-form-wrap .wpcf7-mail-sent-ok {
  background: rgba(142,107,10,0.08);
  color: var(--mg-gold-dark);
}

.mg-contact-form-wrap .wpcf7-mail-sent-ng,
.mg-contact-form-wrap .wpcf7-spam-blocked,
.mg-contact-form-wrap .wpcf7-validation-errors {
  background: rgba(246,53,77,0.08);
  color: #F6354D !important;
  border-color: #F6354D !important;
}

/* Submit button */
.mg-form-submit {
  margin-top: clamp(28px, 2.604vw, 50px);
}

.mg-contact-form-wrap .mg-btn-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(180px, 13.021vw, 250px);
  height: clamp(50px, 3.385vw, 65px);
  border: 1.5px solid var(--mg-gold-dark) !important;
  border-radius: 4px;
  background: transparent;
  font-family: var(--mg-font-heading);
  font-weight: 500;
  font-size: clamp(16px, 1.25vw, 24px);
  line-height: 1;
  text-transform: uppercase;
  color: var(--mg-gold-dark);
  cursor: pointer;
  letter-spacing: 0.04em;
  transition: background 0.25s ease, color 0.25s ease;
  -webkit-appearance: none;
  appearance: none;
}

.mg-contact-form-wrap .mg-btn-submit:hover {
  background: #B59D5A;
  color: var(--mg-cream-bg);
}

/* ── 13 Footer ── */
.mg-footer {
  margin-top: 0;
}

.mg-footer__inner {
  display: flex;
  align-items: flex-start;
  padding: clamp(2px, 0.104vw, 2px) clamp(16px, 10.417vw, 200px);
  gap: 0;
}

.mg-footer__logo-col {
  width: clamp(180px, 16.302vw, 313px);
  min-width: clamp(180px, 16.302vw, 313px);
  margin-right: clamp(40px, 5.677vw, 109px);
}

.mg-footer__contact-col {
  width: clamp(200px, 14.583vw, 280px);
  min-width: clamp(200px, 14.583vw, 280px);
  margin-right: clamp(40px, 5.521vw, 106px);
}

.mg-footer__newsletter {
  width: clamp(180px, 15.625vw, 300px);
  min-width: clamp(180px, 15.625vw, 300px);
  flex-shrink: 0;
}

/* Logo col */
.mg-footer__logo-col {
  flex-shrink: 0;
  padding-top: clamp(14px, 1.146vw, 22px);
  padding-bottom: clamp(20px, 1.823vw, 35px);
}

.mg-footer__emblem {
  width: clamp(180px, 16.302vw, 313px);
  height: auto;
  display: block;
}

.mg-footer__logo-name {
  font-family: var(--mg-font-heading);
  font-weight: 700;
  font-size: clamp(11px, 0.833vw, 16px);
  color: var(--mg-cream-light);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  text-align: center;
  margin: 0 0 4px;
}

.mg-footer__logo-script {
  font-family: var(--mg-font-script);
  font-size: clamp(13px, 0.938vw, 18px);
  color: var(--mg-gold-light);
  text-align: center;
  margin: 0;
}

/* Nav cols */
.mg-footer__col {
  flex: 1;
  min-width: 0;
}

/* Quick links wrap: flex row on desktop so both cols sit side by side */
.mg-footer__links-wrap {
  display: flex;
  flex-direction: row;
  gap: clamp(60px, 5.521vw, 106px);
  margin-right: clamp(60px, 5.521vw, 106px);
}

.mg-footer__col-heading {
  font-family: 'Crimson Pro', serif;
  font-weight: 600;
  font-size: clamp(14px, 0.938vw, 18px);
  line-height: 20px;
  letter-spacing: 0px;
  text-transform: uppercase;
  color: #E5C876;
  margin: 0 0 clamp(14px, 1.094vw, 21px);
  padding-top: clamp(14px, 1.146vw, 22px);
}

.mg-footer__nav {
  list-style: none;
  margin: 0;
  padding: 0;
}

.mg-footer__nav li {
  margin-bottom: clamp(14px, 1.146vw, 22px);
}

.mg-footer__nav li:last-child {
  margin-bottom: 0;
}

.mg-footer__nav a {
  font-family: 'Crimson Pro', serif;
  font-weight: 400;
  font-size: clamp(13px, 0.833vw, 16px);
  line-height: 20px;
  letter-spacing: 0px;
  text-transform: uppercase;
  color: #F4F2ED;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s ease;
}

.mg-footer__nav a:hover {
  color: var(--mg-gold-light);
}

/* Contact col */
.mg-footer__contact-col {
  flex: 1.4;
}

.mg-footer__contact-item {
  display: flex;
  align-items: center;
  gap: clamp(8px, 0.625vw, 12px);
  font-family: 'Crimson Pro', serif;
  font-weight: 400;
  font-size: clamp(13px, 0.833vw, 16px);
  line-height: 20px;
  letter-spacing: 0px;
  text-transform: uppercase;
  color: #F4F2ED;
  text-decoration: none;
  margin-bottom: clamp(14px, 1.146vw, 22px);
  transition: color 0.2s ease;
}

.mg-footer__contact-item:last-child {
  margin-bottom: 0;
}

.mg-footer__contact-item:hover {
  color: var(--mg-gold-light);
}

.mg-footer__contact-item svg {
  flex-shrink: 0;
  width: clamp(12px, 0.729vw, 14px);
  height: auto;
}

.mg-footer__mobile-links {
  display: none;
}

/* Newsletter col */
.mg-footer__newsletter {
  flex-shrink: 0;
  width: clamp(180px, 15.625vw, 300px);
}

.mg-newsletter-form {
  display: flex;
  flex-direction: column;
  gap: clamp(14px, 1.25vw, 24px);
}

.mg-newsletter-email {
  width: 100%;
  box-sizing: border-box;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--mg-cream-light);
  font-family: var(--mg-font-heading);
  font-style: italic;
  font-size: clamp(13px, 0.833vw, 16px);
  color: rgba(244, 242, 237, 0.62);
  padding: 6px 0;
  outline: none;
}

.mg-newsletter-email::placeholder {
  color: rgba(244, 242, 237, 0.62);
}

.mg-newsletter-email:focus {
  border-bottom-color: var(--mg-gold-light);
  outline: none;
}

.mg-newsletter-btn {
  display: block;
  width: 100%;
  height: clamp(50px, 3.385vw, 65px);
  border: 1.5px solid var(--mg-cream-light);
  border-radius: 4px;
  background: transparent;
  font-family: var(--mg-font-heading);
  font-weight: 500;
  font-size: clamp(16px, 1.25vw, 24px);
  text-transform: uppercase;
  color: var(--mg-cream-light);
  cursor: pointer;
  letter-spacing: 0.04em;
  transition: background 0.25s ease, color 0.25s ease;
}

.mg-newsletter-btn:hover {
  background: var(--mg-cream-light);
  color: var(--mg-footer-bg);
}

/* ── Newsletter CF7 form ── */
.mg-newsletter-cf7-wrap .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0;
}

.mg-newsletter-cf7-wrap .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.mg-newsletter-cf7-wrap .mg-newsletter-input {
  width: 100% !important;
  box-sizing: border-box;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--mg-cream-light);
  font-family: var(--mg-font-heading);
  font-style: italic;
  font-size: clamp(13px, 0.833vw, 16px);
  color: rgba(244, 242, 237, 0.62);
  padding: 6px 0;
  outline: none;
  margin-bottom: clamp(14px, 1.25vw, 24px);
}

.mg-newsletter-cf7-wrap .mg-newsletter-input::placeholder {
  color: rgba(244, 242, 237, 0.62);
}

.mg-newsletter-cf7-wrap .mg-newsletter-input:focus {
  border-bottom-color: var(--mg-gold-light);
  outline: none;
}

.mg-newsletter-cf7-wrap .mg-newsletter-submit {
  display: block;
  width: 100%;
  height: clamp(50px, 3.385vw, 65px);
  border: 1.5px solid var(--mg-cream-light) !important;
  border-radius: 4px;
  background: transparent;
  font-family: var(--mg-font-heading);
  font-weight: 500;
  font-size: clamp(16px, 1.25vw, 24px);
  text-transform: uppercase;
  color: var(--mg-cream-light);
  cursor: pointer;
  letter-spacing: 0.04em;
  transition: background 0.25s ease, color 0.25s ease;
  -webkit-appearance: none;
  appearance: none;
}

.mg-newsletter-cf7-wrap .mg-newsletter-submit:hover {
  background: var(--mg-cream-light);
  color: var(--mg-footer-bg);
}

/* Newsletter button loader */
.mg-newsletter-cf7-wrap .mg-newsletter-submit.mg-nl-loading {
  opacity: 0.75;
  pointer-events: none;
  position: relative;
}

.mg-newsletter-cf7-wrap .mg-newsletter-submit.mg-nl-loading::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  border: 2px solid rgba(244, 242, 237, 0.3);
  border-top-color: var(--mg-cream-light);
  border-radius: 50%;
  animation: mg-spin 0.7s linear infinite;
}

/* CF7 response output — show for errors, hide only initial state */
.mg-newsletter-cf7-wrap .wpcf7-response-output {
  display: none;
  background: transparent !important;
  border: none !important;
  padding: 8px 0 0 !important;
  margin: 0 !important;
  font-family: var(--mg-font-heading);
  font-size: 13px;
}

.mg-newsletter-cf7-wrap .wpcf7 .wpcf7-response-output {
  display: block;
}

/* Error */
.mg-newsletter-cf7-wrap .wpcf7 form.invalid .wpcf7-response-output,
.mg-newsletter-cf7-wrap .wpcf7 form.unaccepted .wpcf7-response-output,
.mg-newsletter-cf7-wrap .wpcf7 form.spam .wpcf7-response-output {
  color: #F6354D !important;
}

/* Success */
.mg-newsletter-cf7-wrap .wpcf7 form.sent .wpcf7-response-output {
  color: var(--mg-gold-light) !important;
}

/* Disable CF7 built-in spinner */
.mg-newsletter-cf7-wrap .wpcf7-spinner {
  display: none !important;
}


.mg-newsletter-cf7-wrap .wpcf7-mail-sent-ok {
  display: block !important;
  background: transparent !important;
  border: none !important;
  color: var(--mg-gold-light) !important;
  font-family: var(--mg-font-heading);
  font-size: 13px;
  padding: 8px 0 0 !important;
  margin: 0 !important;
}

.mg-newsletter-cf7-wrap .wpcf7-validation-errors,
.mg-newsletter-cf7-wrap .wpcf7-mail-sent-ng {
  display: block !important;
  background: transparent !important;
  border: none !important;
  color: #F6354D !important;
  font-family: var(--mg-font-heading);
  font-size: 13px;
  padding: 8px 0 0 !important;
  margin: 0 !important;
}

.mg-newsletter-cf7-wrap .wpcf7-not-valid {
  border-bottom-color: #F6354D !important;
}

.mg-newsletter-cf7-wrap .wpcf7-not-valid-tip {
  display: none !important;
}

.mg-newsletter-msg {
  font-family: var(--mg-font-body);
  font-size: 13px;
  color: var(--mg-gold-light);
  margin: 0;
  min-height: 18px;
  display: block;
}

@media (max-width: 767px) {
  .mg-newsletter-msg {
    text-align: center;
    margin-top: clamp(10px, 2.273vw, 10px);
    font-size: clamp(12px, 3.182vw, 14px);
  }
}

/* Copyright bar */
.mg-footer__bar {
  border-top: 1px solid var(--mg-cream-light);
  padding: clamp(14px, 1.302vw, 25px) clamp(80px, 10.365vw, 199px) clamp(14px, 1.302vw, 25px) clamp(80px, 10.417vw, 200px);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.mg-footer__bar-links {
  display: flex;
  align-items: center;
  gap: clamp(80px, 10vw, 192px);
}

.mg-footer__bar-links a {
  font-family: 'Crimson Pro', serif;
  font-weight: 400;
  font-size: clamp(11px, 0.833vw, 16px);
  text-transform: uppercase;
  color: var(--mg-white);
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s ease;
}

.mg-footer__bar-links a:hover {
  color: var(--mg-gold-light);
}

.mg-footer__copyright,
.mg-footer__bar a {
  font-family: var(--mg-font-heading);
  font-weight: 400;
  font-size: clamp(11px, 0.833vw, 16px);
  text-transform: uppercase;
  color: var(--mg-white);
  text-decoration: none;
  transition: color 0.2s ease;
}

.mg-footer__copyright {
  flex: 1;
}

.mg-footer__copyright br {
  display: none;
}

.mg-footer__copyright a {
  color: var(--mg-white);
}

.mg-footer__bar a:hover {
  color: var(--mg-gold-light);
}

/* ── Footer spacing — Figma @1920 (desktop ≥1281px only) ──
   contact card bottom → headings = 56px (2px inner padding + 54px)
   contact card bottom → logo     = 34px (2px inner padding + 32px)
   content bottom → divider line  = 40px, whichever column is tallest */
@media (min-width: 1281px) {
  .mg-footer__inner       { padding-bottom: clamp(24px, 1.823vw, 35px); }   /* 40÷19.2 */
  .mg-footer__col-heading { padding-top:    clamp(34px, 2.813vw, 54px); }   /* 54÷19.2 */
  .mg-footer__logo-col    { padding-top:    clamp(20px, 1.667vw, 32px);     /* 32÷19.2 */
                            padding-bottom: 0; }
}

/* ── Footer layout fix at 1025–1280px ── */
@media (min-width: 1025px) and (max-width: 1280px) {
  .mg-footer__inner {
    flex-wrap: wrap !important;
    gap: clamp(20px, 2.083vw, 40px) !important;
  }

  .mg-footer__logo-col {
    width: clamp(160px, 14.063vw, 180px) !important;
    min-width: clamp(160px, 14.063vw, 180px) !important;
    margin-right: 0 !important;
  }

  .mg-footer__links-wrap {
    margin-right: 0 !important;
    gap: clamp(30px, 3.125vw, 60px) !important;
  }

  .mg-footer__contact-col {
    display: block !important;
    min-width: clamp(200px, 19.531vw, 250px) !important;
    margin-right: 0 !important;
  }

  .mg-footer__newsletter {
    min-width: clamp(160px, 15.625vw, 200px) !important;
  }

  .mg-footer__contact-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: clamp(8px, 0.781vw, 15px) !important;
  }

  .mg-footer__contact-item {
    margin-bottom: 0 !important;
  }

  a.mg-footer__contact-item:first-child {
    margin-right: 0 !important;
  }
}

/* ── Tablet (768–1024px) ── */
@media (min-width: 768px) and (max-width: 1024px) {
  .mg-contact-card {
    margin: 0 clamp(16px, 2.083vw, 20px);
    min-height: auto;
  }

  .mg-contact-card__inner {
    grid-template-columns: 1fr 1fr;
    gap: 24px;
  }

  .mg-contact-heading {
    font-size: clamp(26px, 3.5vw, 36px);
    max-width: none;
  }

  .mg-footer__inner {
    flex-wrap: wrap;
    padding: 24px clamp(16px, 3.125vw, 30px);
    gap: 24px;
  }

  .mg-footer__logo-col {
    width: 100%;
    flex-direction: row;
    align-items: center;
    gap: 16px;
  }

  .mg-footer__newsletter {
    width: 100%;
  }

  .mg-newsletter-form {
    flex-direction: row;
    align-items: flex-end;
    gap: 16px;
  }

  .mg-newsletter-btn {
    width: auto;
    padding: 0 24px;
    flex-shrink: 0;
  }

  .mg-footer__bar {
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    padding: 16px clamp(16px, 3.125vw, 30px);
  }

  .mg-footer__copyright {
    width: 100%;
    text-align: center;
    flex: none;
  }
}

/* ── Mobile (≤767px) ── */
@media (max-width: 767px) {
  .mg-cf-section {
    padding-top: clamp(20px, 4.545vw, 20px);
  }

  /* Contact card */
  .mg-contact-card {
    margin: 0 clamp(16px, 5.682vw, 25px);
    padding: clamp(24px, 5.455vw, 24px) clamp(16px, 4.091vw, 18px) clamp(70px, 30.227vw, 130px);
    border-radius: 20px;
    min-height: auto;
    display: block;
  }

  .mg-contact-card__floral {
    width: clamp(120px, 31.818vw, 140px);
    left: 0;
    right: auto;
    bottom: 30px;
    opacity: 1;
    transform: rotate(-5deg);
    transform-origin: bottom left;
  }

  .mg-contact-card__inner {
    grid-template-columns: 1fr;
    gap: clamp(24px, 7.955vw, 35px);
  }

  .mg-contact-eyebrow {
    font-size: clamp(12px, 3.182vw, 14px);
    text-align: center;
  }

  .mg-contact-heading {
    font-size: clamp(28px, 7.273vw, 32px);
    font-weight: 300;
    text-align: center;
    max-width: none;
    margin-bottom: clamp(20px, 6.818vw, 30px);
  }

  .mg-contact-body-text {
    font-size: clamp(14px, 4.091vw, 18px);
    font-weight: 300;
    line-height: clamp(28px, 7.955vw, 35px);
    letter-spacing: -0.01em;
    text-align: justify;
    max-width: clamp(280px, 78.409vw, 345px);
    margin-bottom: 0;
  }

  /* Form: single column on mobile */
  .mg-form-row--two {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .mg-form-row--two .mg-field-group:first-child {
    margin-bottom: clamp(16px, 3.636vw, 16px);
  }

  .mg-field-label {
    font-size: clamp(14px, 3.636vw, 16px);
    line-height: 1.4;
    margin-bottom: 6px;
  }

  .mg-contact-form-wrap .mg-input {
    height: clamp(48px, 10.909vw, 48px);
    font-size: 14px;
  }

  .mg-contact-form-wrap .mg-input.mg-textarea,
  .mg-contact-form-wrap textarea.mg-input {
    height: clamp(120px, 34.091vw, 150px) !important;
    min-height: clamp(120px, 34.091vw, 150px) !important;
    max-height: clamp(120px, 34.091vw, 150px) !important;
  }

  .mg-contact-form-wrap .mg-btn-submit {
    width: clamp(200px, 53.409vw, 235px);
    height: clamp(52px, 13.636vw, 60px);
    font-size: clamp(16px, 4.091vw, 18px);
    display: block;
    margin-left: auto;
    margin-right: auto;
  }

  /* Footer mobile */
  .mg-footer {
    margin-top: 0;
  }

  .mg-footer__inner {
    flex-direction: column;
    align-items: flex-start;
    padding: clamp(16px, 5.682vw, 25px) clamp(16px, 5.682vw, 25px) 0;
    gap: 0;
  }

  .mg-footer__logo-col     { order: 1; }
  .mg-footer__contact-col  { order: 2; }
  .mg-footer__links-wrap   { order: 3; display: none !important; }
  .mg-footer__mobile-links { order: 3; }
  .mg-footer__newsletter   { order: 4; }

  .mg-footer__logo-col {
    width: 390px;
    min-width: 390px;
    flex-shrink: 1;
    margin-right: 0;
    padding-top: clamp(8px, 2.273vw, 10px);
    padding-bottom: clamp(20px, 7.045vw, 31px);
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
  }

  .mg-footer__emblem {
    width: clamp(200px, 65.227vw, 287px);
    display: block;
    margin: 0 auto;
  }

  .mg-footer__contact-col {
    width: 100%;
    min-width: auto;
    margin-right: 0;
    margin-bottom: clamp(18px, 5.682vw, 25px);
  }

  .mg-footer__contact-col .mg-footer__col-heading {
    padding-top: 0;
    font-size: clamp(15px, 3.864vw, 17px);
    margin-bottom: clamp(14px, 4.545vw, 20px);
  }

  .mg-footer__contact-inner {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    row-gap: clamp(14px, 8.636vw, 38px);
  }

  .mg-footer__contact-item {
    flex-shrink: 0;
  }

  /* Phone item — fixed width so email starts after 44px gap */
  a.mg-footer__contact-item:first-child {
    margin-right: 33px;
    gap: 14px;
  }

  /* Address — full row */
  .mg-footer__contact-item--address {
    flex-basis: 100%;
    white-space: nowrap !important;
    overflow: visible !important;
    max-width: none !important;
    min-width: max-content;
  }

  .mg-footer__contact-item {
    font-family: 'Crimson Pro', serif !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    margin-bottom: 0 !important;
  }

  .mg-footer__contact-item img {
    width: 16px;
    height: 13px;
  }

  .mg-footer__contact-item--address {
    display: flex !important;
    align-items: center;
    gap: 17px;
    margin-top: clamp(8px, 2.273vw, 10px);
    white-space: nowrap;
    overflow: visible !important;
    max-width: none !important;
  }

  .mg-footer__mobile-links {
    display: block;
    width: 100%;
    margin-bottom: clamp(18px, 5.682vw, 25px);
  }

  .mg-footer__mobile-links .mg-footer__col-heading {
    font-size: clamp(15px, 3.864vw, 17px);
    padding-top: 0;
    margin-bottom: clamp(14px, 4.545vw, 20px);
  }

  .mg-footer__mobile-nav-grid {
    display: grid;
    grid-template-columns: repeat(3, max-content);
    justify-content: space-between;
    row-gap: clamp(10px, 4.545vw, 20px);
  }

  /* Terms & Conditions (8th link) starts in column 2 like Figma, but spans
     into column 3 so its 154px width doesn't widen column 2 */
  .mg-footer__mobile-nav-grid a:nth-child(8) {
    grid-column: 2 / span 2;
  }

  .mg-footer__mobile-nav-grid a {
    font-family: 'Crimson Pro', serif;
    font-weight: 400;
    font-size: clamp(13px, 3.636vw, 16px);
    line-height: 18px;
    text-transform: uppercase;
    color: #F4F2ED;
    text-decoration: none;
    white-space: nowrap;
  }

  .mg-footer__newsletter {
    width: 100%;
    min-width: auto;
    margin-bottom: clamp(8px, 2.409vw, 10px);
  }

  .mg-footer__newsletter .mg-footer__col-heading {
    font-size: clamp(15px, 3.864vw, 17px);
    padding-top: 0;
  }

  .mg-newsletter-btn {
    width: clamp(160px, 43.182vw, 190px);
    height: clamp(44px, 11.364vw, 50px);
    font-size: clamp(15px, 4.091vw, 18px);
    display: block;
    margin: clamp(18px, 5.682vw, 25px) auto 0;
  }

  .mg-newsletter-cf7-wrap .mg-newsletter-input {
    margin-bottom: 0 !important;
  }

  .mg-newsletter-cf7-wrap .mg-newsletter-submit {
    width: clamp(160px, 43.182vw, 190px) !important;
    height: clamp(44px, 11.364vw, 50px) !important;
    font-size: clamp(15px, 4.091vw, 18px) !important;
    display: block !important;
    margin: clamp(16px, 4.545vw, 20px) auto clamp(09px, 3.409vw, 10px) !important;
  }

  .mg-footer__bar {
    flex-direction: column;
    align-items: center;
    gap: clamp(10px, 2.273vw, 10px);
    padding: clamp(14px, 3.182vw, 14px) clamp(16px, 5.682vw, 25px);
    text-align: center;
  }

  .mg-footer__copyright {
    width: 100%;
    text-align: center;
    font-size: clamp(12px, 3.409vw, 15px);
    line-height: clamp(16px, 3.864vw, 17px);
    white-space: normal;
    flex: none;
  }

  .mg-footer__copyright br {
    display: block;
  }

  .mg-footer__bar-links {
    display: none;
  }

  .mg-footer__bar-links a {
    font-size: clamp(13px, 3.636vw, 16px);
  }

  .mg-footer__logo-col {
    width: auto;
    align-items: center;
  }

  /* Contact col: phone + email in row, address full width */
  .mg-footer__contact-col {
    width: 100%;
  }

  .mg-footer__contact-inner {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(10px, 2.273vw, 10px);
  }

  .mg-footer__contact-item {
    font-size: clamp(11px, 2.5vw, 12px);
    margin-bottom: 0;
  }

.mg-footer__contact-item--address {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: clamp(180px, 13.229vw, 254px);
}

  /* Quick links: 3-column grid on mobile */
  .mg-footer__links-wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(12px, 2.727vw, 12px);
    width: 100%;
  }

  .mg-footer__col {
    flex: none;
  }

  .mg-footer__col-heading {
    font-size: clamp(11px, 2.727vw, 12px);
    margin-bottom: 10px;
  }

  .mg-footer__nav li {
    margin-bottom: 10px;
  }

  .mg-footer__nav a {
    font-size: clamp(11px, 2.5vw, 12px);
  }

  .mg-footer__newsletter {
    width: 100%;
  }

  .mg-newsletter-btn {
    font-size: clamp(15px, 3.636vw, 16px);
    height: clamp(48px, 10.909vw, 48px);
  }

  /* Copyright bar */
  .mg-footer__bar {
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 14px clamp(18px, 4.091vw, 18px);
    text-align: center;
  }

  .mg-footer__copyright {
    flex: none;
    text-align: center;
    font-size: clamp(10px, 3.409vw, 15px);
    white-space: normal;
  }

  .mg-footer__bar a {
    font-size: clamp(10px, 3.409vw, 15px);
  }
}

/* style.css — append to section 12/13 block */

/* Required asterisk */
.mg-required {
  color: #8E6B0A;
  margin-left: 2px;
  font-weight: 700;
}

/* Submit button — loading state */
.mg-contact-form-wrap .mg-btn-submit.mg-is-loading {
  opacity: 0.75;
  pointer-events: none;
  cursor: not-allowed;
  position: relative;
  padding-right: clamp(40px, 2.604vw, 50px);
}

.mg-contact-form-wrap .mg-btn-submit.mg-is-loading::after {
  content: '';
  position: absolute;
  right: clamp(12px, 0.833vw, 16px);
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  border: 2px solid rgba(142, 107, 10, 0.3);
  border-top-color: #8E6B0A;
  border-radius: 50%;
  animation: mg-spin 0.7s linear infinite;
}

@keyframes mg-spin {
  to { transform: translateY(-50%) rotate(360deg); }
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output,
.mg-contact-form-wrap .wpcf7-response-output {
  color: #F6354D !important;
  border-color: #F6354D !important;
  background: rgba(246, 53, 77, 0.08) !important;
  text-align: left !important;
  margin-left: 0 !important;
}

.wpcf7 form.sent .wpcf7-response-output {
  display: none !important;
}

/* ═══════════════════════════════════════════════════════
   INNER PAGES — Reusable Page Hero Banner
   Usage: copy Block 1 HTML, change image URL + title
═══════════════════════════════════════════════════════ */

.mg-page-hero {
  position: relative;
  background: var(--mg-cream-bg);
  padding: clamp(80px, 8.698vw, 167px) clamp(20px, 5.208vw, 100px) 0;
}

.mg-page-hero__image {
  position: relative;
  width: 100%;
  height: clamp(280px, 26.042vw, 500px);
  border-radius: 35px;
  overflow: hidden;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mg-page-hero__image .mg-page-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(42, 42, 42, 0.2) 0%, #3D3830 100%);
  mix-blend-mode: darken;
  opacity: 0.5;
}

.mg-page-hero__image .mg-page-hero__title {
  position: relative;
  z-index: 1;
  font-family: var(--mg-font-heading);
  font-weight: 500;
  font-size: clamp(36px, 3.385vw, 65px);
  line-height: 1.1;
  color: var(--mg-white);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 0;
  text-align: center;
}

/* ═══════════════════════════════════════════════════════
   Page - ABOUT US — Content Section
   Left oval frame + right heading + body text
═══════════════════════════════════════════════════════ */

.mg-about-content {
  background: var(--mg-cream-bg);
  padding: clamp(40px, 5.208vw, 100px) clamp(40px, 10.417vw, 200px) clamp(40px, 5.208vw, 100px);
  margin-top: 0;
}

.mg-about-content__inner {
  display: flex;
  align-items: flex-start;
  gap: clamp(40px, 9.688vw, 186px);
}

/* ── Left: Oval frame ── */
.mg-about-content__frame {
  position: relative;
  flex-shrink: 0;
  width: clamp(250px, 26.492vw, 509px);
  height: auto;
  aspect-ratio: 509 / 650;   /* Figma ratio — frame + photo always align */
}

.mg-about-content__photo-wrap {
  position: absolute;
  left: 6.32%;
  top: 0;
  width: 88.2%;
  height: 99.2%;
  border-radius: clamp(130px, 12.583vw, 241.6px);
  overflow: hidden;
  font-size: 0;
  line-height: 0;
  color: transparent;
}

.mg-about-content__frame {
  font-size: 0;
  line-height: 0;
  color: transparent;
}

.mg-about-content__photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.mg-about-content__frame-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
  z-index: 1;
}

/* ── Right: Text ── */
.mg-about-content__text {
  flex: 1;
  min-width: 0;
  padding-top: clamp(30px, 3.073vw, 59px);
}

.mg-about-content__eyebrow {
  font-family: var(--mg-font-body);
  font-weight: 500;
  font-size: clamp(14px, 1.042vw, 20px);
  line-height: 24px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--mg-gold-dark);
  margin: 0 0 clamp(12px, 0.938vw, 18px);
}

.mg-about-content__heading {
  font-family: var(--mg-font-heading);
  font-weight: 300;
  font-size: clamp(26px, 2.5vw, 48px);
  line-height: clamp(30px, 2.76vw, 53px);
  text-transform: uppercase;
  color: var(--mg-brown-heading);
  margin: 0 0 clamp(20px, 1.458vw, 28px);
  max-width: 800px;
}

.mg-about-content__body {
  font-family: var(--mg-font-body);
  font-weight: 300;
  font-size: clamp(14px, 1.146vw, 21px);
  line-height: clamp(24px, 1.875vw, 36px);
  text-align: justify;
  color: var(--mg-dark-text);
  margin: 0 0 clamp(16px, 1.25vw, 24px);
  max-width: 825px;
}

.mg-about-content__body:last-of-type {
  margin-bottom: 0;
}

/* Header block hidden on desktop — text block shows eyebrow + heading */
.mg-about-content__header {
  display: none;
}

/* Heading variants — desktop/mobile */
.mg-about-content__heading--mobile { display: none; }
.mg-about-content__heading--desktop { display: block; }

/* Desktop: show desktop hero, hide mobile */
.mg-page-hero__image--mobile  { display: none; }
.mg-page-hero__image--desktop { display: flex; }

/* Remove WPBakery default 35px padding on mg-mtav column */
.mg-mtav .vc_column-inner {
  padding-top: 0 !important;
}

/* ── Mobile ── */
@media (max-width: 767px) {

  /* ── Hero ── */
  .mg-page-hero {
    padding: 138px clamp(16px, 5.682vw, 25px) 0;   /* 138px = mobile header height, fixed (same as homepage hero) */
  }

  .mg-page-hero__image {
    height: clamp(280px, 90.909vw, 400px);
    border-radius: 20px;
  }

  .mg-page-hero__image .mg-page-hero__overlay {
    background: linear-gradient(180deg, rgba(42, 42, 42, 0.2) 0%, #3D3830 100%);
    mix-blend-mode: darken;
    opacity: 0.5;
  }

  .mg-page-hero__image .mg-page-hero__title {
    font-size: clamp(24px, 8.182vw, 36px);
  }

  /* Desktop image hidden on mobile, mobile image shown */
  .mg-page-hero__image--desktop { display: none !important; }
  .mg-page-hero__image--mobile  { display: flex !important; }

  /* ── Content section ── */
  .mg-about-content {
    padding: clamp(30px, 11.364vw, 50px) clamp(16px, 5.682vw, 25px) clamp(30px, 8.182vw, 36px);
  }

  .mg-about-content__inner {
    flex-direction: column;
    align-items: center;
    gap: 0;
  }

  /* Heading first, frame second, text third */
  .mg-about-content__text {
    order: 3;
    padding-top: clamp(25px, 7.955vw, 35px);
    text-align: center;
    width: 100%;
  }

  .mg-about-content__frame {
    order: 2;
    width: clamp(250px, 83.884vw, 369px);
    height: clamp(320px, 107.195vw, 472px);
    margin: 0 auto;
  }

  /* Frame photo: exact Figma mobile values */
  /* Photo: 325.58×467.77px, border-radius: 209.5px */
  /* Offset from frame left: 58.27-34.96 = 23.31px = 6.32% of frame width */
  .mg-about-content__photo-wrap {
    left: 6.32%;
    top: 0;
    width: 88.2%;
    height: 99.2%;
    border-radius: clamp(110px, 47.614vw, 209.5px);
  }

  /* Show header block on mobile, hide eyebrow + heading from text block */
  .mg-about-content__header {
    display: block;
    order: 1;
    width: 100%;
    text-align: center;
    margin-bottom: clamp(20px, 4.545vw, 20px);
  }

  .mg-about-content__heading--mobile { display: block; }
  .mg-about-content__heading--desktop { display: none; }

  .mg-about-content__text .mg-about-content__eyebrow,
  .mg-about-content__text .mg-about-content__heading {
    display: none;
  }

  /* Typography */
  .mg-about-content__eyebrow {
    font-size: clamp(12px, 3.182vw, 14px);
    letter-spacing: 0.1em;
  }

  .mg-about-content__heading {
    font-size: clamp(22px, 7.273vw, 32px);
    line-height: clamp(26px, 8.182vw, 36px);
    text-align: center;
  }

  .mg-about-content__body {
    font-size: clamp(14px, 4.091vw, 18px);
    line-height: clamp(28px, 7.955vw, 35px);
    text-align: center;
  }
}

/* ── Tablet ── */
@media (min-width: 768px) and (max-width: 1024px) {
  .mg-page-hero {
    padding-top: clamp(90px, 11.719vw, 120px) !important;
    height: auto !important;
    min-height: 0 !important;
    border-radius: 0 !important;
  }

  .mg-page-hero__image {
    height: clamp(220px, 28.646vw, 294px) !important;
    border-radius: clamp(16px, 2.083vw, 28px) !important;
  }

  .mg-about-content__frame {
    width: clamp(200px, 30vw, 320px) !important;
    height: auto !important;
    aspect-ratio: 509 / 650;
  }

  .mg-about-content__photo-wrap {
    border-radius: 999px !important;
  }
}

/* ═══════════════════════════════════════════════════════
   WEDDING PACKAGES — Page specific overrides
═══════════════════════════════════════════════════════ */

/* Mobile overrides */
@media (max-width: 767px) {

  /* Second body paragraph letter spacing */
  .mg-about-content--packages .mg-about-content__body--tight {
    letter-spacing: -0.02em !important;
  }
}


/* ═══════════════════════════════════════════════════════
   MEHNDI PACKAGE — Page specific overrides
═══════════════════════════════════════════════════════ */

@media (max-width: 767px) {
  .mg-about-content--mehndi .mg-about-content__body--tight {
    letter-spacing: -0.01em !important;
  }
}

/* ═══════════════════════════════════════════════════════
   ADDITIONAL SERVICES — Page specific overrides
═══════════════════════════════════════════════════════ */

.mg-about-content--additional .mg-about-content__body--wide {
  letter-spacing: 0.02em;
}

.mg-about-content--additional .mg-about-content__body--tight {
  letter-spacing: -0.02em;
}

/* ═══════════════════════════════════════════════════════
   HALLS & ROOMS — Page specific overrides
═══════════════════════════════════════════════════════ */

.mg-about-content--halls .mg-about-content__body--tight {
  letter-spacing: -0.01em;
}

/* ═══════════════════════════════════════════════════════
   ABOUT US — More Than A Venue Section
═══════════════════════════════════════════════════════ */

.mg-mtav {
  padding: clamp(60px, 5.208vw, 100px) 0 clamp(40px, 4.271vw, 82px);
  text-align: center;
  background: #ffffff !important;
}

/* ── Eyebrow ── */
.mg-mtav__eyebrow,
.mg-mtav__eyebrow p {
  font-family: var(--mg-font-body) !important;
  font-weight: 500 !important;
  font-size: clamp(14px, 1.042vw, 20px) !important;
  line-height: 24px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--mg-gold-dark) !important;
  margin: 0 0 clamp(8px, 0.625vw, 12px) !important;
  text-align: center;
}

/* ── Heading ── */
.mg-mtav__heading,
.mg-mtav__heading h2 {
  font-family: var(--mg-font-heading) !important;
  font-weight: 300 !important;
  font-size: clamp(26px, 2.5vw, 48px) !important;
  line-height: clamp(30px, 2.76vw, 53px) !important;
  text-transform: uppercase !important;
  color: var(--mg-brown-heading) !important;
  max-width: clamp(400px, 38.906vw, 747px);
  margin: 0 auto clamp(24px, 2.604vw, 50px) !important;
  text-align: center;
}

/* ── Body ── */
.mg-mtav__body,
.mg-mtav__body p {
  font-family: var(--mg-font-body) !important;
  font-weight: 300 !important;
  font-size: clamp(14px, 1.146vw, 22px) !important;
  line-height: clamp(24px, 2.083vw, 40px) !important;
  letter-spacing: 0.02em !important;
  text-align: center !important;
  color: var(--mg-dark-text) !important;
  max-width: clamp(300px, 79.167vw, 1520px);
  margin: 0 auto !important;
}

/* ── Video ── */
.mg-mtav__video-wrap {
  margin: clamp(24px, 2.604vw, 50px) clamp(20px, 10.417vw, 200px);
  border-radius: 35px;
  overflow: hidden;
  height: clamp(350px, 36.458vw, 700px);
  position: relative;
}

.mg-mtav__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ── Tagline + image dividers ── */
.mg-mtav__tagline-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 clamp(20px, 10.417vw, 200px);
  margin-top: clamp(24px, 2.604vw, 50px);
}

.mg-mtav__divider-img {
  flex: 1;
  max-width: clamp(100px, 34.375vw, 660px);
  height: auto;
  display: block;
}

.mg-mtav__tagline {
  font-family: var(--mg-font-script);
  font-weight: 400;
  font-size: clamp(28px, 2.344vw, 45px);
  line-height: clamp(36px, 2.917vw, 56px);
  text-align: center;
  color: var(--mg-brown-heading);
  opacity: 0.88;
  margin: 0 clamp(16px, 1.563vw, 30px);
  white-space: nowrap;
  flex-shrink: 0;
}

/* ── Mobile ── */
@media (max-width: 767px) {
  .mg-mtav {
    padding: clamp(40px, 9.091vw, 40px) 0 clamp(30px, 11.364vw, 50px);
  }

  .mg-mtav__eyebrow,
  .mg-mtav__eyebrow p {
    font-size: clamp(12px, 3.182vw, 14px) !important;
    letter-spacing: 0.1em !important;
  }

  .mg-mtav__heading,
  .mg-mtav__heading h2 {
    font-size: clamp(22px, 7.273vw, 32px) !important;
    line-height: clamp(26px, 8.182vw, 36px) !important;
    max-width: clamp(280px, 88.636vw, 390px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    word-break: break-word !important;
  }

  .mg-mtav__body,
  .mg-mtav__body p {
    font-size: clamp(14px, 4.091vw, 18px) !important;
    line-height: clamp(26px, 7.955vw, 35px) !important;
    letter-spacing: 0 !important;
    max-width: clamp(280px, 88.636vw, 390px) !important;
    padding: 0 !important;
  }

  .mg-mtav__video-wrap {
    margin: clamp(28px, 7.955vw, 35px) clamp(16px, 5.682vw, 25px);
    border-radius: 20px;
    height: clamp(350px, 136.364vw, 600px);
  }

  .mg-mtav__tagline-wrap {
    margin-top: clamp(16px, 7.955vw, 35px);
    padding: 0 clamp(16px, 5.682vw, 25px);
    justify-content: center;
  }

  .mg-mtav__divider-img {
    display: none !important;
  }

  .mg-mtav__tagline {
    font-size: clamp(36px, 9.091vw, 40px);
    line-height: clamp(36px, 9.091vw, 40px);
    white-space: normal;
    letter-spacing: 0;
    margin: 0;
    width: clamp(280px, 88.636vw, 390px);
    text-align: center;
    word-break: break-word;
  }
    .mg-mtav__tagline {
    color: var(--mg-gold-dark);
  }
}

/* ═══════════════════════════════════════════════════════
   ABOUT US — Why Mayfair Grand Section (WPBakery)
═══════════════════════════════════════════════════════ */

/* ── Header row ── */
.mg-wmg__header-row {
  padding: clamp(30px, 2.5vw, 48px) clamp(20px, 10.417vw, 200px) clamp(30px, 3.125vw, 60px) !important;
}

.mg-wmg__header-left .vc_column-inner,
.mg-wmg__header-right .vc_column-inner {
  padding: 0 !important;
}

.mg-wmg__header-right .vc_column-inner {
  display: flex !important;
  align-items: center !important;
}

/* Eyebrow */
.mg-wmg__eyebrow,
.mg-wmg__eyebrow p {
  font-family: var(--mg-font-body) !important;
  font-weight: 500 !important;
  font-size: clamp(14px, 1.042vw, 20px) !important;
  line-height: 1 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--mg-gold-dark) !important;
  margin: 0 0 clamp(8px, 0.781vw, 15px) !important;
  text-align: left !important;
}

/* Heading — raw HTML h2 */
.mg-wmg__heading-h2 {
  font-family: var(--mg-font-heading) !important;
  font-weight: 300 !important;
  font-size: clamp(26px, 2.5vw, 48px) !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  color: var(--mg-brown-heading) !important;
  margin: 0 !important;
  text-align: left !important;
}

/* Intro */
.mg-wmg__intro,
.mg-wmg__intro p {
  font-family: var(--mg-font-body) !important;
  font-weight: 300 !important;
  font-size: clamp(14px, 1.198vw, 23px) !important;
  line-height: clamp(24px, 1.875vw, 36px) !important;
  text-align: justify !important;
  color: var(--mg-dark-text) !important;
  margin: 0 !important;
}

/* ── Cards row ── */
.mg-wmg__cards-row {
  padding: 0 clamp(20px, 10.417vw, 200px) clamp(40px, 4.01vw, 77px) !important;
}

/* Remove WPBakery default column gap and use 10px */
.mg-wmg__cards-row .vc_column_container {
  padding: 0 5px !important;
}

.mg-wmg__cards-row .vc_row {
  margin: 0 -5px !important;
}

.mg-wmg__card .vc_column-inner {
  padding: 0 !important;
  background: var(--mg-cream-bg) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  min-height: clamp(300px, 27.083vw, 520px) !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Fix equal card height — all cards 520px */
.mg-wmg__card .vc_column-inner {
  padding: 0 !important;
  background: var(--mg-cream-bg) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  height: clamp(300px, 27.083vw, 520px) !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Card image — exactly 250px */
.mg-wmg__card-img {
  width: 100% !important;
  height: clamp(150px, 13.021vw, 250px) !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 10px !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

/* Remove WPBakery default padding from text wrapper */
.mg-wmg__card-num .wpb_wrapper,
.mg-wmg__card-title .wpb_wrapper,
.mg-wmg__card-desc .wpb_wrapper,
.mg-wmg__card-desc .wpb_text_column {
  padding: 0 !important;
  margin: 0 !important;
}

/* Card number — 20px top, 24px sides */
.mg-wmg__card-num,
.mg-wmg__card-num p {
  font-family: var(--mg-font-body) !important;
  font-weight: 500 !important;
  font-size: clamp(16px, 1.25vw, 24px) !important;
  line-height: 29px !important;
  color: var(--mg-brown-heading) !important;
  margin: clamp(20px, 4.545vw, 20px) clamp(14px, 5.909vw, 26px) 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

/* Card title — flush below number, same 24px sides */
.mg-wmg__card-title,
.mg-wmg__card-title h3 {
  font-family: var(--mg-font-heading) !important;
  font-weight: 500 !important;
  font-size: clamp(16px, 1.25vw, 24px) !important;
  line-height: 27px !important;
  text-transform: uppercase !important;
  color: var(--mg-brown-heading) !important;
  margin: clamp(4px, 0.417vw, 8px) clamp(14px, 1.25vw, 24px) clamp(8px, 0.833vw, 16px) !important;
  padding: 0 !important;
  text-align: left !important;
}

/* Card desc — same 24px sides, 42px bottom */
.mg-wmg__card-desc,
.mg-wmg__card-desc p {
  font-family: var(--mg-font-body) !important;
  font-weight: 300 !important;
  font-size: clamp(13px, 0.885vw, 17px) !important;
  line-height: clamp(20px, 1.354vw, 26px) !important;
  text-align: justify !important;
  color: var(--mg-dark-text) !important;
  margin: 0 clamp(12px, 0.625vw, 14px) clamp(22px, 2.188vw, 42px) !important;
  padding: 0 !important;
}

/* ── Tablet (768–1024px) ── */
@media (min-width: 1025px) and (max-width: 1415px) {
  .mg-wmg__cards-row .vc_row {
    display: flex !important;
    align-items: stretch !important;
  }
  .mg-wmg__cards-row .vc_column_container {
    display: flex !important;
    flex-direction: column !important;
  }
  .mg-wmg__card .vc_column-inner {
    height: 100% !important;
    min-height: clamp(380px, 34.375vw, 520px) !important;
    flex: 1 !important;
  }
  .mg-wmg__card-img {
    height: clamp(160px, 15.625vw, 220px) !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .mg-wmg__cards-row {
    padding: 0 clamp(16px, 3.125vw, 32px) clamp(30px, 3.906vw, 40px) !important;
  }
  .mg-wmg__cards-row .vc_column_container {
    width: 50% !important;
    margin-bottom: clamp(16px, 2.083vw, 20px) !important;
  }
  .mg-wmg__cards-row .vc_row {
    flex-wrap: wrap !important;
  }
  .mg-wmg__card .vc_column-inner {
    height: auto !important;
    min-height: clamp(320px, 40vw, 410px) !important;
  }
  .mg-wmg__card-img {
    height: clamp(160px, 19.531vw, 200px) !important;
  }
}
/* ── Mobile ── */
@media (max-width: 767px) {
  .mg-wmg__header-row {
    padding: clamp(20px, 7.273vw, 32px) clamp(16px, 5.682vw, 25px) clamp(20px, 6.818vw, 30px) !important;
  }

  .mg-wmg__header-right .vc_column-inner {
    display: block !important;
    padding-top: clamp(22px, 6.818vw, 30px) !important;
  }

  .mg-wmg__eyebrow,
  .mg-wmg__eyebrow p {
    font-size: clamp(12px, 3.182vw, 14px) !important;
    letter-spacing: 0.1em !important;
    text-align: center !important;
  }

  .mg-wmg__heading-h2 {
    font-size: clamp(22px, 7.273vw, 32px) !important;
    line-height: clamp(28px, 8.182vw, 36px) !important;
    text-align: center !important;
  }

  .mg-wmg__intro,
  .mg-wmg__intro p {
    font-size: clamp(14px, 4.091vw, 18px) !important;
    line-height: clamp(28px, 7.955vw, 35px) !important;
    letter-spacing: -0.03em !important;
  }

  .mg-wmg__cards-row {
    padding: 0 clamp(16px, 5.682vw, 25px) clamp(14px, 5.455vw, 24px) !important;
  }

  .mg-wmg__cards-row .vc_column_container {
    padding: 0 !important;
    width: 100% !important;
    margin-bottom: clamp(16px, 5.682vw, 25px) !important;
  }

  .mg-wmg__cards-row .vc_row {
    margin: 0 !important;
  }

  .mg-wmg__card .vc_column-inner {
    height: clamp(400px, 120.455vw, 530px) !important;
    min-height: clamp(400px, 120.455vw, 530px) !important;
  }

  .mg-wmg__card-title,
  .mg-wmg__card-title h3 {
    font-size: clamp(16px, 4.773vw, 21px) !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    display: block !important;
    visibility: visible !important;
    margin: clamp(5px, 0.909vw, 5px) clamp(14px, 5.909vw, 26px) clamp(8px, 4.091vw, 18px) !important;
  }

  .mg-wmg__card-desc,
  .mg-wmg__card-desc p {
    font-size: clamp(13px, 3.864vw, 17px) !important;
    line-height: clamp(24px, 7.273vw, 32px) !important;
    letter-spacing: 0 !important;
    display: block !important;
    visibility: visible !important;
    margin: 0 clamp(8px, 3.182vw, 14px) clamp(20px, 4.545vw, 20px) !important;
  }

  .mg-wmg__card-img {
    height: clamp(200px, 56.818vw, 250px) !important;
  }

  .mg-wmg__card-num,
  .mg-wmg__card-num p {
    font-size: clamp(16px, 4.773vw, 21px) !important;
  }
}

/* ═══════════════════════════════════════════════════════
   ABOUT US — Celebrating Every Tradition (.mg-cet)
═══════════════════════════════════════════════════════ */

.mg-cet {
  background: #ffffff;
  padding-top: clamp(50px, 5.208vw, 100px);
  padding-bottom: clamp(50px, 4.167vw, 80px);
  padding-left: clamp(20px, 10.417vw, 200px);
  padding-right: clamp(20px, 10.417vw, 200px);
}

.vc_column-inner:has(> .wpb_wrapper > .wpb_raw_html > .wpb_wrapper > .mg-cet) {
  padding-top: 0 !important;
}

/* ── Full-width header: eyebrow + heading centred above both columns ── */
.mg-cet__header {
  text-align: center;
  margin-bottom: clamp(30px, 2.604vw, 50px);
}

.mg-cet__eyebrow {
  font-family: var(--mg-font-body);
  font-weight: 500;
  font-size: clamp(13px, 1.042vw, 20px);
  line-height: 1.2;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--mg-gold-dark);
  margin: 0 0 clamp(8px, 0.625vw, 12px);
}

.mg-cet__heading {
  font-family: var(--mg-font-heading);
  font-weight: 300;
  font-size: clamp(26px, 2.5vw, 48px);
  line-height: clamp(30px, 2.76vw, 53px);
  text-align: center;
  text-transform: uppercase;
  color: var(--mg-brown-heading);
  margin: 0 auto;
  max-width: clamp(300px, 38.906vw, 747px);
}

/* ── Two-column body: text LEFT | mosaic RIGHT ── */
.mg-cet__body {
  display: grid;
  grid-template-columns: clamp(260px, 36.458vw, 700px) 1fr;
  gap: clamp(30px, 5.104vw, 98px);
  align-items: start;
  margin-bottom: clamp(30px, 3.125vw, 60px);
}

.mg-cet__text {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: clamp(300px, 31.25vw, 600px);
}

.mg-cet__text p {
  font-family: var(--mg-font-body);
  font-weight: 300;
  font-size: clamp(14px, 1.146vw, 22px);
  line-height: clamp(26px, 2.083vw, 40px);
  text-align: justify;
  letter-spacing: 0.02em;
  color: var(--mg-dark-text);
  margin: 0;
}

/* ── Image mosaic ── */
.mg-cet__images {
  display: flex;
  gap: clamp(6px, 0.521vw, 10px);
  align-items: flex-start;
}

.mg-cet__col-left {
  display: flex;
  flex-direction: column;
  gap: clamp(6px, 0.521vw, 10px);
  flex: 1;
}

.mg-cet__col-right {
  flex: 1;
}

.mg-cet__img {
  width: 100%;
  display: block;
  border-radius: 19px;
  object-fit: cover;
  cursor: pointer;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.mg-cet__img:hover {
  opacity: 0.88;
  transform: scale(1.01);
}

.mg-cet__img--sm {
  height: clamp(130px, 15.365vw, 295px);
}

.mg-cet__img--tall {
  height: clamp(266px, 31.25vw, 600px);
}

/* ── Centred button ── */
.mg-cet__btn-wrap {
  text-align: center;
  margin-top: clamp(30px, 3.125vw, 60px);
}

@media (max-width: 767px) {
  .mg-cet__btn-wrap {
    margin-top: clamp(36px, 10.909vw, 48px);
  }
}

.mg-cet__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(200px, 16.146vw, 310px);
  height: clamp(50px, 3.385vw, 65px);
  border: 1.5px solid var(--mg-dark-text);
  border-radius: 5px;
  font-family: var(--mg-font-heading);
  font-weight: 500;
  font-size: clamp(16px, 1.25vw, 24px);
  line-height: 1;
  text-transform: uppercase;
  color: var(--mg-dark-text);
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: background 0.25s ease, color 0.25s ease;
}

.mg-cet__btn:hover {
  background: #3D3D3D;
  border-color: #3D3D3D;
  color: #E5C876;
}

/* ── Lightbox overlay ── */
.mg-cet-lb {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.92);
  z-index: 99999;
  align-items: center;
  justify-content: center;
}

.mg-cet-lb.is-open {
  display: flex;
}

.mg-cet-lb__img {
  max-width: 90vw;
  max-height: 85vh;
  border-radius: 8px;
  object-fit: contain;
  display: block;
  user-select: none;
}

.mg-cet-lb__close {
  position: absolute;
  top: clamp(14px, 1.563vw, 30px);
  right: clamp(14px, 1.563vw, 30px);
  width: 44px;
  height: 44px;
  background: rgba(255, 255, 255, 0.15);
  border: none;
  border-radius: 50%;
  color: #fff;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease;
}

.mg-cet-lb__close:hover { background: rgba(255, 255, 255, 0.3); }

.mg-cet-lb__prev,
.mg-cet-lb__next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  background: rgba(255, 255, 255, 0.15);
  border: none;
  border-radius: 50%;
  color: #fff;
  font-size: 24px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease;
}

.mg-cet-lb__prev { left: clamp(12px, 1.563vw, 30px); }
.mg-cet-lb__next { right: clamp(12px, 1.563vw, 30px); }
.mg-cet-lb__prev:hover,
.mg-cet-lb__next:hover { background: rgba(255, 255, 255, 0.3); }

/* ── Tablet (768–1024px) ── */
@media (min-width: 768px) and (max-width: 1024px) {
  .mg-cet__body {
    grid-template-columns: 1fr 1fr;
    gap: 24px;
  }
  .mg-cet__text {
    height: auto !important;
    justify-content: flex-start !important;
    gap: clamp(16px, 2.083vw, 20px) !important;
  }

  .mg-cet__img--sm  { height: clamp(120px, 14.648vw, 150px); }
  .mg-cet__img--tall { height: clamp(246px, 30.273vw, 310px); }
}

/* ── Mobile (≤767px) ── */
@media (max-width: 767px) {
  .mg-cet {
    padding: clamp(30px, 11.364vw, 50px) clamp(16px, 5.682vw, 25px);
  }

  .mg-cet__eyebrow {
    font-size: clamp(11px, 3.182vw, 14px);
    letter-spacing: 0.1em;
  }

  .mg-cet__heading {
    font-size: clamp(24px, 7.273vw, 32px);
    line-height: clamp(28px, 8.182vw, 36px);
    max-width: none;
  }

  /* Stack: text above images on mobile */
  .mg-cet__body {
    grid-template-columns: 1fr;
    gap: clamp(24px, 6.818vw, 30px);
  }

  .mg-cet__text {
    height: auto !important;
    min-height: 0 !important;
    justify-content: flex-start;
    gap: clamp(20px, 4.545vw, 20px);
  }

  .mg-cet__text p {
    font-size: clamp(15px, 4.091vw, 18px);
    line-height: clamp(30px, 7.955vw, 35px);
    letter-spacing: 0;
    text-align: justify;
  }

  /* Mobile mosaic: tighter gap */
  .mg-cet__images {
    gap: 4px;
  }

  .mg-cet__col-left { gap: 5px; }

  .mg-cet__img { border-radius: 10px; }

  /* Mobile image heights from Figma (÷4.4) */
  .mg-cet__img--sm        { height: clamp(130px, 39.773vw, 175px); }
  .mg-cet__col-left .mg-cet__img--sm:last-child { height: clamp(134px, 40.682vw, 179px); }
  .mg-cet__img--tall      { height: clamp(270px, 81.591vw, 359px); }

  .mg-cet__btn {
    width: clamp(200px, 56.818vw, 250px);
    height: clamp(48px, 13.636vw, 60px);
    font-size: clamp(15px, 4.545vw, 20px);
  }
}

/* ═══════════════════════════════════════════════════════
   WEDDING PACKAGES — Hero / Tab Selector (.mg-pkghero)
═══════════════════════════════════════════════════════ */

.mg-pkghero {
  position: relative;
  width: 100%;
  height: clamp(400px, 36.979vw, 710px);
  background-image: url('https://mayfairgrand.co.uk/wp-content/uploads/2026/09/bride-img-1-scaled.webp');
  background-size: cover;
  background-position: left center;
  overflow: hidden;
  display: flex;
  align-items: flex-start;
}

/* Gradient overlay — white right, transparent left */
.mg-pkghero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(270deg, #FFFFFF 0%, rgba(255,255,255,0.07) 100%);
  mix-blend-mode: lighten;
}

/* Content box — right half */
.mg-pkghero__content {
  position: relative;
  z-index: 1;
  width: clamp(400px, 41.25vw, 792px);
  margin-left: auto;
  margin-right: clamp(20px, 10.417vw, 200px);
  padding-top: clamp(60px, 5.156vw, 99px);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

.mg-pkghero__eyebrow {
  font-family: var(--mg-font-body);
  font-weight: 500;
  font-size: clamp(13px, 1.042vw, 20px);
  line-height: 1.2;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--mg-gold-dark);
  margin: 0 0 clamp(10px, 0.625vw, 12px);
}

.mg-pkghero__heading {
  font-family: var(--mg-font-heading);
  font-weight: 300;
  font-size: clamp(24px, 2.5vw, 48px);
  line-height: clamp(28px, 2.76vw, 53px);
  text-align: center;
  text-transform: uppercase;
  color: var(--mg-brown-heading);
  margin: 0 0 clamp(20px, 2.344vw, 45px);
  max-width: clamp(300px, 34.948vw, 671px);
}

.mg-pkghero__subtext {
  font-family: var(--mg-font-body);
  font-weight: 300;
  font-size: clamp(14px, 1.146vw, 22px);
  line-height: clamp(24px, 2.083vw, 40px);
  text-align: center;
  letter-spacing: 0.02em;
  color: var(--mg-dark-text);
  margin: 0 0 clamp(35px, 2.344vw, 45px);
  max-width: clamp(300px, 41.25vw, 792px);
}

/* ── Gold ornamental divider ── */
.mg-pkghero__ornament {
  width: clamp(280px, 39.479vw, 758px);
  height: 23px;
  flex-shrink: 0;
}

.mg-pkghero__ornament--top    { margin-top: 5px; margin-bottom: clamp(20px, 1.198vw, 23px); }
.mg-pkghero__ornament--bottom { margin-top: 23px; margin-bottom: clamp(60px, 4.635vw, 89px); }
/* SVG ornament drawn inline via background */
.mg-pkghero__ornament img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: fill;
}

/* ── Tab row ── */
.mg-pkghero__tabs {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
}

.mg-pkghero__tab {
  font-family: var(--mg-font-heading);
  font-weight: 300;
  font-size: clamp(22px, 2.5vw, 48px);
  line-height: clamp(26px, 2.76vw, 53px);
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--mg-dark-text);
  position: relative;
  padding: 0 clamp(12px, 1.563vw, 30px);
  transition: color 0.2s ease;
}

/* Active tab: gold + underline */
.mg-pkghero__tab--active {
  color: var(--mg-gold-dark);
}

.mg-pkghero__tab--active::after {
  content: '';
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
  width: clamp(70px, 6.667vw, 128px);
  height: 2px;
  background-image: url("data:image/svg+xml,%3Csvg width='128' height='2' viewBox='0 0 128 2' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.9041 1.98403C9.9833 1.98149 10.3019 1.98766 10.4397 1.98659C10.2834 2.01342 9.61843 1.99324 9.9041 1.98403ZM24.0496 0.0358347C23.9352 0.0424674 23.8208 0.0491001 23.7064 0.0557329C24.0315 0.0600427 24.4686 0.0551745 24.7704 0.0614705C24.8197 0.0625278 24.6917 0.0817319 24.8084 0.0825894C24.9253 0.0834415 24.9027 0.0571974 25.0726 0.0543901C25.2632 0.0513211 26.1357 0.0696049 26.4378 0.0691613C27.568 0.0673899 28.7078 0.0524023 29.8402 0.063302C28.6711 0.0827183 29.8492 0.10248 30.1766 0.094065C30.2492 0.0921167 30.2376 0.0433265 31.4105 0.0556115C32.1559 0.0634075 31.4674 0.13316 32.7113 0.0982157C31.7548 0.049419 32.6954 0.052839 33.4452 0.0512169C33.5744 0.0509296 34.6183 0.0582611 35.0795 0.0561001C35.2372 0.0553485 35.4776 0.0297922 35.6869 0.0291215C35.8309 0.0286792 35.9398 0.042651 36.1537 0.0419394C37.1506 0.0387904 38.1311 0.037704 39.1298 0.0424281C38.5462 0.108102 39.5879 0.0704174 39.6347 0.0735573C39.8726 0.0913883 38.7965 0.0964636 39.2221 0.107616C39.8168 0.105582 40.4115 0.103547 41.0062 0.101512C40.5181 0.093449 41.6524 0.046209 41.8612 0.0676978C41.7693 0.00966604 44.5718 0.118207 44.9984 0.0988272C45.0873 0.0947337 44.5057 0.0660524 45.8549 0.0791732C46.001 0.0806311 45.9457 0.09814 46.0224 0.0965079C46.0683 0.0955264 46.346 0.0398767 46.642 0.0706281C46.7501 0.0818518 46.0587 0.118401 47.5771 0.10371C46.9724 0.04707 49.6825 0.0730362 50.1811 0.0872305C50.0815 0.0796212 49.9818 0.0720118 49.8822 0.0644025C50.3751 0.0849298 50.4641 0.0656724 50.5751 0.0667219C51.0226 0.0709373 51.6378 0.0903445 52.0546 0.0885735C52.5424 0.0865359 52.544 0.051311 53.1127 0.0650132C52.9778 0.0572411 52.8429 0.049469 52.7079 0.0416967C53.1007 0.0435686 53.4934 0.0454405 53.8862 0.0473123C52.9767 0.0939404 54.0824 0.0495369 54.1552 0.0485332C54.2714 0.0468361 54.1045 0.0659253 54.2988 0.0635483C54.3188 0.0631571 54.2898 0.0451808 54.5893 0.0431619C55.215 0.039005 55.1161 0.0616067 55.3788 0.0613511C55.4029 0.0612345 55.3186 0.04504 55.7724 0.0412087C57.2146 0.0290123 55.7652 0.0536193 55.7099 0.0558578C55.6372 0.0588102 56.1317 0.126488 54.9067 0.10249C55.318 0.11013 55.3594 0.140078 55.4057 0.140822C55.4467 0.141433 56.1594 0.137215 56.1987 0.136183C56.549 0.126013 56.2407 0.105547 56.309 0.10188C56.3649 0.0989235 57.2235 0.125594 57.4247 0.064037C57.8356 0.120817 57.1884 0.115615 56.4994 0.124342C56.3989 0.135993 57.1555 0.147323 57.1952 0.147292C58.1711 0.147189 57.6308 0.100484 57.8442 0.0706291C57.9562 0.0550082 58.3538 0.0868717 57.9868 0.0449932C58.8725 0.0405728 58.3353 0.0648403 58.3925 0.0684317C58.4789 0.0737082 58.7888 0.0617057 58.8276 0.0633046C58.8845 0.0656715 58.6866 0.0801709 58.9111 0.0852781C58.9484 0.0860207 59.3101 0.0610699 58.8437 0.0491439C59.4669 0.0526909 59.4155 0.0314153 59.6269 0.0742914C60.0561 -0.00682473 59.9383 0.122239 60.1074 0.126784C60.5568 0.138765 60.4264 0.0750777 60.4501 0.0719721C60.6137 0.0520703 61.8578 0.0739481 62.166 0.0647698C62.0444 0.110641 61.1796 0.0652705 60.9863 0.0741695C60.3416 0.103776 61.8949 0.0971034 61.4267 0.154739C61.623 0.13891 61.8193 0.123081 62.0156 0.107252C62.3755 0.144309 61.8649 0.160468 62.8334 0.146926C62.9918 0.114941 62.1487 0.151978 62.3178 0.126784C62.4175 0.111997 62.9791 0.108822 62.9902 0.101026C63.0013 0.0916423 62.4937 0.102763 62.5737 0.0883303C62.7483 0.0571839 64.5997 0.0868353 63.1904 0.103834C63.5835 0.103302 63.786 0.165253 64.1269 0.14595C64.3473 0.133421 63.1072 0.0478592 64.9677 0.0635492C65.0074 0.092803 64.2239 0.0721877 64.2036 0.0744139C64.175 0.0776545 64.3167 0.143668 64.3413 0.146926C64.428 0.157654 66.328 0.122306 66.7294 0.155472C66.5705 0.117318 68.1651 0.148664 68.3388 0.137039C68.3851 0.133829 68.2122 0.110459 68.2617 0.107985C68.57 0.0932621 69.4041 0.134981 69.791 0.136062C70.224 0.137287 70.1691 0.117102 70.1933 0.117141C70.3839 0.118267 70.2316 0.13195 70.3481 0.131912C70.524 0.131846 71.7332 0.134645 71.7939 0.13179C71.8117 0.1309 71.6143 0.107842 71.8779 0.103468C71.9235 0.102711 71.8946 0.130048 72.6753 0.11824C73.6154 0.104037 72.0224 0.0842435 72.4131 0.0556151C73.017 0.0963776 72.9973 0.0559835 73.1611 0.0591553C73.2178 0.0603106 73.6398 0.0946544 74.0981 0.0924819C73.7692 0.0980566 73.4402 0.103631 73.1113 0.109206C73.4347 0.115228 74.0626 0.107774 74.3291 0.114577C74.459 0.117889 74.3519 0.146102 74.6342 0.14534C74.6942 0.145025 74.9319 0.0762885 74.1924 0.107131C74.1332 0.082587 74.4852 0.0985698 74.6484 0.0916273C74.6731 0.0905456 74.7705 0.0495424 74.979 0.0750252C75.029 0.0812948 74.484 0.200904 75.8896 0.114333C75.9349 0.111543 75.7775 0.0965638 75.8218 0.0934586C75.852 0.0913556 76.2108 0.097415 76.2505 0.0952897C76.291 0.0930095 76.1177 0.0766561 76.166 0.0734384C76.4135 0.0568571 76.7383 0.121717 76.228 0.116775C76.3986 0.124791 76.5692 0.132808 76.7397 0.140824C76.5572 0.091941 77.0076 0.12707 77.2436 0.125564C78.7562 0.115943 77.7433 0.0841503 78.0034 0.067701C78.4217 0.0412897 78.1022 0.124943 78.7231 0.0998068C78.7806 0.0974567 78.03 0.0619473 79.4956 0.0819838C79.2793 0.0833674 79.063 0.0847509 78.8467 0.0861344C78.9714 0.133415 79.6278 0.0828912 79.6782 0.082228C80.2537 0.0757361 79.8646 0.0927807 80.7192 0.0684337C80.7956 0.0662477 80.9618 0.0779163 81.125 0.0720959C81.8015 0.0481167 80.2323 0.0575448 80.1894 0.0384031C80.1691 0.029024 81.8566 0.0313861 81.9145 0.0358398C82.1605 0.0555817 81.1496 0.044535 81.3423 0.0690441C81.4126 0.0777466 83.8177 0.059873 84.3003 0.0694105C84.8571 0.0805091 85.1078 0.144612 85.1113 0.0725846C85.2685 0.143286 85.4073 0.0950478 85.4785 0.0955348C86.3396 0.10208 86.3412 0.102793 87.0796 0.0960232C87.2427 0.0945517 87.3803 0.116004 87.438 0.112381C87.4715 0.110193 87.4088 0.0872365 87.5732 0.0801535C87.8016 0.0704635 89.1744 0.0940756 89.2764 0.106766C89.3784 0.119456 88.6967 0.112269 88.8189 0.133134C89.3123 0.135243 89.7855 0.130081 90.2822 0.13228C90.4886 0.133256 90.3826 0.147859 90.4717 0.148149C90.5096 0.148329 91.2221 0.135469 91.1919 0.130082C91.1212 0.117557 88.9212 0.125976 89.5005 0.100418C89.6123 0.0954796 90.0071 0.129132 89.9444 0.0882106C91.9098 0.0974885 93.8753 0.106766 95.8409 0.116044C94.7115 0.146651 93.4407 0.119278 92.2578 0.122148C92.0957 0.122502 91.5477 0.118555 91.6143 0.139238C92.6201 0.144593 93.8706 0.133816 94.8364 0.147295C94.8674 0.147741 94.7539 0.166324 94.8697 0.169269C95.0861 0.174765 95.7907 0.144794 95.9092 0.152545C95.9295 0.15435 95.5285 0.178848 95.6504 0.194416C95.9634 0.234369 96.0429 0.145881 96.312 0.146929C96.5202 0.147778 97.9188 0.190563 98.2671 0.163532C98.6375 0.134719 97.2364 0.146804 97.3399 0.123247C98.2879 0.0995729 99.2478 0.124853 100.144 0.121904C100.159 0.121829 100.022 0.103368 100.222 0.100785C100.57 0.0962902 100.661 0.122476 100.831 0.126665C101.013 0.131125 101.659 0.127372 101.745 0.13692C101.756 0.138171 101.625 0.164144 101.606 0.164875C101.324 0.175579 101.224 0.141869 101.199 0.141436C101.103 0.140158 101.008 0.15307 100.92 0.152301C100.776 0.151019 100.697 0.139073 100.506 0.138018C100.374 0.137246 100.501 0.160186 100.375 0.159137C100.328 0.158659 99.8261 0.106277 99.7793 0.159747C99.7648 0.176606 103.869 0.198256 104.279 0.184773C103.927 0.178344 103.576 0.171915 103.224 0.165485C103.938 0.181136 104.797 0.138413 104.857 0.201619C107.507 0.206788 110.157 0.211956 112.807 0.217124C113.28 0.222509 113.021 0.263126 113.799 0.251305C113.598 0.238365 113.397 0.225425 113.196 0.212485C113.595 0.221563 115.363 0.239297 115.649 0.230919C115.686 0.22982 115.738 0.19306 116.179 0.189901C116.571 0.187113 116.634 0.214656 116.844 0.219932C117.02 0.224285 117.217 0.217069 117.27 0.218589C117.31 0.219807 117.326 0.236649 117.422 0.239586C117.726 0.248666 117.48 0.201244 117.782 0.2557C117.708 0.257775 117.635 0.25985 117.561 0.261926C117.928 0.269807 118.43 0.29453 117.889 0.306727C117.796 0.308833 117.876 0.292538 117.807 0.292566C115.09 0.295594 117.259 0.32727 118.212 0.301966C118.456 0.32611 119.827 0.311369 119.872 0.316127C119.936 0.323018 119.701 0.342314 120.008 0.358976C120.073 0.362503 121.906 0.348983 121.246 0.381071C121.11 0.38769 120.231 0.380736 120.019 0.381681C120.517 0.432854 121.686 0.359538 121.817 0.361417C122.347 0.369392 120.799 0.405766 121.993 0.411712C122.911 0.416275 122.049 0.382106 122.402 0.367521C122.6 0.359337 123.639 0.396979 123.611 0.348233C123.968 0.343028 123.759 0.368839 123.803 0.370695C123.846 0.372327 124.547 0.357735 124.775 0.368009C124.802 0.369287 124.715 0.394624 124.744 0.396697C124.799 0.400247 125.475 0.395182 125.503 0.393035C125.52 0.391543 125.359 0.369361 125.425 0.363981C125.502 0.357778 126.153 0.362998 126.189 0.356657C126.239 0.347069 125.436 0.353385 125.57 0.328579C125.94 0.334825 126.543 0.318274 126.788 0.298305C126.728 0.304015 126.369 0.304834 126.244 0.302822C126.303 0.266491 127.074 0.266986 126.81 0.295741C126.978 0.280298 126.863 0.272106 126.958 0.257532C126.982 0.25384 127.22 0.25308 127.266 0.246789C127.272 0.245536 127.027 0.231828 127.076 0.22445C127.165 0.211115 127.886 0.214115 127.945 0.217613C128.112 0.227527 127.523 0.239522 127.474 0.254846C127.467 0.2572 127.968 0.287229 127.975 0.289882C128.004 0.318337 127.448 0.297831 127.511 0.323452C127.649 0.328864 127.787 0.334276 127.924 0.339688C127.393 0.365634 126.411 0.352292 126.157 0.381804C126.945 0.373022 127.769 0.374061 127.767 0.440522C127.767 0.468512 127.427 0.484921 127.44 0.492038C127.49 0.517503 127.962 0.489839 127.979 0.491183C127.993 0.492735 128 0.494246 128 0.495717C128 0.510628 127.328 0.521365 127.294 0.528172C127.237 0.540265 127.537 0.590041 127.536 0.601051C127.526 0.603262 127.047 0.615042 127.209 0.634255C127.372 0.653662 127.791 0.65409 127.806 0.656107C127.886 0.667716 127.153 0.678304 127.131 0.68516C127.119 0.688627 127.513 0.709923 127.525 0.716045C127.534 0.722189 127.235 0.735595 127.117 0.754987C127.029 0.769395 127.285 0.78044 127.24 0.782698C127.208 0.784195 126.516 0.78395 126.482 0.786482C126.431 0.790229 126.593 0.807447 126.569 0.811752C126.536 0.817944 126.312 0.811729 126.341 0.8181C126.363 0.822848 127.23 0.882204 127.225 0.898059C127.215 0.925101 126.297 0.862881 127.151 0.969595C127.157 0.970296 127.365 0.962712 127.371 0.963369C127.499 0.983003 126.832 1.01321 127.648 1.00793C126.131 1.04203 127.459 1.04858 127.234 1.09411C127.148 1.11161 126.56 1.11883 126.557 1.12146C126.614 1.14366 126.802 1.12644 126.865 1.13733C126.9 1.14341 126.374 1.16688 126.493 1.18213C126.554 1.18998 127.112 1.18719 127.135 1.18872C127.356 1.20317 127.085 1.21874 127.134 1.229C127.166 1.23589 127.503 1.23643 127.512 1.23767C127.526 1.24025 127.069 1.26806 126.973 1.27783C126.901 1.28536 127.173 1.29714 127.122 1.30042C126.818 1.32003 126.17 1.27002 126.794 1.34009C126.832 1.34439 127.068 1.34265 127.075 1.34351C127.221 1.36338 126.786 1.36509 126.709 1.38135C126.575 1.40938 127.2 1.39375 126.68 1.41346C127.07 1.43178 127.287 1.43102 127.744 1.42591C126.48 1.44016 126.034 1.5127 127.437 1.51088C126.991 1.50974 127.04 1.55069 126.907 1.5514C126.825 1.5518 126.178 1.5111 126.474 1.60243C126.511 1.61384 126.904 1.59934 126.781 1.6227C125.838 1.61674 126.761 1.63755 126.762 1.64064C126.75 1.69444 124.445 1.65038 124.049 1.65651C123.59 1.66363 123.182 1.70602 123.082 1.70607C122.753 1.70609 123.026 1.68457 122.952 1.67665C122.878 1.66881 121.943 1.71005 121.897 1.70778C121.716 1.69869 121.899 1.67318 121.88 1.67189C121.656 1.65626 120.401 1.67623 120.05 1.6703C120.061 1.68685 120.766 1.68816 120.326 1.71474C119.813 1.74572 119.784 1.67278 119.77 1.66957C117.42 1.67026 115.07 1.67096 112.72 1.67165C112.75 1.71045 114.286 1.68119 114.321 1.6863C114.526 1.71655 111.931 1.71599 111.612 1.70229C111.854 1.71067 112.096 1.71905 112.338 1.72743C111.925 1.77205 111.011 1.71409 110.414 1.73378C110.221 1.74017 110.591 1.75739 110.584 1.75856C110.367 1.77589 110.019 1.76254 110.279 1.73928C109.749 1.76157 109.827 1.73697 109.42 1.73513C109.4 1.73505 109.574 1.75305 109.253 1.76052C109.102 1.764 108.299 1.76406 108.191 1.7798C108.147 1.78643 108.554 1.85625 108.605 1.79616C109.478 1.82545 108.884 1.76878 109.223 1.77016C109.275 1.77048 109.155 1.80402 110.01 1.78823C109.847 1.84871 108.863 1.80348 108.694 1.81081C108.346 1.82587 109.78 1.85711 110.044 1.80996C109.921 1.85716 110.145 1.81632 110.465 1.81826C110.815 1.82036 110.662 1.83442 110.852 1.83449C111.369 1.83485 111.155 1.80153 111.582 1.83156C111.165 1.73858 112.312 1.81929 112.647 1.84365C112.103 1.84837 111.559 1.85309 111.015 1.85781C111.046 1.86269 111.077 1.86758 111.108 1.87246C110.965 1.87177 110.822 1.87108 110.679 1.87038C110.702 1.8657 110.725 1.86103 110.748 1.85635C110.009 1.88677 109.829 1.85258 109.769 1.8522C108.993 1.84823 108.098 1.84852 107.314 1.84841C107.196 1.84839 107.277 1.87883 106.42 1.855C106.147 1.84742 106.405 1.82374 106.095 1.82729C105.707 1.89163 105.714 1.84031 105.599 1.84023C105.268 1.84024 105.066 1.85618 105.036 1.85635C104.627 1.85883 104.029 1.85617 103.58 1.85854C103.571 1.85879 103.805 1.87855 103.513 1.8727C103.411 1.87061 102.492 1.78624 101.689 1.81374C101.898 1.81944 102.107 1.82513 102.316 1.83083C102.07 1.82287 100.35 1.84413 100.771 1.86672C101.028 1.88053 101.658 1.82614 101.727 1.87844C101.155 1.86279 97.9923 1.8862 97.7461 1.87405C97.7121 1.87231 97.9216 1.85534 97.8745 1.85317C97.8381 1.85152 97.1138 1.85554 97.0176 1.84902C96.9604 1.84515 97.2804 1.83475 97.2544 1.82863C97.2316 1.82427 96.327 1.81701 96.2754 1.83828C96.4976 1.82974 97.1219 1.8372 96.7945 1.85512C96.7524 1.85735 96.5341 1.84363 96.4829 1.84646C96.0082 1.87252 97.4269 1.86626 97.6465 1.86648C96.7553 1.89358 95.3769 1.86163 94.3443 1.87929C93.927 1.86159 94.9629 1.85221 94.4907 1.83754C93.5114 1.80714 94.2301 1.86203 94.1997 1.86428C93.9565 1.88214 93.1279 1.78642 93.1275 1.85927C92.7724 1.84831 92.8873 1.83912 92.3862 1.84865C92.4522 1.8537 92.5181 1.85875 92.584 1.86379C92.0277 1.90599 90.8503 1.79952 90.9385 1.7914C91.1758 1.76966 91.789 1.80357 91.8413 1.80275C91.9189 1.80155 92.1331 1.72762 92.9815 1.79372C93.3288 1.74414 91.6369 1.76025 92.4068 1.72646C91.8868 1.732 89.7479 1.69749 89.4399 1.71925C89.4032 1.7221 89.5743 1.7715 89.0459 1.74635C88.7951 1.73438 89.4 1.73381 89.2852 1.72255C88.932 1.68801 84.1279 1.7101 83.2153 1.71193C83.1561 1.71198 83.1778 1.69665 83.1196 1.69679C82.9408 1.69722 82.2892 1.72008 81.9692 1.71303C82.6322 1.74141 81.3446 1.74362 81.0171 1.74049C80.5199 1.73574 80.5507 1.70876 80.3359 1.70302C79.5082 1.6809 78.2256 1.74496 77.5825 1.68507C77.6177 1.74451 76.4702 1.65593 75.9482 1.65541C75.5394 1.65498 74.9461 1.69432 75.498 1.71828C74.7922 1.71554 74.0493 1.72663 73.3872 1.73024C73.2777 1.73085 73.4284 1.71327 73.2417 1.71486C73.2247 1.71513 73.2013 1.73235 73.041 1.73415C71.7173 1.74916 72.3614 1.71256 72.1137 1.7018C71.9751 1.69577 71.8729 1.69277 71.7978 1.69179C72.5693 1.68842 73.4593 1.68165 73.6972 1.68117C73.4942 1.64313 71.9872 1.68847 71.5459 1.67824C71.5306 1.67786 71.5839 1.6569 71.5683 1.65675C71.4019 1.65514 70.3485 1.66288 70.5654 1.68788C70.6236 1.69456 71.1085 1.69454 71.6836 1.69227C71.5279 1.69696 71.6441 1.72045 71.6167 1.72145C71.2836 1.73306 70.4676 1.71014 70.1782 1.70704C70.112 1.70637 70.1168 1.72141 70.1059 1.72145C69.8427 1.71803 69.9507 1.67507 69.6806 1.71937C69.2039 1.66583 70.5741 1.71142 70.4775 1.67665C70.4033 1.64987 67.36 1.66425 67.3691 1.70643C67.3586 1.70192 67.3167 1.69632 67.2309 1.68995C67.0406 1.6758 66.1935 1.68023 66.0473 1.688C66.0226 1.68953 66.0325 1.73047 66.0019 1.73085C65.9254 1.73179 64.8901 1.69969 64.5034 1.72389C64.7122 1.72963 64.921 1.73537 65.1298 1.7411C63.8688 1.74146 64.0637 1.75364 64.4838 1.76588C64.5048 1.76599 64.5253 1.76755 64.5454 1.76772C64.871 1.77677 65.2885 1.78548 65.2949 1.78871C65.3188 1.80104 63.1793 1.80789 63.5908 1.76991C63.6481 1.76472 64.638 1.78163 64.1479 1.75453C64.0621 1.74978 63.4264 1.75752 63.393 1.75453C63.1696 1.73467 64.5578 1.70829 64.3881 1.68007C64.0512 1.70693 63.6188 1.69278 63.2324 1.69972C63.0565 1.70286 63.0133 1.72338 62.9916 1.72377C62.6674 1.72913 62.8494 1.70761 62.7412 1.70814C62.6831 1.70851 62.0442 1.75432 62.165 1.69117C60.06 1.73762 61.5827 1.73758 62.874 1.73402C62.466 1.75702 61.666 1.7459 61.3071 1.75124C61.1783 1.75317 61.2546 1.77424 61.0371 1.77846C60.5893 1.78713 58.4514 1.76292 57.8945 1.75722C58.2365 1.74977 58.1365 1.72682 57.8725 1.72841C57.6085 1.73 57.8302 1.76064 57.7787 1.76393C57.7235 1.76734 56.4848 1.75288 56.2787 1.75685C57.2113 1.74575 57.0009 1.72287 56.2094 1.72047C56.3238 1.71388 56.4382 1.70729 56.5527 1.7007C56.0887 1.70996 55.1134 1.67505 54.8451 1.68544C54.8031 1.68711 54.9542 1.70635 54.9306 1.70729C54.6954 1.71546 53.8951 1.69584 53.8578 1.7024C53.8263 1.70787 54.1676 1.724 54.0409 1.73195C54.0145 1.73362 53.6854 1.70761 53.3612 1.714C53.241 1.71635 53.3134 1.73455 53.2831 1.73561C53.0306 1.74436 53.1797 1.71372 52.7182 1.71864C52.3801 1.72228 52.1283 1.75225 51.661 1.74232C53.1951 1.78052 51.9055 1.76456 51.2641 1.77614C51.1613 1.77798 51.2494 1.81102 50.6352 1.79494C51.9423 1.7352 50.2625 1.76336 49.9189 1.76271C49.9 1.76251 49.8935 1.74072 49.725 1.74037C49.7108 1.74039 49.7312 1.75511 49.5746 1.75624C48.0891 1.76688 49.039 1.75025 48.7567 1.73573C48.6366 1.72954 47.9142 1.75036 47.7196 1.75087C47.6749 1.75092 47.6955 1.73562 47.5224 1.73622C47.2161 1.73732 46.9418 1.7536 46.7397 1.7549C46.7161 1.75497 46.7151 1.73083 46.3319 1.73866C46.2242 1.74085 46.1033 1.74942 46.2563 1.75636C46.7637 1.77919 47.7262 1.73968 48.2997 1.76246C48.8227 1.78321 47.1736 1.78517 47.0878 1.78529C47.0563 1.78537 47.3784 1.77338 47.0512 1.77101C46.7718 1.76904 46.2611 1.81073 45.8446 1.80165C45.8129 1.80098 45.4802 1.76562 45.4955 1.76356C45.5094 1.76206 46.0204 1.75438 45.9462 1.74415C45.9373 1.74299 45.6126 1.74323 45.5702 1.73561C45.5183 1.72634 45.3783 1.63535 45.309 1.63307C45.131 1.62743 45.2468 1.64818 45.1317 1.64674C44.8849 1.64369 44.0287 1.61679 44.0009 1.64832C44.1423 1.6502 44.2838 1.65207 44.4252 1.65394C43.6383 1.65718 43.9737 1.67061 43.8622 1.67652C43.7421 1.68292 43.7759 1.6552 43.5106 1.6526C43.4529 1.65202 42.343 1.65781 42.3632 1.66944C42.977 1.65093 42.7494 1.68519 42.7777 1.6858C42.8853 1.68803 43.0226 1.66882 43.1669 1.6692C44.1817 1.67221 43.1583 1.70254 43.3978 1.71034C43.4803 1.71296 43.6446 1.69656 43.6796 1.6974C43.7933 1.70012 43.7951 1.7216 43.871 1.71986C44.048 1.71583 43.8414 1.68543 43.8554 1.68385C44.0135 1.66482 44.6333 1.68849 44.2475 1.72157C44.479 1.73349 44.5062 1.69329 44.6898 1.70936C45.055 1.74118 44.508 1.73301 44.3598 1.73829C43.8281 1.75735 43.6704 1.74192 42.9179 1.7472C42.6469 1.74907 42.3258 1.76859 42.2001 1.76967C42.1209 1.77034 41.373 1.7024 41.351 1.80873C41.0602 1.79844 40.6041 1.72837 40.3046 1.73158C40.0357 1.7345 40.1212 1.77212 40.0961 1.77357C40.0576 1.77586 39.7324 1.7729 39.6224 1.77821C39.4936 1.78449 39.5579 1.79885 39.3534 1.8047C38.8445 1.81923 38.8579 1.78083 38.8055 1.77833C38.1983 1.74949 38.4642 1.8041 38.3295 1.80849C38.2042 1.81251 36.4465 1.79149 36.0765 1.80531C36.2271 1.79762 36.3776 1.78993 36.5282 1.78224C36.2588 1.75829 35.9732 1.79735 35.9681 1.75441C35.9135 1.82374 35.3574 1.7774 35.1903 1.77919C35.1245 1.77993 35.1296 1.79174 35.0472 1.79225C34.7254 1.79432 33.9996 1.78492 33.8251 1.79091C33.07 1.8167 35.0007 1.85961 35.1527 1.8622C34.8484 1.86143 33.1271 1.87696 33.9183 1.9103C34.0406 1.91544 34.2574 1.88441 34.326 1.8832C34.791 1.87521 34.4253 1.90301 34.4618 1.90566C34.5238 1.90993 34.8298 1.88305 34.9105 1.88625C34.9375 1.88727 34.764 1.91245 35.2074 1.91298C34.9893 1.93739 33.743 1.9175 33.5795 1.92324C33.5212 1.92528 33.8863 1.97744 32.8197 1.92678C32.8321 1.93162 32.8444 1.93646 32.8568 1.9413C32.2629 1.9433 31.669 1.94529 31.0751 1.94728C31.1396 1.93613 31.4731 1.91372 31.0531 1.91848C30.8113 1.92123 30.9902 1.94608 30.9681 1.9468C30.7511 1.95364 26.9106 1.94537 26.1664 1.94814C25.9132 1.94904 25.2075 1.96901 25.1537 1.96938C24.8319 1.97138 23.6925 1.95838 23.4652 1.9612C23.3232 1.96301 23.4582 1.98378 23.3314 1.98281C23.2135 1.98187 23.3356 1.9618 23.3006 1.96096C23.0107 1.95368 20.808 1.98001 20.285 1.96108C20.6047 1.96676 22.1999 1.92665 22.1678 1.91249C22.1609 1.91055 21.7732 1.89528 21.6932 1.90273C21.5611 1.88534 21.1074 1.93827 20.8607 1.92787C20.8328 1.92669 20.9427 1.89701 20.5023 1.89162C20.3506 1.88978 19.9533 1.91292 19.5535 1.88698C18.9748 1.89944 15.9317 1.86094 15.723 1.89284C15.7168 1.89452 16.1453 1.90551 15.8558 1.9186C15.4709 1.936 15.8165 1.87739 15.368 1.87233C15.3004 1.87156 14.0524 1.87749 14.0115 1.88112C13.6336 1.91401 14.7241 1.92735 14.7088 1.93117C14.6708 1.9408 13.7647 1.94662 13.7278 1.94435C13.6928 1.94199 14.4318 1.89841 13.5438 1.91493C13.6455 1.92014 13.7472 1.92535 13.8489 1.93056C13.4313 1.9407 13.3915 1.91055 13.2903 1.90871C12.9758 1.90288 12.6356 1.94868 12.1316 1.89211C11.9984 1.87709 12.2196 1.86042 12.2029 1.85817C12.0429 1.83796 11.8387 1.89202 11.598 1.8517C11.5798 1.84869 12.14 1.82454 11.1609 1.82448C11.2283 1.82834 11.2957 1.83221 11.3631 1.83607C11.225 1.8447 10.2338 1.84983 10.1004 1.84779C9.71081 1.84183 10.0506 1.81408 9.65899 1.8174C9.91013 1.85543 8.7194 1.86039 8.78789 1.82765C8.62158 1.86877 7.61006 1.83705 7.13457 1.83607C6.83454 1.83549 6.22256 1.85343 6.12724 1.85133C6.01111 1.84876 6.0464 1.82071 5.83671 1.81447C5.77691 1.81268 5.15269 1.83325 4.60477 1.80421C4.49858 1.79862 4.27557 1.75104 4.47294 1.73914C4.81076 1.7188 5.44984 1.75713 5.44169 1.72901C5.43211 1.69894 4.57133 1.71682 4.33964 1.7129C3.26999 1.69474 3.88765 1.66277 3.86014 1.65308C3.78881 1.62956 3.20435 1.63029 3.17997 1.62818C3.07889 1.61879 3.49305 1.60017 3.4993 1.58582C3.50685 1.56713 2.94349 1.5334 3.07157 1.5271C3.2549 1.51815 3.77263 1.54627 3.80546 1.54492C4.23275 1.52679 3.64705 1.48361 3.48563 1.4624C3.4367 1.45587 3.63167 1.44515 3.5911 1.44323C2.97178 1.41419 3.46055 1.50392 3.04862 1.49792C2.68109 1.49258 3.15397 1.46421 3.13993 1.46264C3.12178 1.46093 2.68235 1.45938 2.61356 1.44934C2.57965 1.44431 3.72181 1.38912 3.67411 1.36437C3.30969 1.36983 2.94526 1.37528 2.58084 1.38073C2.55227 1.34847 3.07643 1.37222 3.13065 1.36889C3.23979 1.36222 2.93546 1.34589 2.94852 1.33569C2.95553 1.3292 3.31271 1.30604 2.99002 1.2965C2.87912 1.2932 2.64638 1.31583 2.24246 1.29272C3.64816 1.2632 2.67403 1.24506 2.6326 1.23363C2.59201 1.2222 3.2631 1.1953 2.44852 1.20006C2.4132 1.13727 2.46608 1.18021 2.69754 1.16918C2.98109 1.15561 2.32575 1.13493 3.36209 1.15062C3.30314 1.12122 2.47016 1.1233 2.42606 1.12096C2.38798 1.11883 2.57313 1.10437 2.50711 1.09947C1.72622 1.04267 2.26258 1.06861 2.03641 1.03233C2.01629 1.02909 1.27823 1.01564 1.84012 1.01036C2.8638 1.00075 3.29163 1.04241 3.46366 0.953348C2.70647 0.91466 1.78904 0.972149 1.55887 0.973124C1.20656 0.974527 1.57152 0.956363 1.52811 0.951273C1.51303 0.949628 1.20943 0.951128 1.20535 0.949686C0.988868 0.881755 2.5569 0.948558 3.05057 0.936746C2.91825 0.926573 2.78592 0.9164 2.6536 0.906227C2.83312 0.90582 3.01265 0.905413 3.19217 0.905006C2.33692 0.884557 3.16202 0.897264 3.37528 0.84226C3.42316 0.829901 2.86128 0.851096 3.50223 0.816746C3.0295 0.808817 3.18028 0.797579 2.75223 0.813084C2.76328 0.791037 3.72637 0.766167 4.10624 0.754854C2.76427 0.730079 3.52954 0.810947 2.36942 0.76816C2.15428 0.79546 2.70803 0.790145 2.66287 0.794651C2.50087 0.810853 2.12108 0.785127 1.66287 0.841894C1.58826 0.851214 1.90396 0.879902 1.4368 0.878516C1.38513 0.87832 1.08745 0.853803 1.09158 0.852026C1.13104 0.832825 1.42561 0.84002 1.43777 0.832006C1.44919 0.824418 1.12055 0.828981 1.11941 0.826878C1.10932 0.802824 1.39362 0.817685 1.35232 0.810154C1.26315 0.793776 0.0810409 0.742012 1.62381 0.757174C0.342376 0.784369 1.45975 0.783734 1.95877 0.773287C2.08603 0.770668 2.11826 0.7563 2.29959 0.751314C2.53285 0.744856 2.80585 0.751753 2.92655 0.749117C3.05636 0.74621 2.31879 0.712247 3.38553 0.722382C2.84263 0.688599 1.88367 0.724617 1.35037 0.700897C0.274427 0.652965 2.10057 0.642674 2.2908 0.638028C2.34149 0.63677 2.17157 0.617366 2.20535 0.616177C2.2606 0.614354 3.29701 0.623323 3.3992 0.607266C3.50112 0.591222 3.01959 0.608005 2.98758 0.591274C2.96588 0.58001 4.21616 0.560031 3.53934 0.552332C3.07285 0.547054 2.21298 0.592327 2.06815 0.543665C2.75418 0.539636 3.44022 0.535608 4.12626 0.531579C3.75077 0.513065 3.37528 0.49455 2.99979 0.476035C3.76979 0.470163 4.43546 0.491066 5.16679 0.46456C3.40944 0.405232 5.73738 0.417213 5.76298 0.409993C5.77155 0.405675 5.07984 0.357519 4.96854 0.348711C5.58147 0.330186 7.44393 0.321134 6.35429 0.261672C6.55207 0.275098 7.03102 0.241956 7.0247 0.239454C6.96388 0.213185 5.91927 0.230219 6.08964 0.206494C6.28708 0.178961 6.56374 0.216313 6.86748 0.21333C8.4261 0.197779 7.99849 0.0606438 9.56133 0.0823439C9.53024 0.077461 9.49916 0.0725779 9.46807 0.067695C11.1668 0.0754673 12.8655 0.0832395 14.5643 0.0910117C15.2289 0.0491332 16.9977 0.0236321 17.8665 0.0282655C18.0415 0.0291679 18.9004 0.0511468 18.9652 0.0550001C19.0852 0.0623848 18.4252 0.0652025 18.7235 0.0790487C18.7864 0.0818908 20.2405 0.0911259 20.1366 0.0676959C19.9736 0.0649793 19.4637 0.0767569 19.3802 0.071236C18.7939 0.0318304 23.2768 0.0633116 23.4989 0.0474317C23.3996 0.0398224 23.3003 0.0322131 23.201 0.0246037C23.4839 0.0283474 23.7668 0.0320911 24.0496 0.0358347Z' fill='%238E6B0A'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

/* Inactive hover */
.mg-pkghero__tab:not(.mg-pkghero__tab--active):hover {
  color: var(--mg-gold-dark);
}

/* Vertical separator between tabs */
.mg-pkghero__sep {
  display: block;
  width: 1px;
  height: clamp(50px, 6.198vw, 119px);
  background: #000000;
  flex-shrink: 0;
}

/* ── Tablet (768–1024px) ── */
@media (min-width: 768px) and (max-width: 1024px) {
  .mg-pkghero__content {
    width: clamp(360px, 50vw, 550px);
    margin-right: clamp(20px, 3.125vw, 32px);
  }

  .mg-pkghero__tab {
    font-size: clamp(20px, 2.734vw, 28px);
    padding: 0 clamp(8px, 0.977vw, 10px);
  }
}

/* ── Mobile (≤767px) ── */
@media (max-width: 767px) {
  .mg-pkghero {
    height: auto;
    min-height: clamp(600px, 318.182vw, 1400px);
    background-image: url('https://mayfairgrand.co.uk/wp-content/uploads/2026/09/bride-mobile-scaled.webp');
    background-position: center bottom;
    align-items: flex-start;
  }

  /* Mobile gradient: white top → transparent bottom */
  .mg-pkghero__overlay {
    background: linear-gradient(to bottom, #FFFFFF 0%, rgba(255,255,255,0.07) 64.82%);
    mix-blend-mode: lighten;
  }

  .mg-pkghero__content {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding: clamp(40px, 11.364vw, 50px) clamp(16px, 5.682vw, 25px) 0;
  }

  .mg-pkghero__eyebrow {
    font-size: clamp(11px, 3.182vw, 14px);
    letter-spacing: 0.1em;
    margin-bottom: clamp(8px, 2.273vw, 10px);
  }

  .mg-pkghero__heading {
    font-size: clamp(24px, 7.273vw, 32px);
    line-height: clamp(28px, 8.182vw, 36px);
    max-width: none;
    margin-bottom: clamp(20px, 6.818vw, 30px);
  }

  .mg-pkghero__subtext {
    font-size: clamp(16px, 4.091vw, 18px);
    line-height: clamp(32px, 7.955vw, 35px);
    font-weight: 300;
    text-align: justify;
    letter-spacing: -0.02em;
    max-width: none;
    margin-bottom: clamp(20px, 6.818vw, 30px);
  }

  .mg-pkghero__ornament {
    width: clamp(280px, 88.636vw, 390px);
    height: 15px;
    flex-shrink: 0;
  }

  .mg-pkghero__ornament img {
    height: 15px;
    object-fit: contain;
  }

  .mg-pkghero__ornament--top    { margin-bottom: clamp(16px, 6.818vw, 30px); }
  .mg-pkghero__ornament--bottom { margin-top: clamp(24px, 7.955vw, 35px); margin-bottom: clamp(60px, 18.182vw, 80px); }

  /* Mobile: tabs stack vertically */
  .mg-pkghero__tabs {
    flex-direction: column;
    gap: 0;
    width: 100%;
  }

  .mg-pkghero__tab {
    font-size: clamp(28px, 8.182vw, 36px);
    line-height: clamp(32px, 9.091vw, 40px);
    padding: clamp(24px, 7.273vw, 32px) 0 0;
    width: 100%;
  }

  .mg-pkghero__tabs .mg-pkghero__tab:first-child {
    padding-top: 0;
  }

  .mg-pkghero__tabs .mg-pkghero__tab:last-child {
    padding-bottom: 0;
  }

  .mg-pkghero__sep {
    margin-top: clamp(24px, 7.273vw, 32px);
  }

  .mg-pkghero__tab--active::after {
    width: clamp(70px, 22.727vw, 100px);
    height: 2px;
    bottom: -4px;
  }

  /* Horizontal separators between tabs on mobile */
  .mg-pkghero__sep {
    width: clamp(260px, 70.455vw, 310px);
    height: 1px;
    background: #000000;
  }
}


/* ═══════════════════════════════════════════════════════
   WEDDING PACKAGES — Crafted for Perfection / Included (.mg-pcp)
═══════════════════════════════════════════════════════ */

/* ── White header ── */
.mg-pcp__header {
  background: #ffffff;
  text-align: center;
  padding: clamp(40px, 4.219vw, 81px) clamp(20px, 10.417vw, 200px) clamp(0px, 0vw, 0px);
}

.mg-pcp__eyebrow {
  font-family: var(--mg-font-body);
  font-weight: 500;
  font-size: clamp(13px, 1.042vw, 20px);
  line-height: 1.2;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--mg-gold-dark);
  margin: 0 0 clamp(8px, 0.625vw, 12px);
}

.mg-pcp__heading {
  font-family: var(--mg-font-heading);
  font-weight: 300;
  font-size: clamp(26px, 2.5vw, 48px);
  line-height: clamp(30px, 2.76vw, 53px);
  text-align: center;
  text-transform: uppercase;
  color: var(--mg-brown-heading);
  margin: 0 auto;
  max-width: clamp(300px, 28.177vw, 541px);
}

/* ── Cream band ── */
.mg-pcp__band {
  background: #F4F2ED;
  margin-top: clamp(30px, 2.344vw, 45px);
}

.mg-pcp__band-inner {
  display: flex;
  align-items: flex-start;
  gap: clamp(30px, 9.167vw, 176px);
  padding: clamp(30px, 2.656vw, 51px) clamp(20px, 10.417vw, 200px);
}

.mg-pcp__label {
  flex-shrink: 0;
  width: clamp(160px, 14.583vw, 280px);
}

.mg-pcp__label-text {
  font-family: var(--mg-font-heading);
  font-weight: 500;
  font-size: clamp(20px, 1.875vw, 36px);
  line-height: clamp(26px, 2.083vw, 40px);
  text-transform: uppercase;
  color: var(--mg-gold-dark);
  margin: 0;
}

.mg-pcp__label-text--mobile { display: none; }

@media (max-width: 767px) {
  .mg-pcp__label-text--desktop { display: none; }
  .mg-pcp__label-text--mobile  { display: block; }
}

/* ── Bullet list: 3 cols desktop ── */
.mg-pcp__list {
  flex: 1;
  list-style: none;
  padding: 0;
  margin: 0;
  columns: 3;
  column-gap: clamp(20px, 2.083vw, 40px);
}

.mg-pcp__list li {
  font-family: var(--mg-font-body);
  font-weight: 300;
  font-size: clamp(13px, 1.094vw, 21px);
  line-height: clamp(20px, 1.302vw, 25px);
  color: #000000;
  margin-bottom: clamp(20px, 2.083vw, 40px);
  break-inside: avoid;
  padding-left: clamp(14px, 0.938vw, 18px);
  position: relative;
}

.mg-pcp__list li:last-child { margin-bottom: 0; }

.mg-pcp__list li::before {
  content: '•';
  position: absolute;
  left: 0;
  top: 0;
  color: #000000;
}

/* ── Tablet ── */
@media (min-width: 768px) and (max-width: 1024px) {
  .mg-pcp__band-inner {
    gap: 24px;
    padding: 30px clamp(16px, 2.344vw, 24px);
  }

  .mg-pcp__label {
    width: clamp(120px, 13.672vw, 140px);
  }

  .mg-pcp__list {
    columns: 3;
    column-gap: 16px;
  }

  .mg-pcp__list li {
    font-size: clamp(13px, 1.563vw, 16px);
    margin-bottom: 20px;
  }
}

/* ── Mobile (≤767px) ── */
/* Desktop list hidden on mobile, mobile list hidden on desktop */
.mg-pcp__list--mobile { display: none; }

@media (max-width: 767px) {
  .mg-pcp__list { display: none; }
  .mg-pcp__list--mobile { display: grid; }

  .mg-pcp__header {
    padding: clamp(35px, 11.364vw, 50px) clamp(16px, 5.682vw, 25px) clamp(0px, 0vw, 0px);
  }

  .mg-pcp__eyebrow {
    font-size: clamp(11px, 3.182vw, 14px);
    letter-spacing: 0.1em;
  }

  .mg-pcp__heading {
    font-size: clamp(24px, 7.273vw, 32px);
    line-height: clamp(28px, 8.182vw, 36px);
    max-width: none;
  }

  .mg-pcp__band-inner {
    flex-direction: column;
    gap: 0px;
    padding: clamp(20px, 6.136vw, 27px) clamp(12px, 3.409vw, 15px) clamp(38px, 13.182vw, 58px);
  }

  .mg-pcp__label {
    width: 100%;
    text-align: center;
  }

  .mg-pcp__label-text {
    font-size: clamp(20px, 6.364vw, 28px);
    line-height: clamp(24px, 7.045vw, 31px);
  }

  /* Mobile label: centered, two lines */
  .mg-pcp__label {
    text-align: center;
  }

  .mg-pcp__label-text {
    font-size: clamp(20px, 6.364vw, 28px);
    line-height: clamp(24px, 7.045vw, 31px);
  }

  /* Mobile 2-col grid */
  .mg-pcp__list--mobile {
    grid-template-columns: 1fr 1fr;
    column-gap: clamp(10px, 3.409vw, 15px);
    row-gap: clamp(20px, 5.682vw, 25px);
    width: 100%;
    margin-top: clamp(30px, 8.409vw, 37px);
    list-style: none;
    padding: 0;
  }

  .mg-pcp__list--mobile li {
    font-family: var(--mg-font-body);
    font-weight: 300;
    font-size: clamp(14px, 4.091vw, 18px);
    line-height: clamp(18px, 5vw, 22px);
    color: #000000;
    padding-left: 14px;
    position: relative;
  }

  .mg-pcp__list--mobile li::before {
    content: '•';
    position: absolute;
    left: 0;
    top: 0;
    color: #000000;
  }
}

/* ═══════════════════════════════════════════════════════
   WEDDING PACKAGES — Three Package Cards (.mg-pkg)
═══════════════════════════════════════════════════════ */

.mg-pkgs-wrap {
  background: #ffffff;
  padding: clamp(40px, 4.167vw, 80px) 0 clamp(35px, 3.125vw, 60px);
}

.vc_column-inner:has(> .wpb_wrapper > .wpb_raw_html > .wpb_wrapper > .mg-pkgs-wrap) {
  padding-top: 0 !important;
}

/* ── Card ── */
.mg-pkg {
  display: flex;
  align-items: stretch;
  background: var(--mg-cream-bg);
  border-radius: 30px;
  margin: 0 clamp(20px, 10.417vw, 200px);
  overflow: hidden;
  scroll-margin-top: clamp(75px, 5.052vw, 97px);
}

@media (min-width: 768px) and (max-width: 1024px) {
  .mg-pkg {
    scroll-margin-top: 94px;   /* 70px sticky header + 24px gap */
  }
}

.mg-pkg + .mg-pkg {
  margin-top: clamp(20px, 2.604vw, 50px);
}

/* ── Image ── */
.mg-pkg__img-wrap {
  flex-shrink: 0;
  width: clamp(150px, 18.229vw, 350px);
}

.mg-pkg__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 30px 0 0 30px;
}

/* ── Content ── */
.mg-pkg__content {
  flex: 1;
  padding: clamp(16px, 1.51vw, 29px) clamp(20px, 2.604vw, 50px) clamp(20px, 2.083vw, 40px) clamp(24px, 2.708vw, 52px);
  display: flex;
  flex-direction: column;
}

/* ── Title ── */
.mg-pkg__title {
  font-family: var(--mg-font-heading);
  font-weight: 500;
  font-size: clamp(22px, 2.188vw, 42px);
  line-height: clamp(26px, 2.448vw, 47px);
  text-transform: uppercase;
  color: var(--mg-gold-dark);
  margin: 0 0 clamp(26px, 2.604vw, 50px);
}

/* ── 4-column bullet grid ── */
.mg-pkg__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  row-gap: clamp(18px, 2.083vw, 40px);
  column-gap: clamp(8px, 1.042vw, 20px);
  flex: 1;
}

.mg-pkg__list li {
  font-family: var(--mg-font-body);
  font-weight: 300;
  font-size: clamp(12px, 1.094vw, 21px);
  line-height: clamp(18px, 1.302vw, 25px);
  color: #000000;
  padding-left: clamp(10px, 0.729vw, 14px);
  position: relative;
  align-self: start;
}

.mg-pkg__list li::before {
  content: '•';
  position: absolute;
  left: 0;
  top: 0;
  color: #000000;
}

/* ── Package lists — Figma column positions (desktop ≥1025px) ──
   Column starts @1920: 0 / 282 / 602 / 907px from the content edge.
   Long items wrap at 252px. Right padding removed so column 4 gets
   the full 211px Figma allows. Mehndi card excluded (own layout). */
@media (min-width: 1025px) {
  .mg-pkg:not(.mg-pkg--mehndi) .mg-pkg__content {
    padding-right: 0;
  }

  .mg-pkg:not(.mg-pkg--mehndi) .mg-pkg__list {
    grid-template-columns: 14.6875vw 16.6667vw 15.8854vw 1fr;   /* 282 / 320 / 305 ÷19.2 */
    column-gap: 0;
  }

  .mg-pkg:not(.mg-pkg--mehndi) .mg-pkg__list li {
    max-width: 13.125vw;                                        /* 252÷19.2 wrap width */
  }
}

/* ── DIAMOND + PLATINUM cards — Figma column positions (desktop ≥1025px) ──
   Column starts @1920 from the content edge: 0 / 269 / 565 / 852px
   (Both cards share the same grid in the design) */
@media (min-width: 1025px) {
  #mg-pkg-diamond .mg-pkg__list,
  #mg-pkg-platinum .mg-pkg__list {
    grid-template-columns: 14.0104vw 15.4167vw 14.9479vw 1fr;   /* 269 / 296 / 287 ÷19.2 */
  }
}

/* ── MEHNDI card — Figma spacing (desktop ≥1025px) ── */
@media (min-width: 1025px) {
  .mg-pkg--mehndi .mg-pkg__title {
    margin-bottom: clamp(20px, 1.719vw, 33px);      /* title → "Dining": 33÷19.2 */
  }
  .mg-pkg--mehndi .mg-pkg__subheading {
    margin-bottom: clamp(14px, 1.146vw, 22px);      /* "Dining"/"Styling" → first bullet: 22÷19.2 */
  }
  .mg-pkg--mehndi .mg-pkg__group .mg-pkg__list {
    row-gap: clamp(16px, 1.302vw, 25px);            /* bullet rows: 25÷19.2 */
  }
  .mg-pkg--mehndi .mg-pkg__list li {
    max-width: 13.125vw;                            /* 252÷19.2 — same wrap width as the wedding cards */
  }
  .mg-pkg--mehndi .mg-pkg__content {
    padding-left:   clamp(24px, 3.281vw, 63px);     /* image edge → content: Figma 613 − 550 = 63px (63÷19.2) */
    padding-bottom: clamp(20px, 2.604vw, 50px);     /* Figma 51px; 1px absorbed so the card stays exactly 475px */
  }
}

/* ── Enquire button ── */
.mg-pkg__btn-wrap {
  margin-top: clamp(24px, 2.604vw, 50px);
}

.mg-pkg__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(150px, 14.063vw, 270px);
  height: clamp(44px, 3.385vw, 65px);
  border: 1.5px solid var(--mg-dark-text);
  border-radius: 5px;
  font-family: var(--mg-font-heading);
  font-weight: 500;
  font-size: clamp(14px, 1.25vw, 24px);
  line-height: 1;
  text-transform: uppercase;
  color: var(--mg-dark-text);
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: background 0.25s ease, color 0.25s ease;
}

.mg-pkg__btn:hover {
  background: var(--mg-dark-text);
  color: #E5C876;
}

/* ── Tablet (768–1024px) ── */
@media (min-width: 768px) and (max-width: 1024px) {
  .mg-pkg__img-wrap {
    width: clamp(120px, 15.625vw, 160px);
  }

  .mg-pkg__list {
    grid-template-columns: repeat(3, 1fr);
    row-gap: 18px;
  }

  .mg-pkg__list li {
    font-size: clamp(12px, 1.563vw, 16px);
  }
}

/* Desktop list hidden on mobile, mobile list hidden on desktop */
.mg-pkg__list--mobile  { display: none; }
.mg-pkg__img--mobile   { display: none !important; }
.mg-pkg__img--desktop  { display: block; }

/* ── Mobile (≤767px) ── */
@media (max-width: 767px) {
  .mg-pkgs-wrap {
    padding: clamp(30px, 11.364vw, 50px) 0 clamp(24px, 5.455vw, 24px);
  }

  .mg-pkg {
    flex-direction: column;
    border-radius: 20px;
    margin: 0 clamp(16px, 5.682vw, 25px);
    scroll-margin-top: 94px;   /* 70px sticky header + 24px gap */
  }
/* Stack cards with spacing */
  .mg-pkg + .mg-pkg {
    margin-top: clamp(28px, 7.955vw, 35px);
  }

  /* Image: full width, stacks on top */
  .mg-pkg__img-wrap {
    width: 100%;
    height: clamp(200px, 62.045vw, 273px);
  }

  .mg-pkg__img-wrap img {
    border-radius: 20px 20px 0 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
  }

  .mg-pkg__content {
    padding: clamp(16px, 4.545vw, 20px) clamp(8px, 3.409vw, 15px) clamp(35px, 11.818vw, 52px);
  }

  .mg-pkg__title {
    font-size: clamp(18px, 5.455vw, 24px);
    line-height: clamp(22px, 6.136vw, 27px);
    text-align: center;
    margin-bottom: clamp(14px, 5.682vw, 25px);
  }

  /* Hide desktop list + desktop image on mobile */
  .mg-pkg__list          { display: none; }
  .mg-pkg__img--desktop  { display: none !important; }
  .mg-pkg__img--mobile   { display: block !important; width: 100%; height: clamp(200px, 62.045vw, 273px); object-fit: cover; border-radius: 20px 20px 0 0; }
  .mg-pkg__list--mobile  { display: grid; }

  /* Mobile 2-column grid */
  .mg-pkg__list--mobile {
    grid-template-columns: repeat(2, 1fr);
    row-gap: clamp(18px, 5.682vw, 25px);
    column-gap: clamp(6px, 2.273vw, 10px);
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .mg-pkg__list--mobile li {
    font-family: var(--mg-font-body);
    font-weight: 300;
    font-size: clamp(13px, 4.091vw, 18px);
    line-height: clamp(18px, 5vw, 22px);
    color: #000000;
    padding-left: 12px;
    position: relative;
    align-self: start;
  }

  .mg-pkg__list--mobile li::before {
    content: '•';
    position: absolute;
    left: 0;
    top: 0;
    color: #000000;
  }

  .mg-pkg__btn-wrap {
    margin-top: clamp(18px, 5.682vw, 25px);
    text-align: center;
  }

  .mg-pkg__btn {
    width: clamp(160px, 45.455vw, 200px);
    height: clamp(48px, 13.636vw, 60px);
    font-size: clamp(14px, 4.545vw, 20px);
  }
}


/* ═══════════════════════════════════════════════════════
   MEHNDI PAGE — What's Included + Package Card
═══════════════════════════════════════════════════════ */

/* ── Grouped layout (Dining + Styling side by side) ── */
.mg-pkg__groups {
  display: flex;
  gap: clamp(20px, 3.125vw, 60px);
  flex: 1;
  align-items: flex-start;
}

.mg-pkg__group {
  display: flex;
  flex-direction: column;
}

.mg-pkg__group--dining {
  flex: 2;
}

.mg-pkg__group--styling {
  flex: 1;
}

.mg-pkg__subheading {
  font-family: var(--mg-font-body);
  font-weight: 600;
  font-size: clamp(16px, 1.25vw, 24px);
  line-height: clamp(20px, 1.51vw, 29px);
  color: #000000;
  margin: 0 0 clamp(14px, 1.302vw, 25px);
}

/* Dining: 2-col grid */
.mg-pkg__group--dining .mg-pkg__list {
  grid-template-columns: repeat(2, 1fr);
  row-gap: clamp(16px, 1.354vw, 26px);
  flex: none;
}

/* Styling: 1-col */
.mg-pkg__group--styling .mg-pkg__list {
  grid-template-columns: 1fr;
  row-gap: clamp(16px, 1.354vw, 26px);
  flex: none;
}

/* Mehndi card — Figma column positions (desktop only) */
@media (min-width: 1025px) {
  .mg-pkg--mehndi .mg-pkg__groups {
    gap: 0 !important;
  }
  .mg-pkg--mehndi .mg-pkg__group--dining {
    flex: 0 0 auto !important;
  }
  .mg-pkg--mehndi .mg-pkg__group--dining .mg-pkg__list--mehndi-desktop {
    grid-template-columns: clamp(200px, 15.833vw, 304px) clamp(160px, 12.708vw, 244px) !important;
    column-gap: 0 !important;
  }
  .mg-pkg--mehndi .mg-pkg__group--styling {
    flex: 1 1 0% !important;
  }
}

/* ── Mobile ── */
@media (max-width: 767px) {
  .mg-pkg__groups {
    flex-direction: column;
    gap: clamp(18px, 5.682vw, 25px);
    width: 100%;
    align-items: center;
  }

  .mg-pkg__group {
    width: 100%;
  }

  .mg-pkg__subheading {
    font-size: clamp(16px, 4.545vw, 20px);
    line-height: clamp(20px, 5.455vw, 24px);
    text-align: center;
    width: 100%;
    margin-bottom: clamp(10px, 2.727vw, 12px);
  }

  .mg-pkg__group--dining .mg-pkg__list,
  .mg-pkg__group--styling .mg-pkg__list {
    grid-template-columns: repeat(2, 1fr);
    row-gap: clamp(20px, 5.682vw, 25px);
  }
}

.mg-mehndi-heading--mobile { display: none; }

/* Footer contact card — body text fills card on larger phones */
@media (min-width: 441px) and (max-width: 767px) {
  .mg-contact-body-text {
    max-width: 100% !important;
  }
}

@media (max-width: 767px) {
  .mg-mehndi-heading--desktop { display: none; }
  .mg-mehndi-heading--mobile  { display: block; }
}

.mg-pkg__list--mehndi-mobile { display: none; }

@media (max-width: 767px) {
  .mg-pkg__list--mehndi-desktop { display: none !important; }
  .mg-pkg__list--mehndi-mobile  { display: grid !important; grid-template-columns: repeat(2, 1fr); column-gap: clamp(50px, 17.955vw, 79px); }

  .mg-pkg__group--styling .mg-pkg__list--mehndi-mobile {
    grid-template-columns: repeat(2, 1fr);
    column-gap: clamp(50px, 17.955vw, 79px);
  }

  .mg-pkg--mehndi .mg-pkg__list--mehndi-mobile li {
    font-size: clamp(16px, 4.091vw, 18px);
    line-height: 1;
    letter-spacing: 0;
    font-weight: 300;
  }
}

.mg-pcp__header--mehndi {
  padding-top: clamp(60px, 5.208vw, 100px);
}

.mg-pcp__header--mehndi .mg-pcp__heading {
  max-width: clamp(400px, 33.854vw, 650px);
}

.mg-pkg--mehndi {
  max-height: clamp(350px, 24.74vw, 475px);
}

@media (max-width: 767px) {
  .mg-pkg--mehndi {
    max-height: none;
  }

  .mg-pkg--mehndi .mg-pkg__content {
    padding: clamp(14px, 4.545vw, 20px) clamp(8px, 3.409vw, 15px) clamp(16px, 4.545vw, 20px) !important;
  }
}

@media (max-width: 767px) {
  .mg-pcp__header--mehndi {
    padding-top: clamp(36px, 11.364vw, 50px);
  }
}

.mg-pcp__header--mehndi + .mg-pkgs-wrap {
  padding-top: clamp(30px, 2.604vw, 50px);
}

@media (max-width: 767px) {
  .mg-pcp__header--mehndi + .mg-pkgs-wrap {
    padding-top: clamp(24px, 7.955vw, 35px);
  }
}

/* ================================================================
   MEHNDI PAGE — Explore the Mehndi Hall Gallery (.mg-mgallery)
   Desktop: absolute masonry, no sidebar, no nav
   Mobile: auto-slide Swiper, 402px slides h:500px
================================================================ */

.mg-mgallery {
  background-color: var(--mg-cream-bg);
  position:         relative;
  overflow-x:       hidden;
  overflow-y:       visible;
}

/* ── Header ── */
.mg-mgallery__header {
  display:       flex;
  align-items:   flex-start;
  padding-left:  clamp(20px, 10.417vw, 200px);
  padding-right: clamp(20px, 10.417vw, 200px);
  padding-top:   clamp(36px, 3.073vw, 59px);
  gap:           clamp(20px, 8.021vw, 154px);
}

.mg-mgallery__header-left {
  flex-shrink: 0;
  width:       clamp(280px, 33.854vw, 650px);
}

.mg-mgallery__eyebrow {
  font-family:    var(--mg-font-body);
  font-weight:    500;
  font-size:      clamp(13px, 1.042vw, 20px);
  letter-spacing: 0.15em;
  color:          var(--mg-gold-dark);
  text-transform: uppercase;
  margin:         0 0 clamp(8px, 0.625vw, 12px);
}

.mg-mgallery__heading {
  font-family:    var(--mg-font-heading);
  font-weight:    300;
  font-size:      clamp(28px, 2.500vw, 48px);
  line-height:    clamp(32px, 2.760vw, 53px);
  color:          var(--mg-brown-heading);
  text-transform: uppercase;
  margin:         0;
}

.mg-mgallery__intro {
  font-family:  var(--mg-font-body);
  font-weight:  300;
  font-size:    clamp(15px, 1.146vw, 22px);
  line-height:  clamp(24px, 1.875vw, 36px);
  color:        var(--mg-dark-text);
  text-align:   justify;
  max-width:    clamp(400px, 37.292vw, 716px);
  margin:       0;
  padding-top:  clamp(4px, 0.469vw, 9px);
}

/* ── Desktop masonry grid ── */
.mg-mgallery__grid-wrap {
  position:   relative;
  margin:     clamp(40px, 3.906vw, 75px) clamp(20px, 10.417vw, 200px) clamp(40px, 3.906vw, 75px);
  height:     clamp(500px, 53.055vw, 1019px);
}

.mg-mgallery__grid {
  position: relative;
  width:    100%;
  height:   100%;
}

.mg-mgallery__item {
  position:      absolute;
  border-radius: clamp(8px, 0.781vw, 15px);
  overflow:      hidden;
  cursor:        pointer;
  transition:    transform 300ms ease, box-shadow 300ms ease;
}

.mg-mgallery__item:hover {
  transform:  scale(1.02);
  box-shadow: 0 8px 32px rgba(0,0,0,0.18);
  z-index:    2;
}

.mg-mgallery__item img {
  width:      100%;
  height:     100%;
  object-fit: cover;
  display:    block;
}

/* Figma positions converted to vw (÷19.2), relative to grid container */
/* All positions relative to grid container (figma_left-200 ÷19.2, figma_top-2813 ÷19.2) */
.mg-mgallery__item.mgi1 { left: 0;          top: 0;          width: 34.669vw; height: 38.630vw; } /* Rect 128: 665.65×741.69 */
.mg-mgallery__item.mgi2 { left: 35.158vw;   top: 0;          width: 20.048vw; height: 25.867vw; } /* Rect 122: 384.93×496.65 */
.mg-mgallery__item.mgi3 { left: 55.695vw;   top: 0;          width: 23.471vw; height: 14.670vw; } /* Rect 123: 450.65×281.66 */
.mg-mgallery__item.mgi4 { left: 0;          top: 39.119vw;   width: 17.115vw; height: 13.936vw; } /* Rect 129: 328.6×267.57 */
.mg-mgallery__item.mgi5 { left: 17.604vw;   top: 39.119vw;   width: 17.065vw; height: 13.936vw; } /* Rect 130: 327.66×267.57 */
.mg-mgallery__item.mgi6 { left: 35.158vw;   top: 26.356vw;   width: 20.048vw; height: 26.698vw; } /* Rect 126: 384.93×512.61 */
.mg-mgallery__item.mgi7 { left: 55.695vw;   top: 15.158vw;   width: 23.471vw; height: 21.760vw; } /* Rect 124: 450.65×417.79 */
.mg-mgallery__item.mgi8 { left: 55.695vw;   top: 37.407vw;   width: 23.471vw; height: 15.647vw; } /* Rect 125: 450.65×300.43 */

/* ── View All button ── */
.mg-mgallery__btn-wrap {
  text-align:  center;
  padding:     clamp(1px, 1vw, 1px) 0 clamp(36px, 3.333vw, 64px);
}

.mg-mgallery__btn {
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  width:           clamp(200px, 15.625vw, 300px);
  height:          clamp(50px, 3.385vw, 65px);
  border:          1.5px solid var(--mg-dark-text);
  border-radius:   5px;
  font-family:     var(--mg-font-heading);
  font-weight:     500;
  font-size:       clamp(16px, 1.25vw, 24px);
  line-height:     1;
  text-transform:  uppercase;
  color:           var(--mg-dark-text);
  text-decoration: none;
  letter-spacing:  0.02em;
  transition:      background 0.25s ease, color 0.25s ease;
}

.mg-mgallery__btn:hover {
  background: var(--mg-dark-text);
  color:      #E5C876;
}

/* ── Desktop only ── */
@media (min-width: 1025px) {
  .mg-mgallery__mobile { display: none !important; }
}

/* ── Mobile / Tablet (≤1024px) ── */
@media (max-width: 1024px) {

  .mg-mgallery__header {
    flex-direction: column;
    align-items:    center;
    text-align:     center;
    padding:        clamp(28px, 7.273vw, 32px) 25px clamp(20px, 6.818vw, 30px);
    gap:            clamp(16px, 6.818vw, 30px);
  }

  .mg-mgallery__header-left {
    width:          100%;
    display:        flex;
    flex-direction: column;
    align-items:    center;
  }

  .mg-mgallery__eyebrow {
    font-size:      14px;
    letter-spacing: 0.10em;
    margin-bottom:  clamp(10px, 2.727vw, 12px);
  }

  .mg-mgallery__heading {
    font-size:   clamp(26px, 7.273vw, 32px);
    line-height: 36px;
    text-align:  center;
    max-width:   100%;
  }

  .mg-mgallery__intro {
    font-size:   clamp(16px, 4.091vw, 18px);
    line-height: clamp(28px, 7.955vw, 35px);
    text-align:  justify;
    max-width:   100%;
    padding-top: 0;
  }

  /* Hide desktop masonry */
  .mg-mgallery__grid-wrap { display: none; }

  /* Mobile Swiper */
  .mg-mgallery__mobile {
    display:  block;
    position: relative;
  }

  .mg-mgallery__swiper {
    width:       100%;
    height:      clamp(350px, 113.636vw, 500px);
    overflow:    visible;
    padding-left: 25px;
    box-sizing:  border-box;
  }

  .mg-mgallery__swiper .swiper-wrapper {
    padding-right: 25px;
  }

  .mg-mgallery__swiper .swiper-slide {
    width:         clamp(300px, 91.364vw, 402px) !important;
    height:        100%;
    border-radius: clamp(10px, 3.409vw, 20px);
    overflow:      hidden;
    flex-shrink:   0;
  }

  .mg-mgallery__swiper .swiper-slide img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    display:    block;
  }

  /* View All button mobile */
  .mg-mgallery__btn-wrap {
    padding: clamp(24px, 5.682vw, 25px) 0 clamp(24px, 5.682vw, 25px);
  }

  .mg-mgallery__btn {
    width:  clamp(160px, 45.455vw, 200px);
    height: clamp(48px, 13.636vw, 60px);
    font-size: clamp(14px, 4.545vw, 20px);
  }
}


/* ================================================================
   ADDITIONAL SERVICES — Tabbed Services Section (.mg-addsvcs)
   4 tabs: Entertainment | Special Effects | Food & Drink | Finishing Touches
   Desktop: image LEFT + content RIGHT
   Mobile: stacked (user to refine with Figma mobile details)
================================================================ */

.mg-addsvcs {
  background: var(--mg-cream-bg);
  position: relative;
}

/* ── Tab bar ── */
.mg-addsvcs__tabbar {
  background: #D9CFC2;
  height: clamp(56px, 4.635vw, 89px);
  display: flex;
  align-items: stretch;
  padding: 0 clamp(20px, 10.417vw, 200px);
}

.mg-addsvcs__tab {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-family: var(--mg-font-heading);
  font-weight: 300;
  font-size: clamp(14px, 1.667vw, 32px);
  line-height: 1.125;
  text-align: center;
  text-transform: uppercase;
  color: var(--mg-brown-heading);
  background: transparent;
  border: none;
  padding: 0 clamp(6px, 0.521vw, 10px);
  transition: background 0.2s ease, color 0.2s ease;
  white-space: nowrap;
}

.mg-addsvcs__tab--active {
  background: #3D3D3D;
  color: var(--mg-gold-bright);
}

.mg-addsvcs__tab:not(.mg-addsvcs__tab--active):hover {
  background: rgba(61, 61, 61, 0.08);
}

/* ── Panels: hidden by default ── */
.mg-addsvcs__panel {
  display: none;
  padding: clamp(30px, 3.385vw, 65px) clamp(20px, 10.417vw, 200px) clamp(40px, 4.167vw, 76px);
  gap: clamp(30px, 3.125vw, 60px);
  align-items: flex-start;
}

.mg-addsvcs__panel--active {
  display: flex;
}

/* Food & Drink: two-column flex */
.mg-addsvcs__panel--food {
  display: none;
}

.mg-addsvcs__panel--food.mg-addsvcs__panel--active {
  display: flex;
  align-items: flex-start;
  gap: clamp(30px, 3.125vw, 60px);
  padding-top: clamp(30px, 3.385vw, 65px);
  padding-bottom: clamp(40px, 4.167vw, 80px);
  padding-left: clamp(20px, 10.417vw, 200px) !important;
  padding-right: clamp(20px, 10.417vw, 200px) !important;
}

.mg-addsvcs__food-images {
  flex-shrink: 0;
  width: clamp(280px, 36.458vw, 700px);
  display: flex;
  flex-direction: column;
  gap: clamp(10px, 0.781vw, 15px);
}

.mg-addsvcs__food-images .mg-addsvcs__img {
  width: 100%;
}

.mg-addsvcs__food-content {
  flex: 1;
  min-width: 0;
}

.mg-addsvcs__panel--food .mg-addsvcs__eyebrow {
  padding-top: clamp(18px, 1.510vw, 29px);
}

/* ── Image ── */
.mg-addsvcs__img-wrap {
  flex-shrink: 0;
  width: clamp(280px, 36.458vw, 700px);
}

.mg-addsvcs__img {
  width: 100%;
  object-fit: cover;
  border-radius: clamp(15px, 1.823vw, 35px);
  display: block;
}

.mg-addsvcs__img--700  { height: clamp(360px, 36.458vw, 700px); }
.mg-addsvcs__img--730  { height: clamp(380px, 38.021vw, 730px); }
.mg-addsvcs__img--670  { height: clamp(340px, 34.896vw, 670px); }

/* ── Content column ── */
.mg-addsvcs__content {
  flex: 1;
  min-width: 0;
}

.mg-addsvcs__eyebrow {
  font-family: var(--mg-font-body);
  font-weight: 500;
  font-size: clamp(12px, 1.042vw, 20px);
  letter-spacing: 0.15em;
  color: var(--mg-gold-dark);
  text-transform: uppercase;
  margin: 0 0 clamp(8px, 0.625vw, 12px);
  padding-top: clamp(18px, 1.510vw, 29px);
}

.mg-addsvcs__panel--active#mg-addsvcs-entertainment .mg-addsvcs__eyebrow {
  padding-top: clamp(24px, 2.135vw, 41px);
}

.mg-addsvcs__heading {
  font-family: var(--mg-font-heading);
  font-weight: 300;
  font-size: clamp(22px, 2.5vw, 48px);
  line-height: clamp(26px, 2.760vw, 53px);
  text-transform: uppercase;
  color: var(--mg-brown-heading);
  margin: 0 0 clamp(16px, 1.563vw, 30px);
}

.mg-addsvcs__desc {
  font-family: var(--mg-font-body);
  font-weight: 300;
  font-size: clamp(14px, 1.146vw, 22px);
  line-height: clamp(22px, 1.875vw, 36px);
  color: var(--mg-dark-text);
  text-align: justify;
  margin: 0 0 clamp(16px, 1.823vw, 35px);
}

/* Subheading (Available services / group names) */
.mg-addsvcs__subheading {
  font-family: var(--mg-font-body);
  font-weight: 600;
  font-size: clamp(15px, 1.25vw, 24px);
  line-height: clamp(20px, 1.51vw, 29px);
  color: #000000;
  margin: 0 0 clamp(14px, 1.563vw, 30px);
}

.mg-addsvcs__subheading + .mg-addsvcs__subheading {
  margin-top: clamp(20px, 1.823vw, 35px);
}

/* ── Bullet grid: 3 columns ── */
.mg-addsvcs__list {
  list-style: none;
  padding: 0;
  margin: 0 0 clamp(20px, 1.823vw, 35px);
  display: grid;
  grid-template-columns: clamp(180px, 13.021vw, 250px) clamp(160px, 10.417vw, 200px) 1fr;
  row-gap: clamp(16px, 2.302vw, 28px);
  column-gap: clamp(40px, 4.688vw, 90px);
}

.mg-addsvcs__list:last-of-type {
  margin-bottom: 0;
}

.mg-addsvcs__list li {
  font-family: var(--mg-font-body);
  font-weight: 300;
  font-size: clamp(12px, 1.094vw, 21px);
  line-height: clamp(18px, 1.302vw, 25px);
  color: #000000;
  padding-left: clamp(10px, 0.729vw, 14px);
  position: relative;
  align-self: start;
}

.mg-addsvcs__list li::before {
  content: '•';
  position: absolute;
  left: 0;
  top: 0;
  color: #000000;
}

/* ── Enquire button ── */
.mg-addsvcs__btn-wrap {
  margin-top: clamp(28px, 2.344vw, 45px);
}

.mg-addsvcs__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(160px, 14.063vw, 270px);
  height: clamp(48px, 3.385vw, 65px);
  border: 1.5px solid var(--mg-dark-text);
  border-radius: 5px;
  font-family: var(--mg-font-heading);
  font-weight: 500;
  font-size: clamp(14px, 1.25vw, 24px);
  text-transform: uppercase;
  color: var(--mg-dark-text);
  text-decoration: none;
  transition: background 0.25s ease, color 0.25s ease;
  letter-spacing: 0.02em;
}

.mg-addsvcs__btn:hover {
  background: var(--mg-dark-text);
  color: #E5C876;
}

.mg-addsvcs__list--finishing {
  grid-template-columns: repeat(3, 1fr);
  column-gap: clamp(25px, 2.510vw, 48px);
  row-gap: clamp(16px, 1.302vw, 25px) !important;
}

.mg-addsvcs__list--entertainment {
  grid-template-columns: repeat(3, 1fr);
  column-gap: clamp(8px, 0.521vw, 10px);
}

/* ── ENTERTAINMENT tab — Figma bullet layout (desktop ≥1025px) ──
   Column starts @1920 from list edge: 0 / 332 / 613px, row pitch 50px */
@media (min-width: 1025px) {
  .mg-addsvcs__list--entertainment {
    grid-template-columns: 17.292vw 14.635vw 1fr;    /* 332 / 281 ÷19.2, last column takes the rest */
    column-gap: 0;
    row-gap: clamp(16px, 1.302vw, 25px);             /* 25÷19.2 → 50px pitch with 25px lines */
  }
  #mg-addsvcs-entertainment .mg-addsvcs__desc {
    margin-bottom: clamp(16px, 1.563vw, 30px);       /* description → "Available services": 30÷19.2 */
  }
}

/* ── ENTERTAINMENT heading — breaks after "Personality" (desktop ≥1025px) ──
   Figma heading box is 697px wide at 1920. Width is set as a % of the viewport
   (37.7vw ≈ 724px at 1920) so the same break holds as the screen scales down. */
@media (min-width: 1025px) {
  #mg-addsvcs-entertainment .mg-addsvcs__heading {
    max-width: 37.7vw;
  }
}

/* ── FINISHING TOUCHES heading — breaks after "in" (desktop ≥1025px) ──
   Line 1: "Complete the Experience in" / Line 2: "Your Own Style".
   Capped as a % of the viewport so the break holds as the screen scales down. */
@media (min-width: 1025px) {
  #mg-addsvcs-finishing .mg-addsvcs__heading {
    max-width: 37vw;
  }
}

.mg-addsvcs__list--effects {
  grid-template-columns: clamp(150px, 12.083vw, 232px) clamp(160px, 12.552vw, 241px) 1fr;
  column-gap: clamp(30px, 2.604vw, 50px);
  row-gap: clamp(16px, 1.302vw, 25px) !important;
}

.mg-addsvcs__list--food-drinks,
.mg-addsvcs__list--food-desserts,
.mg-addsvcs__list--food-canape,
.mg-addsvcs__list--food-hotdrinks {
  grid-template-columns: repeat(3, 1fr);
  column-gap: clamp(8px, 0.521vw, 10px);
  row-gap: clamp(16px, 1.302vw, 25px) !important;
}

.mg-addsvcs__list--mob-only { display: none; }

@media (min-width: 768px) and (max-width: 1024px) {
  .mg-addsvcs__list--effects {
    grid-template-columns: 1fr 1fr !important;
    column-gap: clamp(16px, 2.083vw, 20px) !important;
  }
}

@media (max-width: 767px) {
  .mg-addsvcs__list--desk-only { display: none !important; }
  .mg-addsvcs__list--mob-only  { display: grid !important; }
  h3.mg-addsvcs__list--mob-only { display: block !important; }

  .mg-addsvcs__list--finishing-mob {
    column-gap: 5px !important;
    grid-template-columns: 1fr 1fr !important;
  }
}

/* ── Mobile (≤767px) ── */
@media (max-width: 767px) {

  /* Tab bar: 2×2 grid */
  .mg-addsvcs__tabbar {
    height: auto;
    flex-wrap: wrap;
    padding: 0;
  }

  .mg-addsvcs__tab {
    flex: none;
    width: 50%;
    height: clamp(40px, 10.227vw, 45px);
    font-size: clamp(14px, 4.545vw, 20px);
    padding: 0 clamp(6px, 1.364vw, 6px);
    white-space: normal;
    line-height: 1.1;
  }

  /* Panels: stacked, centered */
  .mg-addsvcs__panel,
  .mg-addsvcs__panel--food {
    padding: clamp(17px, 7.955vw, 35px) clamp(16px, 5.682vw, 25px) 0;
  }

  .mg-addsvcs__panel--active {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0;
  }

  .mg-addsvcs__panel--food.mg-addsvcs__panel--active {
    padding: clamp(28px, 7.955vw, 35px) clamp(16px, 5.682vw, 25px) 0 !important;
    flex-direction: column;
    display: flex;
    gap: 0 !important;
  }

  /* Image: 390×390px */
  .mg-addsvcs__img-wrap {
    width: clamp(320px, 88.636vw, 390px);
  }

  .mg-addsvcs__img--700,
  .mg-addsvcs__img--730 {
    height: clamp(320px, 88.636vw, 390px);
    border-radius: clamp(10px, 4.545vw, 20px);
  }

  .mg-addsvcs__img--670 {
    height: clamp(220px, 72.727vw, 320px);
    border-radius: clamp(10px, 3.409vw, 15px);
  }

  /* Eyebrow: centered, 14px */
  .mg-addsvcs__eyebrow {
    font-size: clamp(11px, 3.182vw, 14px);
    letter-spacing: 0.1em;
    padding-top: clamp(20px, 7.955vw, 35px) !important;
    text-align: center;
  }

  /* Heading: centered, 32px */
  .mg-addsvcs__heading {
    font-size: clamp(24px, 7.273vw, 32px);
    line-height: clamp(28px, 8.182vw, 36px);
    text-align: center;
    margin-bottom: clamp(17px, 5.682vw, 25px) !important;
  }

  /* Desc: justify, 18px */
  .mg-addsvcs__desc {
    font-size: clamp(14px, 4.091vw, 18px);
    line-height: clamp(28px, 7.955vw, 35px);
    text-align: justify;
    margin-bottom: clamp(28px, 7.955vw, 35px) !important;
  }

  /* Subheading: centered */
  .mg-addsvcs__subheading {
    font-size: clamp(15px, 4.545vw, 20px);
    text-align: center;
    width: 100%;
    margin-bottom: clamp(28px, 7.955vw, 35px) !important;
  }

  /* Bullet list: 2-col mobile */
  .mg-addsvcs__list {
    grid-template-columns: repeat(2, 1fr);
    column-gap: clamp(16px, 5.682vw, 25px);
    row-gap: clamp(18px, 5.682vw, 25px);
    text-align: left;
    width: 100%;
  }

  .mg-addsvcs__list li {
    font-size: clamp(13px, 4.091vw, 18px);
    line-height: clamp(18px, 5vw, 22px);
  }

  /* Button: centered */
  .mg-addsvcs__btn-wrap {
    width: 100%;
    text-align: center;
    padding-bottom: clamp(30px, 11.591vw, 51px);
  }

  .mg-addsvcs__btn {
    width: clamp(160px, 45.455vw, 200px);
    height: clamp(48px, 13.636vw, 60px);
    font-size: clamp(14px, 4.545vw, 20px);
  }

  /* Food panel mobile */
  .mg-addsvcs__food-images {
    width: 100%;
  }

  .mg-addsvcs__food-images .mg-addsvcs__img:nth-child(2) {
    display: none;
  }

  .mg-addsvcs__food-content {
    width: 100%;
    text-align: center;
  }
}


/* ═══════════════════════════════════════════════════════
   ADDITIONAL SERVICES — Page Header
═══════════════════════════════════════════════════════ */

.mg-addsvcs__header {
  background: #ffffff;
  text-align: center;
  padding: clamp(40px, 4.948vw, 95px) clamp(20px, 10.417vw, 200px) clamp(30px, 2.604vw, 50px);
}

.mg-addsvcs__header-eyebrow {
  font-family: var(--mg-font-body);
  font-weight: 500;
  font-size: clamp(13px, 1.042vw, 20px);
  line-height: 1.2;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--mg-gold-dark);
  margin: 0 0 clamp(8px, 0.625vw, 12px);
}

.mg-addsvcs__header-heading {
  font-family: var(--mg-font-heading);
  font-weight: 300;
  font-size: clamp(26px, 2.5vw, 48px);
  line-height: clamp(30px, 2.760vw, 53px);
  text-align: center;
  text-transform: uppercase;
  color: var(--mg-brown-heading);
  margin: 0 auto clamp(16px, 1.563vw, 30px);
  max-width: clamp(340px, 36.302vw, 697px);
}

.mg-addsvcs__header-desc {
  font-family: var(--mg-font-body);
  font-weight: 300;
  font-size: clamp(14px, 1.146vw, 22px);
  line-height: clamp(26px, 2.083vw, 40px);
  text-align: center;
  letter-spacing: 0.02em;
  color: var(--mg-dark-text);
  margin: 0 auto;
  max-width: clamp(300px, 62.5vw, 1200px);
}

.mg-addsvcs__header-heading--mobile { display: none !important; }
.mg-addsvcs__header-heading--desktop { display: block !important; }

@media (max-width: 767px) {
  .mg-addsvcs__header {
    padding: clamp(28px, 8.182vw, 36px) clamp(16px, 5.682vw, 25px) clamp(20px, 5.455vw, 24px);
  }

  .mg-addsvcs__header-eyebrow {
    font-size: clamp(11px, 3.182vw, 14px);
    letter-spacing: 0.1em;
  }

  .mg-addsvcs__header-heading {
    font-size: clamp(24px, 7.273vw, 32px);
    line-height: clamp(28px, 8.182vw, 36px);
    max-width: none;
  }

  .mg-addsvcs__header-desc {
    font-size: clamp(14px, 4.091vw, 18px);
    line-height: clamp(28px, 7.955vw, 35px);
    text-align: justify;
    letter-spacing: -0.01em;
    max-width: none;
  }

  .mg-addsvcs__header-heading--desktop { display: none !important; }
  .mg-addsvcs__header-heading--mobile  { display: block !important; }
}


/* ═══════════════════════════════════════════════════════
   HALLS & ROOMS PAGE — Header + Tabbed Gallery (.mg-hgallery)
═══════════════════════════════════════════════════════ */

.mg-hgallery__header {
  background: #ffffff;
  text-align: center;
  padding: clamp(40px, 4.948vw, 95px) clamp(20px, 10.417vw, 200px) clamp(30px, 2.604vw, 50px);
}

.mg-hgallery__eyebrow {
  font-family: var(--mg-font-body);
  font-weight: 500;
  font-size: clamp(13px, 1.042vw, 20px);
  line-height: 1.2;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--mg-gold-dark);
  margin: 0 0 clamp(8px, 0.625vw, 12px);
}

.mg-hgallery__heading {
  font-family: var(--mg-font-heading);
  font-weight: 300;
  font-size: clamp(26px, 2.5vw, 48px);
  line-height: clamp(30px, 2.760vw, 53px);
  text-align: center;
  text-transform: uppercase;
  color: var(--mg-brown-heading);
  margin: 0 auto clamp(16px, 1.563vw, 30px);
  max-width: clamp(340px, 36.302vw, 697px);
}

.mg-hgallery__desc {
  font-family: var(--mg-font-body);
  font-weight: 300;
  font-size: clamp(14px, 1.146vw, 22px);
  line-height: clamp(26px, 2.083vw, 40px);
  text-align: center;
  letter-spacing: 0.02em;
  color: var(--mg-dark-text);
  margin: 0 auto;
  max-width: clamp(300px, 68.021vw, 1306px);
}

.mg-hgallery__heading--mobile  { display: none !important; }
.mg-hgallery__heading--desktop { display: block !important; }

/* ── Tab section ── */
.mg-hgallery {
  background: var(--mg-cream-bg);
  position: relative;
}

.mg-hgallery__tabbar {
  background: #D9CFC2;
  height: clamp(56px, 4.635vw, 89px);
  display: flex;
  align-items: stretch;
  padding: 0 clamp(20px, 10.417vw, 200px);
}

.mg-hgallery__tab {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-family: var(--mg-font-heading);
  font-weight: 300;
  font-size: clamp(14px, 1.667vw, 32px);
  line-height: 1.125;
  text-align: center;
  text-transform: uppercase;
  color: var(--mg-brown-heading);
  background: transparent;
  border: none;
  padding: 0 clamp(6px, 0.521vw, 10px);
  transition: background 0.2s ease, color 0.2s ease;
  white-space: nowrap;
}

.mg-hgallery__tab--active {
  background: #3D3D3D;
  color: var(--mg-gold-bright);
}

.mg-hgallery__tab:not(.mg-hgallery__tab--active):hover {
  background: rgba(61, 61, 61, 0.08);
}

/* Panels */
.mg-hgallery__panel { display: none; }
.mg-hgallery__panel--active { display: block; }

/* Desktop masonry */
.mg-hgallery__grid-wrap {
  position: relative;
  margin: clamp(40px, 3.906vw, 75px) clamp(20px, 10.417vw, 200px) clamp(40px, 3.906vw, 75px);
  height: clamp(500px, 53.055vw, 1019px);
}

.mg-hgallery__grid {
  position: relative;
  width: 100%;
  height: 100%;
}

.mg-hgallery__item {
  position: absolute;
  border-radius: clamp(8px, 0.781vw, 15px);
  overflow: hidden;
  cursor: pointer;
  transition: transform 300ms ease, box-shadow 300ms ease;
}

.mg-hgallery__item:hover {
  transform: scale(1.02);
  box-shadow: 0 8px 32px rgba(0,0,0,0.18);
  z-index: 2;
}

.mg-hgallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Grid positions — same Figma rectangle sizes as Mehndi gallery */
.mg-hgallery__item.hgi1 { left: 0;         top: 0;        width: 34.669vw; height: 38.630vw; }
.mg-hgallery__item.hgi2 { left: 35.158vw;  top: 0;        width: 20.048vw; height: 25.867vw; }
.mg-hgallery__item.hgi3 { left: 55.695vw;  top: 0;        width: 23.471vw; height: 14.670vw; }
.mg-hgallery__item.hgi4 { left: 55.695vw;  top: 15.158vw; width: 23.471vw; height: 21.760vw; }
.mg-hgallery__item.hgi5 { left: 35.158vw;  top: 26.356vw; width: 20.048vw; height: 26.698vw; }
.mg-hgallery__item.hgi6 { left: 0;          top: 39.119vw; width: 17.115vw; height: 13.936vw; }
.mg-hgallery__item.hgi7 { left: 17.604vw;  top: 39.119vw; width: 17.065vw; height: 13.936vw; }
.mg-hgallery__item.hgi8 { left: 55.695vw;  top: 37.407vw; width: 23.471vw; height: 15.647vw; }

/* View All button */
.mg-hgallery__btn-wrap {
  text-align: center;
  padding: 0 0 clamp(36px, 3.333vw, 64px);
}

.mg-hgallery__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(200px, 15.625vw, 300px);
  height: clamp(50px, 3.385vw, 65px);
  border: 1.5px solid var(--mg-dark-text);
  border-radius: 5px;
  font-family: var(--mg-font-heading);
  font-weight: 500;
  font-size: clamp(16px, 1.25vw, 24px);
  line-height: 1;
  text-transform: uppercase;
  color: var(--mg-dark-text);
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: background 0.25s ease, color 0.25s ease;
}

.mg-hgallery__btn:hover {
  background: var(--mg-dark-text);
  color: #E5C876;
}

/* Desktop only */
@media (min-width: 1025px) {
  .mg-hgallery__mobile { display: none !important; }
}

/* ── Mobile (≤767px) ── */
@media (max-width: 767px) {

  .mg-hgallery__header {
    padding: clamp(37px, 11.364vw, 50px) clamp(16px, 5.682vw, 25px) clamp(20px, 6.455vw, 25px);
  }

  .mg-hgallery__eyebrow {
    font-size: clamp(11px, 3.182vw, 14px);
    letter-spacing: 0.1em;
  }

  .mg-hgallery__heading {
    font-size: clamp(24px, 7.273vw, 32px);
    line-height: clamp(28px, 8.182vw, 36px);
    max-width: none;
  }

  .mg-hgallery__desc {
    font-size: clamp(14px, 4.091vw, 17px);
    line-height: clamp(28px, 7.955vw, 35px);
    text-align: justify;
    max-width: none;
  }

  .mg-hgallery__heading--desktop { display: none !important; }
  .mg-hgallery__heading--mobile  { display: block !important; }

  /* Tab bar: 3 tabs → 2 top, 1 bottom-left */
  .mg-hgallery__tabbar {
    height: auto;
    flex-wrap: wrap;
    padding: 0;
  }

  .mg-hgallery__tab {
    flex: none;
    width: 50%;
    height: clamp(40px, 10.227vw, 45px);
    font-size: clamp(14px, 4.545vw, 20px);
    padding: 0 clamp(6px, 1.364vw, 6px);
    white-space: normal;
    line-height: 1.1;
  }

  /* Hide desktop masonry */
  .mg-hgallery__grid-wrap { display: none; }

  /* Mobile gallery */
  .mg-hgallery__mobile {
    display: block;
    padding: clamp(26px, 7.955vw, 35px) clamp(29px, 9.091vw, 40px) clamp(30px, 9.091vw, 40px);
  }
}

/* ── Tablet (768–1024px) ── */
@media (min-width: 768px) and (max-width: 1024px) {
  .mg-hgallery__mobile { display: none !important; }
  .mg-hgallery__grid-wrap {
    margin: clamp(30px, 3.906vw, 40px) clamp(16px, 3.125vw, 32px);
    height: clamp(400px, 61.035vw, 500px);
  }
}

@media (max-width: 767px) {

  .mg-hgallery__mob-grid {
    display: flex;
    flex-direction: column;
    gap: clamp(8px, 2.273vw, 10px);
  }

  .mg-hgallery__mob-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(8px, 2.273vw, 10px);
  }

  .mg-hgallery__mob-img {
    width: 100%;
    height: clamp(160px, 53.409vw, 235px);
    object-fit: cover;
    border-radius: clamp(8px, 2.273vw, 10px);
    display: block;
    cursor: pointer;
    transition: transform 300ms ease;
  }

  .mg-hgallery__mob-img:hover { transform: scale(1.02); }

  .mg-hgallery__mob-img--full {
    border-radius: clamp(10px, 3.409vw, 15px);
  }

  .mg-hgallery__btn-wrap {
    padding: clamp(0px, 0vw, 0px) 0 clamp(29px, 9.091vw, 40px);
  }

  .mg-hgallery__btn {
    width: clamp(160px, 45.455vw, 200px);
    height: clamp(48px, 13.636vw, 60px);
    font-size: clamp(14px, 4.545vw, 20px);
  }
}

/* ═══════════════════════════════════════════════════════
   VIDEO GALLERY SECTION (.mg-videogallery)
   Desktop: 2-col header, 1520×700 main video, 3×494 thumbnails
   Mobile: centred header, 390×600 main video, horizontal scroll thumbs
═══════════════════════════════════════════════════════ */

.mg-videogallery {
  background: #ffffff;
  padding: clamp(44px, 5.208vw, 100px) clamp(20px, 10.417vw, 200px) clamp(44px, 5.208vw, 100px);
}

/* ── Header: 2-col ── */
.mg-videogallery__header {
  display: flex;
  align-items: flex-start;
  gap: clamp(20px, 8.021vw, 154px);
  margin-bottom: clamp(30px, 3.906vw, 75px);
}

.mg-videogallery__header-left {
  flex-shrink: 0;
  width: clamp(280px, 36.302vw, 697px);
}

.mg-videogallery__eyebrow {
  font-family: var(--mg-font-body);
  font-weight: 500;
  font-size: clamp(13px, 1.042vw, 20px);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--mg-gold-dark);
  margin: 0 0 clamp(8px, 0.625vw, 12px);
}

.mg-videogallery__heading {
  font-family: var(--mg-font-heading);
  font-weight: 300;
  font-size: clamp(26px, 2.5vw, 48px);
  line-height: clamp(30px, 2.760vw, 53px);
  text-transform: uppercase;
  color: var(--mg-brown-heading);
  margin: 0;
}

.mg-videogallery__heading--mobile { display: none !important; }
.mg-videogallery__heading--desktop { display: block !important; }

.mg-videogallery__desc {
  flex: 1;
  font-family: var(--mg-font-body);
  font-weight: 300;
  font-size: clamp(14px, 1.146vw, 21px);
  line-height: clamp(24px, 1.875vw, 36px);
  color: var(--mg-dark-text);
  text-align: justify;
  margin: 0;
  padding-top: clamp(4px, 0.469vw, 9px);
}

/* ── Main video ── */
.mg-videogallery__main {
  position: relative;
  width: 100%;
  height: clamp(320px, 36.458vw, 700px);
  border-radius: clamp(15px, 1.823vw, 35px);
  overflow: hidden;
  margin-bottom: clamp(16px, 1.302vw, 25px);
  cursor: pointer;
}

.mg-videogallery__main video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.mg-videogallery__play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  transition: opacity 0.2s ease;
}

.mg-videogallery__main.is-playing .mg-videogallery__play {
  opacity: 0;
}

/* ── Thumbnails: 3-col ── */
.mg-videogallery__thumbs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(10px, 1.198vw, 23px);
  margin-bottom: clamp(30px, 3.906vw, 75px);
}

.mg-videogallery__thumb {
  position: relative;
  height: clamp(200px, 23.438vw, 450px);
  border-radius: clamp(10px, 1.302vw, 25px);
  overflow: hidden;
  cursor: pointer;
}

.mg-videogallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.mg-videogallery__thumb-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

/* ── View All button ── */
.mg-videogallery__btn-wrap {
  text-align: center;
}

.mg-videogallery__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(200px, 15.625vw, 300px);
  height: clamp(50px, 3.385vw, 65px);
  border: 1.5px solid var(--mg-dark-text);
  border-radius: 5px;
  font-family: var(--mg-font-heading);
  font-weight: 500;
  font-size: clamp(16px, 1.25vw, 24px);
  text-transform: uppercase;
  color: var(--mg-dark-text);
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: background 0.25s ease, color 0.25s ease;
}

.mg-videogallery__btn:hover {
  background: var(--mg-dark-text);
  color: #E5C876;
}

/* ── Mobile (≤767px) ── */
@media (max-width: 767px) {

  .mg-videogallery {
    padding: clamp(32px, 11.364vw, 50px) clamp(16px, 5.682vw, 25px) clamp(28px, 9.091vw, 40px);
  }

  .mg-videogallery__header {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: clamp(19px, 7.955vw, 35px);
    margin-bottom: clamp(28px, 9.091vw, 40px);
  }

  .mg-videogallery__header-left {
    width: 100%;
  }

  .mg-videogallery__eyebrow {
    font-size: clamp(11px, 3.182vw, 14px);
    letter-spacing: 0.1em;
  }

  .mg-videogallery__heading {
    font-size: clamp(24px, 7.273vw, 32px);
    line-height: clamp(28px, 8.182vw, 36px);
    text-align: center;
  }

  .mg-videogallery__heading--desktop { display: none !important; }
  .mg-videogallery__heading--mobile  { display: block !important; }

  .mg-videogallery__desc {
    font-size: clamp(14px, 4.091vw, 18px);
    line-height: clamp(28px, 7.955vw, 35px);
    letter-spacing: -0.01em;
    padding-top: 0;
  }

  /* Main video: 390×600 on mobile */
  .mg-videogallery__main {
    height: clamp(400px, 136.364vw, 600px);
    border-radius: clamp(10px, 4.545vw, 20px);
    margin-bottom: clamp(10px, 2.273vw, 10px);
  }

  /* Thumbnails: horizontal scroll */
  .mg-videogallery__thumbs {
    display: flex;
    flex-direction: row;
    overflow-x: auto;
    overflow-y: hidden;
    gap: clamp(8px, 2.273vw, 10px);
    margin-bottom: clamp(28px, 9.091vw, 40px);
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 2px;
  }

  .mg-videogallery__thumbs::-webkit-scrollbar { display: none; }

  .mg-videogallery__thumb {
    flex-shrink: 0;
    width: clamp(140px, 37.5vw, 165px);
    height: clamp(130px, 34.091vw, 150px);
    border-radius: clamp(8px, 2.273vw, 10px);
  }

  .mg-videogallery__thumb-play svg {
    width: 38px;
    height: 38px;
  }

  .mg-videogallery__btn {
    width: clamp(160px, 45.455vw, 200px);
    height: clamp(48px, 13.636vw, 60px);
    font-size: clamp(14px, 4.545vw, 20px);
  }
}

/* ═══════════════════════════════════════════════════════
   CONTACT PAGE (.mg-contact-page-section)
   Desktop: CSS Grid — left col 700px + right col 1fr
   Mobile: stacked — heading, desc+form, contacts, map
   Figma canvas: 1920px | all values ÷ 19.2 for vw
═══════════════════════════════════════════════════════ */

/* Section */
.mg-contact-page-section {
  background: var(--mg-cream-bg);
  padding: clamp(50px, 5.208vw, 100px) clamp(20px, 10.417vw, 200px) clamp(50px, 5.104vw, 98px);
}

/* Grid */
.mg-cf-wrap {
  display: grid;
  grid-template-columns: clamp(280px, 36.458vw, 700px) 1fr;
  grid-template-areas:
    "intro    form"
    "contacts form"
    "map      form";
  column-gap: clamp(30px, 4.740vw, 91px);
  align-items: start;
}

/* ── Intro ── */
.mg-cf__intro { grid-area: intro; }

.mg-cf__eyebrow {
  font-family: var(--mg-font-body);
  font-weight: 500;
  font-size: clamp(13px, 1.042vw, 20px);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--mg-gold-dark);
  margin: 0 0 clamp(4px, 0.313vw, 6px);
  line-height: 1.2;
}

.mg-cf__heading {
  font-family: var(--mg-font-heading);
  font-weight: 300;
  font-size: clamp(26px, 2.5vw, 48px);
  line-height: clamp(30px, 2.760vw, 53px);
  text-transform: uppercase;
  color: var(--mg-brown-heading);
  /* gap heading bottom → phone top = 50px */
  margin: 0 0 clamp(28px, 2.604vw, 50px);
}

/* ── Contact items ── */
.mg-cf__contacts { grid-area: contacts; }

.mg-cf__contact-item {
  /* 20px padding top and bottom, divider between items */
  padding: clamp(12px, 1.042vw, 20px) 0;
  border-bottom: 1px solid rgba(35,35,35,0.6);
}

.mg-cf__contact-item:first-child {
  padding-top: 0;
}

.mg-cf__contact-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.mg-cf__contact-label {
  display: flex;
  align-items: center;
  gap: 0;
  font-family: var(--mg-font-body);
  font-weight: 700;
  font-size: clamp(14px, 1.25vw, 24px);
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--mg-gold-dark);
  margin-bottom: clamp(2px, 0.208vw, 4px);
  line-height: 1.2;
}

.mg-cf__contact-label svg { flex-shrink: 0; }

.mg-cf__icon-wrap {
  display: inline-flex;
  align-items: center;
  width: clamp(32px, 2.292vw, 44px);
  flex-shrink: 0;
}

.mg-cf__contact-value {
  font-family: var(--mg-font-body);
  font-weight: 500;
  font-size: clamp(14px, 1.146vw, 22px);
  letter-spacing: 0.02em;
  color: #3D3830;
  margin: 0;
  padding-left: clamp(28px, 2.292vw, 44px);
}

.mg-cf__contact-value a { color: #3D3830; text-decoration: none; }
.mg-cf__contact-value a:hover { color: var(--mg-gold-dark); }

/* ── Map ── */
/* gap address bottom → map top = 63px */
/* map height = 600px, border-radius = 31px */
/* gap map bottom → section bottom = 93px (handled by section padding-bottom) */
.mg-cf__map {
  grid-area: map;
  margin-top: clamp(36px, 3.281vw, 63px);
  width: 100%;
  height: clamp(300px, 31.25vw, 600px);
  border-radius: clamp(12px, 1.615vw, 31px);
  overflow: hidden;
  border: none;
  outline: none;
  box-shadow: none;
}

.mg-cf__map iframe {
  width: 100%;
  height: 100%;
  border: none !important;
  display: block;
}

/* ── Right column ── */
.mg-cf-right { grid-area: form; }

/* gap desc bottom → first label = 50px */
.mg-cf__desc {
  font-family: var(--mg-font-body);
  font-weight: 300;
  font-size: clamp(14px, 1.146vw, 22px);
  line-height: clamp(24px, 1.875vw, 36px);
  color: var(--mg-dark-text);
  text-align: justify;
  margin: 0 0 clamp(28px, 2.604vw, 50px);
}

/* ── CF7 form ── */
/* row gap = 25px (between input bottom and next label) */
.mg-cf-right .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: clamp(14px, 1.302vw, 25px);
}

.mg-cf-right .mg-cf7-row {
  display: flex;
  flex-direction: column;
  /* label → input gap = 17px */
  gap: clamp(8px, 0.885vw, 17px);
}

.mg-cf-right .mg-cf7-row--half {
  flex-direction: row;
  /* half col gap = 15px */
  gap: clamp(8px, 0.781vw, 15px);
}

.mg-cf-right .mg-cf7-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: clamp(8px, 0.885vw, 17px);
}

.mg-cf-right .wpcf7-form label {
  font-family: var(--mg-font-body);
  font-weight: 500;
  font-size: clamp(13px, 1.146vw, 22px);
  letter-spacing: 0.02em;
  color: #3D3830;
  display: block;
  line-height: 1.2;
}

/* input height = 53px */
.mg-cf-right .wpcf7-form input[type="text"],
.mg-cf-right .wpcf7-form input[type="email"],
.mg-cf-right .wpcf7-form input[type="tel"],
.mg-cf-right .wpcf7-form input[type="number"],
.mg-cf-right .wpcf7-form input[type="date"],
.mg-cf-right .wpcf7-form select,
.mg-cf-right .wpcf7-form textarea {
  width: 100%;
  height: clamp(40px, 2.760vw, 53px);
  border: 1px solid #000000;
  border-radius: 5px;
  background: transparent;
  padding: 0 clamp(10px, 0.781vw, 15px);
  font-family: var(--mg-font-body);
  font-weight: 500;
  font-size: clamp(13px, 1.042vw, 20px);
  letter-spacing: 0.02em;
  color: rgba(61,56,48,0.7);
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
}

/* textarea height = 170px */
.mg-cf-right .wpcf7-form textarea {
  height: clamp(100px, 8.854vw, 170px);
  padding-top: clamp(10px, 0.781vw, 15px);
  resize: none;
  overflow-y: auto;
  scrollbar-width: none;
}

.mg-cf-right .wpcf7-form textarea::-webkit-scrollbar {
  display: none;
}

.mg-cf-right .wpcf7-form select {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%229%22%20viewBox%3D%220%200%2018%209%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M0%200L9%209L18%200H0Z%22%20fill%3D%22%233D3830%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 18px 9px;
  padding-right: 40px;
  cursor: pointer;
}

.mg-cf-right .wpcf7-form input[type="date"] {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2229%22%20height%3D%2229%22%20viewBox%3D%220%200%2029%2029%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M20.5%201V6.4M8.5%201V6.4M1%2011.8H28M4%203.7H25C26.6569%203.7%2028%204.90883%2028%206.4V25.3C28%2026.7912%2026.6569%2028%2025%2028H4C2.34315%2028%201%2026.7912%201%2025.3V6.4C1%204.90883%202.34315%203.7%204%203.7Z%22%20stroke%3D%22%233D3830%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 22px;
  padding-right: 44px;
}

.mg-cf-right .wpcf7-form input[type="date"]::-webkit-calendar-picker-indicator {
  opacity: 0;
  position: absolute;
  right: 0;
  width: 44px;
  height: 100%;
  cursor: pointer;
}

.mg-cf-right .wpcf7-form input:focus,
.mg-cf-right .wpcf7-form select:focus,
.mg-cf-right .wpcf7-form textarea:focus {
  outline: none;
  border-color: var(--mg-gold-dark);
}

/* gap textarea → button = 50px (25px form gap + 25px extra margin) */
.mg-cf-right .wpcf7-form .mg-cf7-row:nth-last-child(2) {
  margin-top: clamp(14px, 1.302vw, 25px);
}

/* button: 320×65px */
.mg-cf-right .wpcf7-form input[type="submit"] {
  width: clamp(200px, 16.667vw, 320px);
  height: clamp(48px, 3.385vw, 65px);
  background: transparent;
  border: 1.5px solid var(--mg-dark-text);
  border-radius: 5px;
  font-family: var(--mg-font-heading);
  font-weight: 500;
  font-size: clamp(14px, 1.25vw, 24px);
  text-transform: uppercase;
  color: var(--mg-dark-text);
  cursor: pointer;
  letter-spacing: 0.02em;
  transition: background 0.25s ease, color 0.25s ease;
}

.mg-cf-right .wpcf7-form input[type="submit"]:hover {
  background: var(--mg-dark-text);
  color: #E5C876;
}

.mg-cf-right .wpcf7-not-valid { border-color: #F6354D !important; }
.mg-cf-right .wpcf7-not-valid-tip { display: none; }

/* Auto-capitalise name field + textarea first letter */
.mg-cf-right input[name="full-name"] {
  text-transform: capitalize;
}

/* Auto-capitalise footer contact form name fields */
.mg-contact-form-wrap input[name="your-firstname"],
.mg-contact-form-wrap input[name="your-lastname"] {
  text-transform: capitalize;
}

.mg-cf-right textarea {
  text-transform: capitalize;
}

/* ── Spinner inline with button ── */
.mg-cf-right .wpcf7-form .mg-cf7-row:nth-last-child(2) {
  flex-direction: row;
  align-items: center;
  gap: 14px;
}

.mg-cf-right .wpcf7-spinner {
  display: none;
  width: 18px;
  height: 18px;
  border: 2px solid var(--mg-dark-text);
  border-top-color: transparent;
  border-radius: 50%;
  animation: mg-cf-spin 0.75s linear infinite;
  flex-shrink: 0;
  margin: 0;
}

.mg-cf-right .wpcf7-form.submitting .wpcf7-spinner {
  display: block;
}

@keyframes mg-cf-spin {
  to { transform: rotate(360deg); }
}

/* ── Response message closer to button ── */
.mg-cf-right .wpcf7-response-output {
  margin: clamp(6px, 0.417vw, 8px) 0 0 !important;
  padding: clamp(10px, 0.781vw, 15px) clamp(14px, 1.042vw, 20px) !important;
  border-radius: 5px !important;
  font-family: var(--mg-font-body) !important;
  font-size: clamp(13px, 0.781vw, 15px) !important;
  border: none !important;
  line-height: 1.5 !important;
}

.mg-cf-right .wpcf7-form.sent .wpcf7-response-output {
  background: rgba(142, 107, 10, 0.08) !important;
  color: var(--mg-gold-dark) !important;
}

.mg-cf-right .wpcf7-form.invalid .wpcf7-response-output,
.mg-cf-right .wpcf7-form.failed .wpcf7-response-output,
.mg-cf-right .wpcf7-form.spam .wpcf7-response-output {
  background: rgba(246, 53, 77, 0.08) !important;
  color: #F6354D !important;
}

/* ── Mobile ≤767px ── */
@media (max-width: 767px) {

  .mg-contact-page-section {
    padding: clamp(33px, 11.364vw, 50px) clamp(16px, 5.682vw, 25px) clamp(24px, 6.818vw, 30px);
  }

  .mg-cf-wrap {
    display: flex;
    flex-direction: column;
  }

  .mg-cf__intro    { order: 1; }
  .mg-cf-right     { order: 2; }
  .mg-cf__contacts { order: 3; width: 100%; align-self: stretch; }
  .mg-cf__map      { order: 4; }

  .mg-cf__eyebrow {
    font-size: clamp(11px, 3.182vw, 14px);
    letter-spacing: 0.1em;
    text-align: center;
  }

  .mg-cf__heading {
    font-size: clamp(24px, 7.273vw, 32px);
    line-height: clamp(28px, 8.182vw, 36px);
    text-align: center;
    margin-bottom: clamp(16px, 4.545vw, 20px);
  }

  .mg-cf__desc {
    font-size: clamp(14px, 4.091vw, 18px);
    line-height: clamp(28px, 7.955vw, 35px);
    margin-bottom: clamp(35px, 12.045vw, 53px);
  }

  .mg-cf__contacts { margin-top: clamp(24px, 6.818vw, 30px); }

  .mg-cf__contact-label {
    font-size: clamp(14px, 4.545vw, 20px);
  }

  .mg-cf__contact-value {
    font-size: clamp(13px, 4.091vw, 18px);
    padding-left: clamp(24px, 5.682vw, 25px);
  }

  .mg-cf__map {
    height: clamp(250px, 75.909vw, 334px);
    border-radius: clamp(10px, 4.545vw, 20px);
    margin-top: clamp(16px, 4.545vw, 20px);
  }

  .mg-cf-right .mg-cf7-row--half { flex-direction: column; }

  .mg-cf-right .wpcf7-form .mg-cf7-row:nth-last-child(2) {
    flex-direction: column;
    align-items: center;
  }

  .mg-cf-right .wpcf7-form {
    gap: clamp(18px, 4.545vw, 20px);
  }

  .mg-cf-right .mg-cf7-row,
  .mg-cf-right .mg-cf7-col {
    gap: clamp(8px, 2.273vw, 10px);
  }

  .mg-cf-right .wpcf7-form input[type="text"],
  .mg-cf-right .wpcf7-form input[type="email"],
  .mg-cf-right .wpcf7-form input[type="tel"],
  .mg-cf-right .wpcf7-form input[type="number"],
  .mg-cf-right .wpcf7-form input[type="date"],
  .mg-cf-right .wpcf7-form select {
    height: clamp(42px, 10.227vw, 45px);
    font-size: clamp(13px, 3.636vw, 16px);
  }

  .mg-cf-right .wpcf7-form label {
    font-size: clamp(14px, 4.091vw, 18px);
  }

  .mg-cf-right .wpcf7-form textarea {
    height: clamp(120px, 34.091vw, 150px);
  }

  .mg-cf-right .wpcf7-form .mg-cf7-row:nth-last-child(2) {
    margin-top: 0;
  }

  .mg-cf-right .wpcf7-form input[type="submit"] {
    width: clamp(200px, 56.818vw, 250px);
    height: clamp(48px, 13.636vw, 60px);
    font-size: clamp(14px, 4.545vw, 20px);
    display: block;
    margin-left: auto;
    margin-right: auto;
  }

  /* gap textarea → button = 40px on mobile */
  .mg-cf-right .wpcf7-form .mg-cf7-row:nth-last-child(2) {
    margin-top: clamp(28px, 9.091vw, 40px);
  }

  /* gap button → contacts = 65px on mobile */
  .mg-cf__contacts {
    margin-top: clamp(48px, 14.773vw, 65px);
  }

  /* gap contacts → map = 50px | map bottom padding = 45px on mobile */
  .mg-cf__map {
    margin-top: clamp(36px, 11.364vw, 50px);
    margin-bottom: clamp(30px, 10.227vw, 45px);
  }

  /* ── Mobile contact items — pixel perfect from Figma 440px ── */
  /* contact item padding: 22px each side */
  .mg-cf__contact-item {
    padding: clamp(16px, 5vw, 22px) 0;
  }

  .mg-cf__contact-item:first-child { padding-top: 0; }

  .mg-cf__contact-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }

  /* label: 20px, value: 18px, label→value gap: 8px */
  .mg-cf__contact-label {
    font-size: clamp(16px, 4.545vw, 20px);
    margin-bottom: clamp(5px, 1.818vw, 8px);
  }

  .mg-cf__contact-value {
    font-size: clamp(14px, 4.091vw, 18px);
    padding-left: clamp(32px, 9.091vw, 40px);
  }

  /* icon wrap: 40px to align value under label text */
  .mg-cf__icon-wrap {
    width: clamp(32px, 9.091vw, 40px);
  }

  .mg-cf__contacts {
    margin-top: clamp(50px, 14.773vw, 65px);
  }

  .mg-cf__map {
    margin-top: clamp(36px, 11.364vw, 50px);
    margin-bottom: clamp(30px, 10.227vw, 45px);
  }
}

/* ── CF7 contact form extras ── */

/* 2. Loader spinner on submit button */
.mg-contact-page-section .wpcf7-form input[type="submit"].is-loading {
  opacity: 0.65;
  cursor: not-allowed;
}

.mg-contact-page-section .wpcf7-spinner {
  display: none;
  width: 16px;
  height: 16px;
  border: 2px solid var(--mg-dark-text);
  border-top-color: transparent;
  border-radius: 50%;
  animation: mg-cf-spin 0.75s linear infinite;
  vertical-align: middle;
  margin-left: 10px;
}

.mg-contact-page-section .wpcf7-form.submitting .wpcf7-spinner {
  display: inline-block;
}

/* 5. Response message styling */
.mg-contact-page-section .wpcf7-response-output {
  margin: clamp(10px, 0.781vw, 15px) 0 0 !important;
  padding: clamp(10px, 0.781vw, 15px) clamp(14px, 1.042vw, 20px) !important;
  border-radius: 5px !important;
  font-family: var(--mg-font-body) !important;
  font-size: clamp(13px, 0.781vw, 15px) !important;
  border: none !important;
  line-height: 1.5 !important;
}

.mg-contact-page-section .wpcf7-form.sent .wpcf7-response-output {
  background: rgba(142, 107, 10, 0.08) !important;
  color: var(--mg-gold-dark) !important;
}

.mg-contact-page-section .wpcf7-form.invalid .wpcf7-response-output,
.mg-contact-page-section .wpcf7-form.failed .wpcf7-response-output,
.mg-contact-page-section .wpcf7-form.spam .wpcf7-response-output {
  background: rgba(246, 53, 77, 0.08) !important;
  color: #F6354D !important;
}

/* 8. Asterisk gold colour */
.mg-contact-page-section .mg-cf7-required-star {
  color: var(--mg-gold-dark);
  font-weight: 700;
}

/* ── Hide footer contact card on contact page only ── */
.page-id-221 .mg-contact-card {
  display: none !important;
}


/* ═══════════════════════════════════════════════════════
   404 PAGE
═══════════════════════════════════════════════════════ */

.mg-404 {
  --mg-hdr: clamp(100px, 8.698vw, 167px);   /* = desktop header height */
  --mg-gap: clamp(40px, 4.167vw, 80px);     /* equal space above + below content */
  background: var(--mg-cream-bg);
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(var(--mg-hdr) + var(--mg-gap)) clamp(20px, 10.417vw, 200px) var(--mg-gap);
  box-sizing: border-box;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.mg-404__ghost {
  position: absolute;
  top: calc(50% + var(--mg-hdr) / 2 - clamp(40px, 4.167vw, 80px));   /* sits behind text, clears buttons */
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: var(--mg-font-heading);
  font-weight: 300;
  font-size: clamp(160px, 15.625vw, 300px);
  line-height: 1;
  color: rgba(181, 157, 90, 0.18);
  letter-spacing: -0.04em;
  user-select: none;
  pointer-events: none;
  white-space: nowrap;
}

.mg-404__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(16px, 1.563vw, 30px);
  max-width: clamp(300px, 41.667vw, 800px);
}

.mg-404__eyebrow {
  font-family: var(--mg-font-body);
  font-weight: 500;
  font-size: clamp(15px, 1.042vw, 20px);   /* matches site eyebrows: 20px at 1920 */
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mg-gold-dark);
  margin: 0;
}

.mg-404__heading {
  font-family: var(--mg-font-heading);
  font-weight: 300;
  font-size: clamp(32px, 3.125vw, 60px);
  line-height: clamp(36px, 3.385vw, 65px);
  text-transform: uppercase;
  color: var(--mg-brown-heading);
  margin: 0;
}

.mg-404__divider {
  width: clamp(60px, 4.167vw, 80px);
  height: 1px;
  background: var(--mg-stone);
  display: block;
}

.mg-404__body {
  font-family: var(--mg-font-body);
  font-weight: 300;
  font-size: clamp(15px, 1.042vw, 20px);
  line-height: clamp(24px, 1.875vw, 36px);
  color: var(--mg-dark-text);
  margin: 0;
  max-width: clamp(280px, 26.042vw, 500px);
}

.mg-404__actions {
  display: flex;
  align-items: center;
  gap: clamp(16px, 1.563vw, 30px);
  flex-wrap: wrap;
  justify-content: center;
  margin-top: clamp(30px, 2.604vw, 50px);
}

.mg-404__btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(180px, 13.021vw, 250px);
  height: clamp(52px, 3.385vw, 65px);
  background: var(--mg-brown-heading);
  border: 1.5px solid var(--mg-brown-heading);
  border-radius: 5px;
  font-family: var(--mg-font-heading);
  font-weight: 500;
  font-size: clamp(14px, 1.042vw, 20px);
  text-transform: uppercase;
  color: var(--mg-cream-light);
  text-decoration: none;
  letter-spacing: 0.04em;
  transition: background 0.25s ease, color 0.25s ease;
}

.mg-404__btn-primary:hover {
  background: transparent;
  color: var(--mg-brown-heading);
}

.mg-404__btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(180px, 13.021vw, 250px);
  height: clamp(52px, 3.385vw, 65px);
  background: transparent;
  border: 1.5px solid var(--mg-gold-dark);
  border-radius: 5px;
  font-family: var(--mg-font-heading);
  font-weight: 500;
  font-size: clamp(14px, 1.042vw, 20px);
  text-transform: uppercase;
  color: var(--mg-gold-dark);
  text-decoration: none;
  letter-spacing: 0.04em;
  transition: background 0.25s ease, color 0.25s ease;
}

.mg-404__btn-secondary:hover {
  background: var(--mg-gold-dark);
  color: var(--mg-cream-light);
}

.mg-404__links {
  display: flex;
  align-items: center;
  gap: clamp(20px, 2.083vw, 40px);
  flex-wrap: wrap;
  justify-content: center;
}

.mg-404__link {
  font-family: var(--mg-font-body);
  font-weight: 500;
  font-size: clamp(13px, 0.833vw, 16px);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--mg-dark-text);
  text-decoration: none;
  position: relative;
  transition: color 0.2s ease;
}

.mg-404__link::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0;
  height: 1px;
  background: var(--mg-gold-dark);
  transition: width 0.25s ease;
}

.mg-404__link:hover {
  color: var(--mg-gold-dark);
}

.mg-404__link:hover::after {
  width: 100%;
}

.mg-404__link-sep {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: var(--mg-stone);
  display: inline-block;
}

.mg-404__code {
  font-family: var(--mg-font-heading);
  font-weight: 300;
  font-size: clamp(60px, 7.292vw, 140px);
  line-height: 1;
  color: var(--mg-gold-mid);
  letter-spacing: -0.02em;
  margin: 0;
  display: none;
}

/* ── Mobile ≤767px ── */
@media (max-width: 767px) {

  .mg-404__code {
    display: block;
  }

  .mg-404__ghost {
    display: none;
  }

  .mg-404 {
    --mg-hdr: 138px;                           /* = mobile header height */
    --mg-gap: 40px;
    padding-left: clamp(16px, 5.682vw, 25px);
    padding-right: clamp(16px, 5.682vw, 25px);
  }

  .mg-404__inner {
    width: 100%;
    max-width: 100%;
    gap: clamp(14px, 4.545vw, 20px);
  }

  .mg-404__ghost {
    font-size: clamp(120px, 45.455vw, 200px);
    opacity: 0.15;
    top: 40%;
  }

  .mg-404__eyebrow {
    font-size: clamp(14px, 3.636vw, 16px);
    letter-spacing: 0.15em;
  }

  .mg-404__body {
    font-size: clamp(14px, 4.091vw, 18px);
    line-height: clamp(24px, 7.273vw, 32px);
    max-width: 100%;
  }

  .mg-404__actions {
    flex-direction: column;
    align-items: center;
    gap: clamp(10px, 2.727vw, 12px);
    width: 100%;
    margin-top: 0;
  }

  .mg-404__btn-primary,
  .mg-404__btn-secondary {
    width: clamp(220px, 63.636vw, 280px);
    height: clamp(48px, 12.273vw, 54px);
    font-size: clamp(14px, 3.636vw, 16px);
  }
}

/* ── Tablet 768–1024px ── */
@media (min-width: 768px) and (max-width: 1024px) {
  .mg-404 {
    --mg-hdr: clamp(90px, 11.719vw, 120px);    /* = tablet header height */
    --mg-gap: 60px;
    padding-left: 60px;
    padding-right: 60px;
  }

  .mg-404__ghost {
    font-size: clamp(180px, 24vw, 240px);
  }
}

/* ═══════════════════════════════════════════════════════
   THANK YOU PAGE
═══════════════════════════════════════════════════════ */

.mg-thankyou {
  --mg-hdr: clamp(100px, 8.698vw, 167px);   /* = desktop header height */
  --mg-gap: clamp(40px, 4.167vw, 80px);     /* equal space above + below content */
  background: var(--mg-cream-bg);
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(var(--mg-hdr) + var(--mg-gap)) clamp(20px, 10.417vw, 200px) var(--mg-gap);
  box-sizing: border-box;
  text-align: center;
  position: relative;
  overflow: hidden;
}

/* Remove WPBakery default column padding above the section */
.vc_column-inner:has(> .wpb_wrapper > .wpb_raw_html > .wpb_wrapper > .mg-thankyou) {
  padding-top: 0 !important;
}

/* Decorative background motif */
.mg-thankyou__bg {
  position: absolute;
  top: calc(50% + var(--mg-hdr) / 2);        /* centred in the visible area below header */
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: var(--mg-font-script);
  font-size: clamp(200px, 26.042vw, 500px);
  line-height: 1;
  color: rgba(181, 157, 90, 0.06);
  user-select: none;
  pointer-events: none;
  white-space: nowrap;
}

.mg-thankyou__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(16px, 1.563vw, 30px);
  max-width: clamp(300px, 41.667vw, 800px);
}

.mg-thankyou__eyebrow {
  font-family: var(--mg-font-body);
  font-weight: 500;
  font-size: clamp(12px, 0.833vw, 16px);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mg-gold-dark);
  margin: 0;
}

.mg-thankyou__heading {
  font-family: var(--mg-font-heading);
  font-weight: 300;
  font-size: clamp(32px, 3.125vw, 60px);
  line-height: clamp(36px, 3.385vw, 65px);
  text-transform: uppercase;
  color: var(--mg-brown-heading);
  margin: 0;
}

.mg-thankyou__divider {
  width: clamp(60px, 4.167vw, 80px);
  height: 1px;
  background: var(--mg-stone);
  display: block;
}

.mg-thankyou__body {
  font-family: var(--mg-font-body);
  font-weight: 300;
  font-size: clamp(15px, 1.042vw, 20px);
  line-height: clamp(24px, 1.875vw, 36px);
  color: var(--mg-dark-text);
  margin: 0;
  max-width: clamp(280px, 26.042vw, 500px);
}

.mg-thankyou__actions {
  display: flex;
  align-items: center;
  gap: clamp(16px, 1.563vw, 30px);
  flex-wrap: wrap;
  justify-content: center;
  margin-top: clamp(8px, 0.521vw, 10px);
}

.mg-thankyou__btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(180px, 13.021vw, 250px);
  height: clamp(52px, 3.385vw, 65px);
  background: var(--mg-brown-heading);
  border: 1.5px solid var(--mg-brown-heading);
  border-radius: 5px;
  font-family: var(--mg-font-heading);
  font-weight: 500;
  font-size: clamp(14px, 1.042vw, 20px);
  text-transform: uppercase;
  color: var(--mg-cream-light);
  text-decoration: none;
  letter-spacing: 0.04em;
  transition: background 0.25s ease, color 0.25s ease;
}

.mg-thankyou__btn-primary:hover {
  background: transparent;
  color: var(--mg-brown-heading);
}

.mg-thankyou__btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(180px, 13.021vw, 250px);
  height: clamp(52px, 3.385vw, 65px);
  background: transparent;
  border: 1.5px solid var(--mg-gold-dark);
  border-radius: 5px;
  font-family: var(--mg-font-heading);
  font-weight: 500;
  font-size: clamp(14px, 1.042vw, 20px);
  text-transform: uppercase;
  color: var(--mg-gold-dark);
  text-decoration: none;
  letter-spacing: 0.04em;
  transition: background 0.25s ease, color 0.25s ease;
}

.mg-thankyou__btn-secondary:hover {
  background: var(--mg-gold-dark);
  color: var(--mg-cream-light);
}

/* ── Mobile ≤767px ── */
@media (max-width: 767px) {

  .mg-thankyou {
    --mg-hdr: 138px;                           /* = mobile header height */
    --mg-gap: 40px;
    padding-left: clamp(16px, 5.682vw, 25px);
    padding-right: clamp(16px, 5.682vw, 25px);
  }

  .mg-thankyou__inner {
    width: 100%;
    max-width: 100%;
    gap: clamp(14px, 4.545vw, 20px);
  }

  .mg-thankyou__bg {
    font-size: clamp(120px, 45.455vw, 200px);
    opacity: 0.08;
  }

  .mg-thankyou__heading {
    font-size: clamp(28px, 8.182vw, 36px);
    line-height: clamp(32px, 9.091vw, 40px);
  }

  .mg-thankyou__body {
    font-size: clamp(14px, 4.091vw, 18px);
    line-height: clamp(24px, 7.273vw, 32px);
    max-width: 100%;
  }

  .mg-thankyou__actions {
    flex-direction: column;
    align-items: center;
    gap: clamp(10px, 2.727vw, 12px);
    width: 100%;
    margin-top: 0;
  }

  .mg-thankyou__btn-primary,
  .mg-thankyou__btn-secondary {
    width: clamp(220px, 63.636vw, 280px);
    height: clamp(48px, 12.273vw, 54px);
    font-size: clamp(14px, 3.636vw, 16px);
  }
}

/* ── Tablet 768–1024px ── */
@media (min-width: 768px) and (max-width: 1024px) {
  .mg-thankyou {
    --mg-hdr: clamp(90px, 11.719vw, 120px);    /* = tablet header height */
    --mg-gap: 60px;
    padding-left: 60px;
    padding-right: 60px;
  }
}


/* ═══════════════════════════════════════════════════════
   14 — PRIVACY POLICY PAGE
═══════════════════════════════════════════════════════ */

.mg-privacy {
  background: var(--mg-cream-light);
  padding: clamp(60px, 6.25vw, 120px) clamp(20px, 10.417vw, 200px) clamp(80px, 8.333vw, 160px);
}

.mg-privacy__inner {
  max-width: 1520px;
  margin: 0 auto;
}

.mg-privacy__updated {
  font-family: var(--mg-font-body);
  font-weight: 400;
  font-size: clamp(13px, 0.781vw, 15px);
  color: var(--mg-gold-dark);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: clamp(40px, 4.167vw, 80px);
}

.mg-privacy__section {
  margin-bottom: clamp(36px, 3.646vw, 70px);
}

.mg-privacy__section:last-child {
  margin-bottom: 0;
}

.mg-privacy__section-title {
  font-family: var(--mg-font-heading);
  font-weight: 400;
  font-size: clamp(20px, 1.875vw, 36px);
  line-height: 1.2;
  color: var(--mg-brown-heading);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: clamp(14px, 1.25vw, 24px);
  padding-bottom: clamp(12px, 0.938vw, 18px);
  border-bottom: 1px solid var(--mg-stone);
}

.mg-privacy__text {
  font-family: var(--mg-font-body);
  font-weight: 300;
  font-size: clamp(14px, 1.042vw, 20px);
  line-height: clamp(26px, 2.083vw, 40px);
  color: var(--mg-dark-text);
  margin-bottom: clamp(16px, 1.25vw, 24px);
}

.mg-privacy__text:last-child {
  margin-bottom: 0;
}

.mg-privacy__text a {
  color: var(--mg-gold-dark);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.2s;
}

.mg-privacy__text a:hover {
  color: var(--mg-brown-heading);
}

/* ── Desktop layout: two-column grid for readability ── */
@media (min-width: 1025px) {
  .mg-privacy__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 clamp(40px, 5.208vw, 100px);
    align-items: start;
  }
  .mg-privacy__updated {
    grid-column: 1 / -1;
  }
}

/* ── Tablet (768–1024px) ── */
@media (min-width: 768px) and (max-width: 1024px) {
  .mg-privacy {
    padding: clamp(40px, 5.208vw, 60px) clamp(24px, 3.906vw, 40px) clamp(60px, 7.813vw, 80px);
  }
  .mg-privacy__section-title {
    font-size: clamp(18px, 2.344vw, 24px);
  }
}

/* ── Mobile (≤767px) ── */
@media (max-width: 767px) {
  .mg-privacy {
    padding: clamp(32px, 9.091vw, 40px) clamp(16px, 5.682vw, 25px) clamp(50px, 13.636vw, 60px);
  }
  .mg-privacy__section-title {
    font-size: clamp(18px, 5.455vw, 24px);
    letter-spacing: 0.04em;
  }
  .mg-privacy__text {
    font-size: clamp(14px, 4.091vw, 18px);
    line-height: clamp(26px, 7.727vw, 34px);
  }
}

/* ═══════════════════════════════════════════════════════
   LIGHTBOXES — mobile: arrows move below the image
   Layout: ←  6 / 16  →  (bottom row, on the dark background)
═══════════════════════════════════════════════════════ */
@media (max-width: 767px) {

  /* Photo area: leave room for the control row underneath */
  .mg-lightbox__img-wrap {
    max-height: 72vh;
    margin-bottom: 64px;
  }
  .mg-lightbox__img {
    max-height: 72vh;
  }

  /* Events / Mehndi / Halls lightbox — arrows flank the counter */
  .mg-lightbox__arrow {
    top: auto;
    bottom: 0;
    transform: none;
  }
  .mg-lightbox__arrow--prev { left:  calc(50% - 100px); }
  .mg-lightbox__arrow--next { right: calc(50% - 100px); }
  .mg-lightbox__counter     { bottom: 17px; }

  /* About Us "Celebrating Every Tradition" lightbox — round buttons below the image */
  .mg-cet-lb__img {
    max-height: 72vh;
    margin-bottom: 64px;
  }
  .mg-cet-lb__prev,
  .mg-cet-lb__next {
    top: auto;
    bottom: 24px;
    transform: none;
  }
  .mg-cet-lb__prev { left:  calc(50% - 56px); }
  .mg-cet-lb__next { right: calc(50% - 56px); }
}

/* ═══════════════════════════════════════════════════════
   BOOKING FORM ANCHOR — landing space below the sticky header
   Every "Book Now" / "Enquire" button links to #mg-booking-form.
   scroll-margin-top = sticky header height + breathing room.
═══════════════════════════════════════════════════════ */
/* Desktop: no extra landing space needed — the section's own top padding clears the header */

/* Tablet: 70px sticky header + 18px gap, minus the section's own top padding
   (18 instead of 24: the first text line sits ~6px lower than the section edge) */
@media (min-width: 768px) and (max-width: 1024px) {
  #mg-booking-form {
    scroll-margin-top: calc(70px + 18px - clamp(50px, 5.208vw, 100px));
  }
}

/* Mobile: same maths */
@media (max-width: 767px) {
  #mg-booking-form {
    scroll-margin-top: calc(70px + 18px - clamp(33px, 11.364vw, 50px));
  }
}