:root {
  --navy:        #1b2a44;
  --navy-mid:    #243358;
  --navy-deep: #0f1a30;
  --wood:        #8b5e3c;
  --wood-light:  #b07d52;
  --wood-pale:   #e8d5be;
  --wood-ultra:  #f5ede2;
  --white:       #fff;
  --gold:       #c9a84c;
  --gold-light: #e8c97a;
  --off-white:   #f9f8f6;
  --smoke:       #f2f0ec;
  --border:      #e2ddd6;
  --text:        #4a4a4a;
  --text-mid:    #4a4a52;
  --text-soft:   #7a7a86;
  --warm-white:   #f7f5ef;
  --fraunces:    'Fraunces', serif;
  --outfit:      'Outfit', sans-serif;
  --inner:       1160px;
  --radius:      8px;
  --shadow:      0 4px 24px rgba(27,42,68,.08);
  --shadow-md:   0 8px 40px rgba(27,42,68,.14);
  --transition:  .25s ease;
  --cormorant-garamond: "Cormorant Garamond", serif;
  --jost: "Jost", sans-serif;
  --playfair-display: "Playfair Display", serif;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
html body { 
  font-family: var(--jost); 
  background: var(--white); 
  color: var(--text); 
  overflow-x: hidden; 
  line-height: 1.6; 
  font-size: 16px; 
  font-weight: 400;
  font-style: normal;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
}
body.admin-bar{
	margin-bottom: 32px;
}
a { color: inherit; text-decoration: none; }

a,
.btn,
.btn::before,
.btn::after,
.em2-animate,
.em2-animate::before,
.em2-animate::after,
.em2-animate *,
.footer-widget ul li a::before,
ul.mainmenu > li > a::after,
button.owl-next, button.owl-prev,
.owl-carousel .owl-nav button *,
.owl-carousel .owl-nav button::after,
.owl-carousel button.owl-dot{
	-webkit-transition: all ease .3s;
	-moz-transition: all ease .3s;
	-ms-transition: all ease .3s;
	-o-transition: all ease .3s;
	transition: all ease .3s;
}

/* TOPBAR */
.em2-topbar {
  background: var(--navy);
  padding: 10px 0px;
  font-size: 12px;
  font-weight: 300;
  color: rgba(255,255,255,.5);
}
.em2-topbar__inner {
  max-width: var(--inner);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.em2-topbar-inner a{
	&::after{
		content: '|';
		margin: 0 5px;
	}
	&:last-child::after{
		display: none;
		margin: 0px;
	}
}
.em2-topbar a { color: var(--wood-pale); transition: color var(--transition); }
.em2-topbar a:hover { color: var(--white); }
.em2-topbar i { margin-right: 5px; }
.em2-topbar__cta {
  background: var(--wood);
  color: var(--white) !important;
  padding: 5px 14px;
  border-radius: 4px;
  font-weight: 500;
  letter-spacing: .4px;
  transition: background var(--transition);
}
.em2-topbar__cta:hover { background: var(--wood-light) !important; }
.em2-topbar .social,
.em2-footer__inner .social{
	display: inline-flex;
	gap: 10px;
	& a::after{
		display: none;
	}
}
.em2-topbar .social::after{
	content: '|';
	margin-right: 10px;
	color: var(--wood-pale)
}

/* HEADER */
.em2-header {
  position: sticky;
  top: 0;
  z-index: 200;
  background: var(--white);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 1px 20px rgba(0,0,0,.06);
  transition: box-shadow var(--transition);
}
.em2-header.is-scrolled { box-shadow: var(--shadow-md); }
.em2-header__inner {
  
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

/* Logo */
.em2-logo { display: inline-flex; align-items: center; gap: 14px; text-decoration: none; flex-shrink: 0; }
.em2-logo__img { height: 40px; width: auto; }
.em2-logo__fallback { display: flex; align-items: center; gap: 12px; }
.em2-logo__hex {
  width: 42px;
  height: 42px;
  background: linear-gradient(135deg, var(--gold), var(--gold-light));
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fraunces);
  font-size: 22px;
  font-weight: 600;
  color: var(--navy-deep);
  flex-shrink: 0;
	font-family: var(--cormorant-garamond);
	letter-spacing: -0.5px;
}
.em2-logo__text { display: flex; flex-direction: column; line-height: 1.15; }
.em2-logo__name { font-family: var(--cormorant-garamond); font-size: 18px; font-weight: 600; color: var(--navy); letter-spacing: 0.5px }
.em2-logo__sub  { font-size: 10px; color: var(--gold); letter-spacing: 2px; text-transform: uppercase; font-family: var(--jost)}

/* Nav */
.em2-nav { display: flex; align-items: center; gap: 4px; }
.em2-nav .em2-nav__list { display: flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 0; }
.em2-nav .em2-nav__list a {
  font-size: 13px;
  color: var(--text-mid);
  padding: 7px 10px;
  border-radius: 6px;
  transition: all var(--transition);
  font-weight: 500;
}
.em2-nav .em2-nav__list a:hover,
.em2-nav .em2-nav__list .current-menu-item > a,
.em2-nav .em2-nav__list .current-menu-parent > a,
.em2-nav .em2-nav__list .current_page_parent > a,
.em2-nav .em2-nav__list .current_page_ancestor > a{
  color: var(--gold);
  font-weight: 500;
}
.em2-nav__cta { margin-left: 8px !important; }
/* Sub menu */
.em2-nav .em2-nav__list li{
  position: relative;
  padding: 0px;
}
.em2-nav .em2-nav__list > li{
	padding: 0px;
}
.em2-nav .sub-menu{
    top: 100%;
    min-width: 240px;
    padding: 0px;
    position: absolute;
    z-index: 99;
    visibility: hidden;
    list-style: none;
    -webkit-transition: all ease-out .3s;
    -moz-transition: all ease-out .3s;
    -ms-transition: all ease-out .3s;
    -o-transition: all ease-out .3s;
    transition: all ease-out .3s;
    opacity: 0;
    transform: scaleY(0);
    border-radius: 8px;
    left: 0px;
    overflow: hidden;
    background: var(--navy-deep);
    border: 1px solid rgba(201,168,76,0.2);
    & > * {
        white-space: nowrap;
        visibility: hidden;
    }
    & .sub-menu{
        left: 100%;
        top: -5px;
    }
    & a{
        position: relative;
        font-size: 12px;
        white-space: normal;
        color: rgba(255,255,255,0.8);
        padding: 10px 20px;
        display: block;
        border-left: 2px solid transparent;
        border-radius: 0px;
        &:hover{
          border-left-color: var(--gold);
          background: rgba(201, 168, 76, 0.08);
          color: var(--gold);
        }
    }
}
.em2-nav .em2-nav__list li:hover > .sub-menu{
    visibility: visible;
    transform: scaleY(1);
    opacity: 1;
    overflow: unset;
    & > * {
        visibility: visible;
    }
}
/* Burger */
.em2-burger {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
}
.em2-burger span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--navy);
  border-radius: 2px;
  transition: all var(--transition);
}
.em2-burger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.em2-burger.is-open span:nth-child(2) { opacity: 0; }
.em2-burger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* BUTTONS */
.em2-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  padding: 12px 24px;
  border-radius: 3px;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: all var(--transition);
  white-space: nowrap;
  text-transform: uppercase;
  height: 50px;
  letter-spacing: 0.5px;
}
.em2-btn--readmore{
	font-size: 12px;
	color: var(--gold);
	font-weight: 500;
	padding: 0px;
	letter-spacing: 1px;
	height: auto;
	&::after{
		content: '→';
	}
	&:hover{
		color: var(--gold);
		&::after{
			transform: translateX(4px);
		}
	}
}
.em2-btn--primary { background: var(--navy); color: var(--white); }
.em2-btn--primary:hover { background: var(--navy-mid); transform: translateY(-2px); box-shadow: var(--shadow-md); color: var(--white); }
.em2-btn--secondary { background: linear-gradient(135deg, var(--gold), var(--gold-light)); color: var(--navy-deep); box-shadow: 0 8px 32px rgba(201,168,76,0.3)}
.em2-btn--secondary:hover {transform: translateY(-2px); color: var(--navy-deep);}
.em2-btn--outline { background: var(--white); color: var(--navy); border: 1.5px solid var(--border); }
.em2-btn--outline:hover { border-color: var(--wood-pale); background: var(--wood-pale); color: var(--navy); transform: translateY(-2px);}
.em2-btn--ghost { background: transparent; color: rgba(255,255,255,.7); border: 1.5px solid rgba(255,255,255,.2); }
.em2-btn--ghost:hover { border-color: var(--gold); color: var(--gold); }
.em2-readmore{
	font-weight: 500;
	border-bottom: 1px solid var(--gold);
	padding-bottom: 2px;
	display: inline-flex;
	align-items: center;
	column-gap: 8px;
	&::after{
		font-family: "Font Awesome 6 Free";
	  font-weight: 900;
		content: "\f178";
		font-size: 10px;
	}
	&:hover{
		color: var(--text);
		gap: 15px;
	}
}
/* MAIN */
h1{
	font-size: 72px;
  line-height: 1.05;
}
h2{
	font-size: 52px;
  line-height: 1.1;
}
h3{
	font-size: 28px;
}
h4{
	font-size: 22px;
}
.em2-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 16px;
}
.em2-label::before { content: ''; width: 20px; height: 1.5px; background: var(--gold); }

.em2-title { font-family: var(--cormorant-garamond); color: var(--navy);}
.em2-title,
h1.em2-title,
h2.em2-title,
h3.em2-title,
h4.em2-title{
  font-weight: 300;
}
.em2-title em { color: var(--gold); }

.em2-main { min-height: 60vh; }
.wpb_text_column{
	& .em2-titles{
		margin-bottom: 30px;
	}
	& .block-content{
		margin-bottom: 45px;
	}
}
.wpb_text_column.text-md-center .em2-titles .em2-label::before,
.text-md-center.em2-titles .em2-label::before{
	display: none;
}
.em2-tags ul{
	list-style: none;
	margin: 0px;
	padding: 0px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
	& li{
		  background: rgba(201, 168, 76, 0.12);
	    border: 1px solid rgba(201, 168, 76, 0.3);
	    color: var(--gold-light);
	    font-size: 13px;
	    padding: 8px 18px;
	    border-radius: 100px;
	    font-weight: 400;
	}
}
.em2-tags.style_white ul li{
	border: 1px solid rgba(0, 0, 0, .08);
	background: var(--white);
	color: #5a5a5a;
}
.em2-tags.style_navy ul li{
	background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .12);
    color: rgba(255, 255, 255, .75);
	&:hover{
		background: rgba(139, 94, 60, .2);
	    border-color: var(--wood-light);
	    color: var(--wood-pale);
	}
}
.em2-single-partner{
	display: flex;
	align-items: center;
	gap: 48px;
	& .block-content{
		position: relative;
		& p:last-child{
			margin: 0px;
		}
		&::before{
			position: absolute;
			height: 48px;
			top: calc(50% - 24px);
			left: -24px;
			content: '';
			border-left: 1px solid rgba(255, 255, 255, 0.12);
		}
	}
}
.em2-galleries{
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	justify-content: flex-start;
	align-items: center;
}
.em2-article{
	& .meta{
		display: flex;
		align-items: center;
		margin-bottom: 10px;
		& a, & span{
			display: inline-flex;
			align-items: center;
			color: var(--gold);
			text-transform: uppercase;
			letter-spacing: 3px;
			font-size: 12px;
		}
		& a{
			&::after{
				content: '·';
				margin: 0 4px;
			}
		}
	}
	& .em2-title{
		font-family: var(--playfair-display);
		font-weight: 400;
		margin-bottom: 30px;
	}
	& .block-content{
		margin-bottom: 30px;
	}
}
.em2-articles{
	& .header-inner{
		margin-bottom: 30px;
	}
	& .em2-article{
		margin-bottom: 30px;
    border: 1px solid rgba(0,0,0,.07);
    border-radius: 2px;
    &:hover{
      box-shadow: 0 16px 56px rgba(0, 0, 0, .1);
      transform: translateY(-6px);
    }
		& .body-inner{
			padding: 28px 24px;
			background: var(--white);
		}
		& .em2-title{
			font-size: 20px;
		}
		& .footer-inner{
			display: flex;
			justify-content: space-between;
			align-items: center;
			& .em2-readmore{
				border: none;
				margin: 0px;
				padding: 0px;
				color: var(--gold);
				&:hover{
					gap: 8px;
				}
			}
			& .article-date{
				font-size: 13px;
			}
		}
	}
}
.em2-text-column{
	position: relative;
	&.hasthumb{
		padding: 10vh 0;
	}
	& .thumb{
		position: absolute;
		width: calc(50% - 30px);
		top: 0px;
		left: 0px;
		overflow: hidden;
		height: 100%;
		&.style_2{
			left: auto;
			right: 0px;
		}
		& img{
			object-fit: cover;
			width: 100%;
			height: 100%;
			transition: all 0.3s
		}
    & .caption{
			position: absolute;
      top: 24px;
      left: 24px;
      background: var(--navy);
      color: #fff;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 2px;
      text-transform: uppercase;
      padding: 6px 14px;
      border-radius: 3px;
		}
		&.style_2 .caption{
			left: auto;
			right: 24px;
		}
		&:hover img{
			transform: scale(1.1);
		}
	}
  & .numb{
    font-family: var(--fraunces);
    font-size: 80px;
    font-weight: 300;
    line-height: 1;
    color: rgba(27, 42, 68, .06);
    margin-bottom: -30px;
  }
}
.em2-vcquote.em2-qoute{
	font-style: italic;
	& p:last-child{
		margin: 0px;
	}
}
.wpcf7-form h3.em2-title{
	font-weight: 600;
}
.wpcf7-form .mb-3 p:last-child{
	margin: 0px;
}
.wpcf7-form .mb-3 .wpcf7-spinner{
	position: absolute;
	right: 0;
	top: calc(50% - 12px);
}
.wpcf7-form .note{
	font-size: 12px;
}
.em2-listrow {margin-top: 35px; row-gap: 20px; font-size: 13px;}
.em2-listrow .title {font-weight: 500; margin-bottom: 2px;}
.em2-listrow.box.row{
	row-gap: 4px;
	margin-left: -2px;
	margin-right: -2xp;
	& [class*='col-']{
		padding-left: 2px;
		padding-right: 2px;
	}
	& .box-inner{
		background: rgba(255, 255, 255, .05);
	    border: 1px solid rgba(255, 255, 255, .08);
	    padding: 16px 18px;
	    border-radius: 2px;
		& .title{
			font-family: var(--fraunces);
		    font-size: 22px;
		    color: var(--wood-pale);
		    font-weight: 300;
		    line-height: 1;
		    margin-bottom: 4px;
		}
	}
}
.em2-listrow-list{
	list-style: none;
	margin: 0px;
	padding: 0px;
	& li{
		padding: 14px 0;
	    border-bottom: 1px solid var(--border);
	    display: flex;
	    gap: 14px;
	    align-items: flex-start;
	    font-size: 13px;
		&:last-child{
			border-bottom: none;
		}
		&::before{
			content: '';
			width: 6px;
		    height: 6px;
		    border-radius: 50%;
		    background: var(--gold);
			margin-top: 5px;
		}
		& .title{
			font-weight: 600;
		    display: block;
		    margin-bottom: 2px;
			color: var(--navy);
		}
	}
  &.list-check li::before{
		width: 28px;
	    height: 28px;
	    background: var(--navy);
	    border-radius: 50%;
	    display: flex;
	    align-items: center;
	    justify-content: center;
	    flex-shrink: 0;
	    font-size: 11px;
	    color: var(--wood-pale);
	    font-weight: 700;
		  content: '✓';
	}
}
.white .em2-listrow-list li .title{
	color: var(--white);
}
.em2-qoute{
	  margin: 40px 0;
    padding: 32px 36px;
    background: #ede8df;
    border-left: 3px solid var(--gold);
    border-radius: 0 2px 2px 0;
    & .block-content{
        font-family: var(--cormorant-garamond);
        font-style: italic;
        font-size: 20px;
        font-weight: 600;
        color: var(--navy);
        line-height: 1.5;
        margin: 0px;
    }
    & .title{
        font-size: 12px;
        margin-top: 10px;
        letter-spacing: 0.5px;
    }
    &.top{
      & .title{
        font-size: 13px;
        font-weight: 500;
        letter-spacing: 0;
        margin: 0 0 5px 0;
      }
      & .block-content{
        font-family: var(--jost);
        font-style: normal;
        font-size: 13px;
        font-weight: 400;
      }
    }
}
.em2-box-tinymce{
  background: var(--wood-ultra);
  border: 1px solid var(--wood-pale);
  border-radius: 10px;
  padding: 20px 24px;
  font-size: 14px;
  color: var(--navy);
  line-height: 1.6;
  & strong{
    color: var(--wood);
  }
}
.em2Block{
  margin-bottom: 30px;
}
.em2-mb-4, .em2Block.em2-mb-4{
  margin-bottom: 4px !important;
}
.vc_row-no-padding .wpb_wrapper .em2Block:last-child,
.noMargin, 
.noMargin.em2Block{
  margin: 0;
}
.vc_row-no-padding .vc_column-inner,
.vc_row.pt-0 .vc_column-inner{
	padding-top: 0px !important;
}
/* FORM */
.form-control{
    height: 50px;
    padding: 0px 15px;
    border: 1px solid rgba(0, 0, 0, .12);
    border-radius: 2px;
    font-size: 15px;
    color: var(--text);
    background: var(--white);
    transition: border-color .2s;
    outline: none;
    -webkit-appearance: none;
}
.form-control:focus,
.form-select:focus{
	border-color:var(--gold);
	box-shadow:0 0 0 3px rgba(184,149,42,.08);
}
textarea.form-control{
	min-height: 100px;
	height: auto;
	padding: 15px;
}
.form-select{
    height: 50px;
    padding: 0px 15px;
    border: 1px solid rgba(0, 0, 0, .12);
    border-radius: 2px;
    font-size: 15px;
    color: var(--text);
    background-color: var(--white);
    transition: border-color .2s;
    outline: none;
    -webkit-appearance: none;
}
.form-label{
	  display: block;
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--text-soft);
    margin-bottom: 2px;
    font-weight: 400;
}
/* COMMONS */
.bgOne{
  background: linear-gradient(135deg,rgba(201, 168, 76, 1) 0%, rgba(232, 201, 122, 1) 100%, rgba(255, 255, 255, 1) 100%);;
}
.vc_row.bgTwo{
	position: relative;
	&::after{
		position: absolute;
		width: 50%;
		height: 100%;
		background: #f2f0eb;
		top: 0;
		right: 0;
		content: '';
		display: block !important;
	}
}
.wpb_text_column .block-content{
	& h1, & h2, & h3, & h4, & h5{
		font-family: var(--fraunces);
		font-weight: 300;
		color: var(--navy);
		margin-bottom: 15px;
	}
}
strong{
	color: var(--navy);
	font-weight: 600;
}
.block-content p:last-child{
  margin-bottom: 0px;
}
/* SECTIONS COMMUNES */
.em2-section { padding: 80px 60px; }
.em2-section__inner { max-width: var(--inner); margin: 0 auto; }

/* Reveal animation */
.em2-reveal { opacity: 0; transform: translateY(24px); transition: opacity .65s ease, transform .65s ease; }
.em2-reveal.is-visible { opacity: 1; transform: translateY(0); }

/* PAGE */
.em2-page__banner { position: relative; height: 420px; overflow: hidden; }
.em2-page__banner-img { width: 100%; height: 100%; object-fit: cover; }
.em2-page__banner-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to right, rgba(27,42,68,.75), rgba(27,42,68,.3));
  display: flex; align-items: flex-end;
}
.em2-page__banner-inner { max-width: var(--inner); margin: 0 auto; padding: 0 60px 48px; width: 100%; }
.em2-page__header { background: var(--navy); padding: 60px 60px; }
.em2-page__header-inner { max-width: var(--inner); margin: 0 auto; }
.em2-page__title {
  font-family: var(--fraunces);
  font-size: clamp(32px,4vw,60px);
  font-weight: 300;
  color: var(--white);
  line-height: 1.1;
}
.em2-page__content { max-width: var(--inner); margin: 0 auto; padding: 60px; }

/* ARTICLE */
.em2-article__banner { height: 380px; overflow: hidden; }
.em2-article__banner-img { width: 100%; height: 100%; object-fit: cover; }
.em2-article__wrap { max-width: 760px; margin: 0 auto; padding: 60px 60px; }
.em2-article__title { font-family: var(--fraunces); font-size: clamp(28px,3.5vw,48px); font-weight: 300; color: var(--navy); line-height: 1.1; margin-bottom: 20px; }
.em2-article__meta { display: flex; gap: 20px; font-size: 13px; color: var(--text-soft); margin-bottom: 40px; border-bottom: 1px solid var(--border); padding-bottom: 20px; }
.em2-article__meta i { margin-right: 5px; color: var(--wood); }
.em2-article__nav { display: flex; justify-content: space-between; gap: 20px; margin-top: 60px; padding-top: 32px; border-top: 1px solid var(--border); }
.em2-article__nav-link { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--text-mid); font-weight: 500; transition: color var(--transition); }
.em2-article__nav-link:hover { color: var(--navy); }

/* PROSE */
.em2-prose h1,.em2-prose h2,.em2-prose h3,.em2-prose h4 { font-family: var(--fraunces); color: var(--navy); margin: 1.5em 0 .5em; line-height: 1.2; font-weight: 400; }
.em2-prose h2 { font-size: clamp(22px,2.5vw,36px); }
.em2-prose h3 { font-size: clamp(18px,2vw,28px); }
.em2-prose p  { margin-bottom: 1.2em; color: var(--text-mid); font-weight: 300; line-height: 1.8; }
.em2-prose a  { color: var(--wood); border-bottom: 1px solid var(--wood-pale); transition: all var(--transition); }
.em2-prose a:hover { color: var(--wood-light); border-color: var(--wood-light); }
.em2-prose ul,.em2-prose ol { padding-left: 1.5em; margin-bottom: 1.2em; }
.em2-prose li { color: var(--text-mid); margin-bottom: .4em; }
.em2-prose strong { color: var(--navy); font-weight: 600; }
.em2-prose blockquote { border-left: 3px solid var(--wood); padding: 16px 24px; background: var(--wood-ultra); margin: 1.5em 0; border-radius: 0 var(--radius) var(--radius) 0; font-style: italic; color: var(--text-mid); }
.em2-prose img { border-radius: var(--radius); margin: 1.5em 0; }

/* ARCHIVE */
.em2-archive__header { background: var(--navy); padding: 60px; }
.em2-archive__header-inner { max-width: var(--inner); margin: 0 auto; }
.em2-archive__title { font-family: var(--fraunces); font-size: clamp(28px,3.5vw,48px); font-weight: 300; color: var(--white); line-height: 1.1; }
.em2-archive__content { max-width: var(--inner); margin: 0 auto; padding: 60px; }
.em2-archive__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.em2-archive__pagination { margin-top: 48px; display: flex; justify-content: center; }
.em2-archive__pagination .page-numbers {
  display: inline-flex; align-items: center; gap: 4px;
}
.em2-archive__pagination a,.em2-archive__pagination span {
  padding: 8px 14px; border-radius: 6px; font-size: 14px;
  border: 1px solid var(--border); transition: all var(--transition);
}
.em2-archive__pagination a:hover,.em2-archive__pagination .current {
  background: var(--navy); color: var(--white); border-color: var(--navy);
}

/* Card article */
.em2-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  transition: all var(--transition);
}
.em2-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: var(--wood-pale); }
.em2-card__img { aspect-ratio: 16/9; overflow: hidden; }
.em2-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.em2-card:hover .em2-card__img img { transform: scale(1.04); }
.em2-card__body { padding: 24px; }
.em2-card__cat { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--wood); font-weight: 500; margin-bottom: 10px; }
.em2-card__title { font-family: var(--fraunces); font-size: 20px; color: var(--navy); margin-bottom: 10px; font-weight: 400; line-height: 1.25; }
.em2-card__excerpt { font-size: 14px; color: var(--text-mid); line-height: 1.7; font-weight: 300; margin-bottom: 16px; }
.em2-card__link { font-size: 13px; color: var(--wood); font-weight: 500; display: inline-flex; align-items: center; gap: 6px; transition: gap var(--transition); }
.em2-card:hover .em2-card__link { gap: 10px; }

/* 404 */
.em2-404 {
  min-height: 70vh;
  display: flex; align-items: center; justify-content: center;
  background: var(--navy);
  text-align: center;
  padding: 60px;
}
.em2-404__inner { max-width: 480px; }
.em2-404__num {
  font-family: var(--fraunces);
  font-size: clamp(80px,12vw,160px);
  font-weight: 300;
  color: rgba(255,255,255,.08);
  line-height: 1;
  margin-bottom: -20px;
}
.em2-404__title { font-family: var(--fraunces); font-size: clamp(24px,3vw,40px); color: var(--white); font-weight: 300; margin-bottom: 16px; }
.em2-404__text { font-size: 16px; color: rgba(255,255,255,.5); margin-bottom: 32px; font-weight: 300; }

/* FOOTER */
.em2-footer { background: var(--navy-deep); }
.em2-footer__top { padding: 64px 0px 48px; color: rgba(255,255,255,0.6)}
.em2-footer__inner { max-width: calc(var(--inner) + 120px); margin: 0 auto; display: flex; gap: 60px; }
.em2-footer__col--brand { flex-shrink: 0; width: 280px; }
.em2-footer__cols { flex: 1; }
.em2-footer__phone,
.em2-footer__email {
  display: flex; align-items: center; gap: 10px;
  font-size: 14px; color: rgba(255,255,255,.55);
  margin-top: 16px; transition: color var(--transition);
}
.em2-footer__phone:hover,
.em2-footer__email:hover { color: var(--wood-pale); }
.em2-footer__phone i,
.em2-footer__email i { color: var(--wood-light); font-size: 16px; }

.em2-footer__top ul{
	list-style: none;
	margin: 0px;
	padding: 0px;
}

.em2-footer .widget-title {
  font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
  color: var(--gold); font-weight: 500; margin-bottom: 20px;
}
.em2-footer .footer-widget a {
  display: block; font-size: 14px; color: rgba(255,255,255,0.6);
  margin-bottom: 10px; transition: color var(--transition);
}
.em2-footer .footer-widget a:hover { color: var(--gold); }
.em2-footer .footer-widget p { font-size: 13px; color: rgba(255,255,255,.4); line-height: 1.7; margin-top: 12px; font-weight: 300; }

.em2-footer__bottom {
  padding: 0px 60px;
}
.em2-footer__bottom .em2-footer__inner {
  font-size: 12px;
  color: rgba(255,255,255,0.6);
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  padding: 20px 0px;
  border-top: 1px solid rgba(255,255,255,.07);
}
.em2-footer__bottom a { color: rgba(255,255,255,.3); transition: color var(--transition); }
.em2-footer__bottom a:hover { color: rgba(255,255,255,.6); }
.em2-footer__bottom .em2-socket ul{
	list-style: none;
	margin: 0px;
	padding: 0px;
	display: flex;
	& li{
		display: inline-flex;
		align-items: center;
		& a{
			margin: 0px;
			padding: 0px;
		}
		&::before{
			content: ' · ';
			display: inline-block;
			margin: 0 5px;
		}
		&:first-child::before{
			display: none;
		}
	}
}
.em2-footer-brand-desc{
	font-size: 14px;
	margin-top: 16px;
	font-weight: 300;
	line-height: 1.7;
	max-width: 420px;
}

.em2-btn-whatsapp{
	position: fixed;
	bottom: 90px;
	right: 15px;
	background: url('../img/whatsapp.svg') no-repeat center;
	width: 50px;
	height: 50px;
	display: block;
	z-index: 99999;
}
/* Logo fallback footer */
.em2-logo__fallback--light .em2-logo__name { color: var(--white); }

/* RESPONSIVE */
@media only screen and (min-width: 1200px) and (max-width: 1399px){
	.em2-header__inner{
		display: block;
		padding: 15px 0px;
		height: auto;
		text-align: center;
		& .em2-nav{
			justify-content: center;
		}
	}
}
@media (max-width: 1200px){
  .em2-burger { display: flex; }
  .em2-header__inner { padding: 0 20px; }
  .em2-nav {
	display: none;
	position: fixed; inset: 72px 0 0 0;
	background: var(--white);
	flex-direction: column; align-items: flex-start;
	padding: 24px 24px;
	border-top: 1px solid var(--border);
	overflow-y: auto; gap: 0;
  }
  .em2-nav.is-open { display: flex; }
  .em2-nav .em2-nav__list {
	  display: block;
	  & .sub-menu{
		  position: static;
		  transform: none;
		  opacity: 1;
		  background: none;
		  border: none;
		  margin-left: 15px;
		  & > *{
			  visibility: visible;
		  }
		  & li a{
			  color: var(--text-mid);
		  }
      & li.current-menu-item > a,
			& li.current-menu-parent > a,
			& li.current_page_parent > a,
			& li.current_page_ancestor > a{
				color: var(--gold);
			}
	  }
  }
  .em2-nav .em2-nav__list a { display: block; padding: 12px 16px; font-size: 15px; border-radius: 6px; }
  .em2-nav__cta { margin-top: 16px; width: 100%; justify-content: center; }
}

@media (min-width: 769px){
  .pd-md-right-50{
    padding-right: 50px !important;
  }
  .pd-md-left-50{
    padding-left: 50px !important;
  }
  .pd-md-right-100{
    padding-right: 100px !important;
  }
  .pd-md-left-100{
    padding-left: 100px !important;
  }
}
@media (max-width: 1024px) {
  .em2-topbar,
  .em2-header__inner,
  .em2-section,
  .em2-page__header,
  .em2-page__content,
  .em2-article__wrap,
  .em2-archive__header,
  .em2-archive__content,
  .em2-footer__top,
  .em2-footer__bottom { padding-left: 32px; padding-right: 32px; }
  .em2-page__banner-inner { padding-left: 32px; padding-right: 32px; }
}

@media (max-width: 768px) {
  .em2-section,
  .em2-page__header,
  .em2-page__content,
  .em2-archive__header,
  .em2-archive__content,
  .em2-article__wrap,
  .em2-footer__top,
  .em2-footer__bottom { padding-left: 20px; padding-right: 20px; }
  .em2-archive__grid { grid-template-columns: 1fr; }
  .em2-footer__inner { flex-direction: column; gap: 40px; }
  .em2-footer__col--brand { width: 100%; }
  .em2-article__nav { flex-direction: column; }
  .em2-topbar-inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
	& .social::after, & > a::after{
		display: none;
	}
}
  footer .footer-widget{
		margin-bottom: 30px;
	}
  .em2-single-partner{
		display: block;
		text-align: center;
		& .block-content{
			margin: 15px 0px 0px 0px;
			padding: 0px;
			&::before{
				display: none;
			}
		}
	}
  .em2-galleries .thumb:nth-child(2n+2),
	.em2-galleries .thumb:nth-child(2n+3){
		width: calc((100% - 4px)/2);
	}
  .em2-buttons .em2-btn{
    margin-bottom: 15px;
    &:last-child{
      margin-bottom: 0px;
    }
  }
  .em2-articles .em2-article img{
		object-fit: cover;
		width: 100%;
	}
  .em2-text-column{
	  &.hasthumb{
		  padding: 0;
	  }
	  &.style_2, &.style_1{
		  display: flex;
		  flex-direction: column-reverse;
	  }
		& .thumb{
			position: relative;
			display: flex;
			width: 100%;
			justify-content: center;
		}
	}
  h1{
		font-size: 52px;
	  line-height: 1;
	}
	h2{
		font-size: 32px;
	  line-height: 1;
	}
}

@media (max-width: 576px) {
    .em2-listrow__item { grid-template-columns: 1fr; gap: 6px; }
}
