@charset "UTF-8";
/* ===== Imports ===== */
@import url(normalize.css);
@import url(root.css);
@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap");
@import url("https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&display=swap");
/* ==========================================================================
   Freight Big Pro is self-hosted — @font-face blocks live in fonts/fonts.css,
   linked from inc/header.php before style.css.
   Weights available: 300 Light · 400 Book · 500 Medium · 600 Semibold ·
   700 Bold · 900 Black, each with a matching italic.
   ========================================================================== */
/* ==========================================================================
   GLOBALS
   ========================================================================== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  outline: none;
}

html {
  scroll-behavior: smooth;
  font-size: 100%;
}

body {
  font-family: var(--font-body, "DM Sans", sans-serif);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.8;
  color: var(--dark-grey, #5c5c5c);
  background: var(--white, #ffffff);
  overflow-x: hidden;
}

p {
  font-family: var(--font-body, "DM Sans", sans-serif);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.8;
  color: var(--dark-grey, #5c5c5c);
  margin-bottom: 1rem;
}
p:last-child {
  margin-bottom: 0;
}

h1,
h2,
h3,
h4 {
  font-family: var(--font-heading, "Freight Big Pro", serif);
  font-weight: 700;
  color: var(--primary, #002349);
  margin-bottom: 1rem;
}

h5,
h6 {
  font-family: var(--font-body, "DM Sans", sans-serif);
  color: var(--primary, #002349);
  margin-bottom: 0.5rem;
}

h1 {
  font-size: 3.75rem;
  line-height: 4.375rem;
}

h2 {
  font-size: 2.75rem;
  line-height: 1.2;
}

h3 {
  font-size: 2.5rem;
  line-height: 1.2;
}

h4 {
  font-size: 1.5rem;
  line-height: 1.3;
}

h5 {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.4;
}

h6 {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

a {
  text-decoration: none;
  color: inherit;
  transition: all 0.3s ease-in-out;
}
a:hover {
  color: var(--primary, #002349);
}

/* ===== Buttons ===== */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  min-width: 14.25rem;
  padding: 1.25rem 1.5rem;
  font-family: var(--font-body, "DM Sans", sans-serif);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.25;
  text-transform: uppercase;
  text-align: center;
  white-space: nowrap;
  border: 0.0625rem solid var(--white, #ffffff);
  border-radius: 62.4375rem;
  background: var(--white, #ffffff);
  color: var(--primary, #002349);
  cursor: pointer;
  transition: all 0.3s ease-in-out;
}
.btn:hover {
  background: var(--primary, #002349);
  border-color: var(--primary, #002349);
  color: var(--white, #ffffff);
}

.navybtn {
  background: var(--primary, #002349);
  border-color: var(--primary, #002349);
  color: var(--white, #ffffff);
}
.navybtn:hover {
  background: var(--white, #ffffff);
  border-color: var(--primary, #002349);
  color: var(--primary, #002349);
}

.btnborder {
  background: transparent;
  border-color: var(--white, #ffffff);
  color: var(--white, #ffffff);
}
.btnborder:hover {
  background: var(--white, #ffffff);
  color: var(--primary, #002349);
}

.linkbtn {
  display: inline-block;
  font-family: var(--font-body, "DM Sans", sans-serif);
  font-size: 1rem;
  font-weight: 600;
  line-height: normal;
  text-transform: uppercase;
  text-decoration: underline;
  text-underline-position: from-font;
  color: var(--white, #ffffff);
}

/* ===== Eyebrow (no accent dot in this design) ===== */
.eyebrow {
  display: block;
  font-family: var(--font-body, "DM Sans", sans-serif);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--dark-grey, #5c5c5c);
}

/* ===== Icon chip + social list (shared by header and footer) ===== */
.icocircle {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  font-size: 0.875rem;
  color: var(--white, #ffffff);
  border: 0.0625rem solid rgba(255, 255, 255, 0.15);
  border-radius: 50%;
  transition: all 0.3s ease-in-out;
}

.social ul {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.social ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  font-size: 0.75rem;
  color: var(--white, #ffffff);
  background: rgba(255, 255, 255, 0.05);
  border-radius: 50%;
}
.social ul li a:hover {
  background: var(--white, #ffffff);
  color: var(--primary, #002349);
}

.socialft ul {
  gap: 0.875rem;
}
.socialft ul li a {
  width: 2rem;
  height: 2rem;
  font-size: 0.875rem;
  color: var(--primary, #002349);
  background: var(--white, #ffffff);
}
.socialft ul li a:hover {
  background: rgba(255, 255, 255, 0.8);
  color: var(--primary, #002349);
}

/* ===== Section spacing ===== */
.sec-space {
  padding-top: 7.5rem;
  padding-bottom: 7.5rem;
}

section {
  scroll-margin-top: 7rem;
}

.sec-space-sm {
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
}

/* ===== Section head ===== */
.sechead {
  margin-bottom: 2.5rem;
}
.sechead .eyebrow {
  margin-bottom: 1rem;
}
.sechead h2 {
  margin-bottom: 0;
}

/* ===== Form fields ===== */
input:not([type=submit], [type=checkbox], [type=radio]),
select,
textarea {
  width: 100%;
  padding: 1.3125rem 1rem;
  font-family: var(--font-body, "DM Sans", sans-serif);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.125;
  color: var(--primary, #002349);
  background: var(--white, #ffffff);
  border: 0.0625rem solid var(--border-faint, rgba(92, 92, 92, 0.1));
  border-radius: 0.25rem;
  transition: all 0.3s ease-in-out;
}
input:not([type=submit], [type=checkbox], [type=radio]):focus,
select:focus,
textarea:focus {
  border-color: var(--primary, #002349);
}

textarea {
  min-height: 9.375rem;
  resize: none;
}

input::-moz-placeholder, textarea::-moz-placeholder {
  color: var(--dark-grey, #5c5c5c);
  opacity: 1;
}

input::placeholder,
textarea::placeholder {
  color: var(--dark-grey, #5c5c5c);
  opacity: 1;
}

select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}

label {
  display: block;
  font-family: var(--font-body, "DM Sans", sans-serif);
  font-size: 1rem;
  font-weight: 500;
  line-height: normal;
  color: var(--primary, #002349);
  margin-bottom: 0.5rem;
}

input[type=submit] {
  width: auto;
}

.submitbtn {
  position: relative;
}
.submitbtn input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

.checkbox {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}
.checkbox input[type=checkbox] {
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  accent-color: var(--primary, #002349);
  cursor: pointer;
}
.checkbox label {
  margin-bottom: 0;
  font-weight: 400;
  color: var(--dark-grey, #5c5c5c);
  cursor: pointer;
}

/* ==========================================================================
   HEADER — .mainhd (SOP §10)
   ========================================================================== */
.mainhd {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 99;
  background: transparent;
  backface-visibility: hidden;
  transition: transform 0.4s ease-in-out, background 0.3s ease-in-out;
}
.mainhd .headerrow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.625rem 0;
}
.mainhd .logo {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  flex-shrink: 0;
}
.mainhd .logo a {
  display: block;
  flex-shrink: 0;
  padding: 0.625rem 0;
}
.mainhd .logo img {
  width: 6.25rem;
  max-width: none;
}
.mainhd .logo .logopartner img {
  width: 7.9375rem;
}
.mainhd .logo .logopartner .logolight {
  display: block;
}
.mainhd .headerright {
  display: flex;
  align-items: center;
  gap: 2.875rem;
}
.mainhd .navigation .stellarnav > ul {
  display: flex;
  align-items: center;
  gap: 1.6875rem;
}
.mainhd .navigation .stellarnav > ul > li > a {
  display: block;
  padding: 0.625rem;
  font-family: var(--font-body, "DM Sans", sans-serif);
  font-size: 1rem;
  font-weight: 500;
  line-height: normal;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  color: var(--white, #ffffff);
}
.mainhd .navigation .stellarnav > ul > li:hover > a, .mainhd .navigation .stellarnav > ul > li.active > a {
  opacity: 0.7;
  color: var(--white, #ffffff);
}
.mainhd .navigation .stellarnav > ul > li.navcta {
  display: none;
}

/* ===== Scrolled header ===== */
.scroll-active .mainhd {
  background: var(--primary, #002349);
}

/* ===== Topbar auto-hide ===== */
.topbar-hidden .mainhd {
  transform: translate3d(0, -3.1875rem, 0);
}

body:has(.navigation-white) {
  transition: padding-top 0.4s ease-in-out;
}
body:has(.navigation-white).topbar-hidden {
  padding-top: 8.375rem;
}

/* ===== White header — inner pages (SOP §10b) ===== */
.navigation-white {
  display: none;
}

.logo .logodark {
  display: none;
}

body:has(.navigation-white) {
  padding-top: 11.5rem;
}
body:has(.navigation-white) .mainhd {
  background: var(--white, #ffffff);
}
body:has(.navigation-white) .logo .logolight {
  display: none;
}
body:has(.navigation-white) .logo .logodark {
  display: block;
}
body:has(.navigation-white) .topbar {
  background: var(--primary, #002349);
}
body:has(.navigation-white) .navigation .stellarnav > ul > li > a {
  color: var(--primary, #002349);
}
body:has(.navigation-white) .navigation .stellarnav > ul > li:hover > a, body:has(.navigation-white) .navigation .stellarnav > ul > li.active > a {
  color: var(--primary, #002349);
}
body:has(.navigation-white) .contact .btn {
  background: var(--primary, #002349);
  border-color: var(--primary, #002349);
  color: var(--white, #ffffff);
}
body:has(.navigation-white) .contact .btn:hover {
  background: transparent;
  color: var(--primary, #002349);
}

/* ===== Top bar ===== */
.topbar {
  border-bottom: 0.0625rem solid rgba(255, 255, 255, 0.2);
}
.topbar .topbarrow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5625rem 0;
}
.topbar .topcontact ul {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0;
}
.topbar .topcontact ul li a {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: normal;
  color: var(--white, #ffffff);
  white-space: nowrap;
}
.topbar .topcontact ul li a:hover .icocircle {
  background: var(--white, #ffffff);
  border-color: var(--white, #ffffff);
  color: var(--primary, #002349);
}
.topbar .topcontact ul li a em {
  font-style: normal;
}
.topbar .topsocial {
  display: flex;
  align-items: center;
  gap: 0.9375rem;
}
.topbar .topsociallabel {
  font-size: 1rem;
  line-height: 1.5rem;
  color: var(--white, #ffffff);
  white-space: nowrap;
}

/* ==========================================================================
   VIDEO POPUP — opened by any .playbtn[data-video]
   ========================================================================== */
.videomodal {
  position: fixed;
  inset: 0;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.875rem;
  background: rgba(0, 0, 0, 0.85);
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease-in-out;
}
.videomodal.active {
  opacity: 1;
  visibility: visible;
}

.videomodalinner {
  position: relative;
  width: 100%;
  max-width: 68.75rem;
}

.videomodalplayer {
  display: block;
  width: 100%;
  height: auto;
  max-height: 80vh;
  background: var(--black, #000000);
  border-radius: 0.5rem;
}

.videomodalclose {
  position: absolute;
  top: -3.125rem;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  font-size: 1.125rem;
  color: var(--white, #ffffff);
  background: transparent;
  border: 0.0625rem solid rgba(255, 255, 255, 0.4);
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
}
.videomodalclose:hover {
  color: var(--primary, #002349);
  background: var(--white, #ffffff);
  border-color: var(--white, #ffffff);
}

body.modal-open {
  overflow: hidden;
}

/* ==========================================================================
   FOOTER — .mainft
   ========================================================================== */
.mainft {
  padding: 3.5rem 0 2.5rem;
  background: var(--primary, #002349);
}
.mainft .ftmain {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2.5rem;
}
.mainft {
  /* ===== Brand ===== */
}
.mainft .ftbrand {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  max-width: 24.25rem;
}
.mainft .ftbrand:after {
  content: "";
  display: block;
  width: 2rem;
  height: 0.0625rem;
  background: rgba(255, 255, 255, 0.1);
}
.mainft .ftlogo img {
  width: 9.875rem;
}
.mainft .ftrole,
.mainft .ftcompany {
  font-family: var(--font-body, "DM Sans", sans-serif);
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
}
.mainft .ftrole {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.8);
}
.mainft .ftcompany {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.6);
}
.mainft {
  /* ===== Right column ===== */
}
.mainft .ftright {
  display: flex;
  flex-direction: column;
  gap: 2.375rem;
}
.mainft .ftrow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.5rem;
}
.mainft .ftnav ul {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding: 1.5rem 0 1rem;
}
.mainft .ftnav ul li {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
.mainft .ftnav ul li a {
  font-size: 1rem;
  line-height: normal;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--white, #ffffff);
}
.mainft .ftnav ul li a:hover {
  color: rgba(255, 255, 255, 0.7);
}
.mainft .ftnav ul li:not(:last-child):after {
  content: "|";
  font-size: 0.75rem;
  line-height: normal;
  color: rgba(255, 255, 255, 0.15);
}
.mainft {
  /* ===== Contact row ===== */
}
.mainft .ftcontact ul {
  display: flex;
  align-items: center;
  gap: 5.0625rem;
}
.mainft .ftcontact ul li {
  display: flex;
  align-items: center;
  gap: 5.0625rem;
}
.mainft .ftcontact ul li a {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  font-size: 1rem;
  line-height: normal;
  white-space: nowrap;
  color: var(--white, #ffffff);
}
.mainft .ftcontact ul li a:hover .icocircle {
  background: var(--white, #ffffff);
  border-color: var(--white, #ffffff);
  color: var(--primary, #002349);
}
.mainft .ftcontact ul li:not(:last-child):after {
  content: "";
  width: 0.0625rem;
  height: 1.5rem;
  background: rgba(255, 255, 255, 0.1);
}
.mainft .ftaddress {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}
.mainft .ftaddress span:last-child {
  color: rgba(255, 255, 255, 0.8);
}
.mainft {
  /* ===== Legal ===== */
}
.mainft .ftbottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding-top: 1.25rem;
  margin-top: 2.5rem;
  border-top: 0.0625rem solid rgba(255, 255, 255, 0.07);
}
.mainft .ftbottom p {
  font-size: 1rem;
  line-height: normal;
  color: rgba(255, 255, 255, 0.5);
}
.mainft .ftlegal ul {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.mainft .ftlegal ul li {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.mainft .ftlegal ul li a {
  font-size: 1rem;
  line-height: normal;
  white-space: nowrap;
  color: rgba(255, 255, 255, 0.7);
}
.mainft .ftlegal ul li a:hover {
  color: var(--white, #ffffff);
}
.mainft .ftlegal ul li:not(:last-child):after {
  content: "|";
  color: rgba(255, 255, 255, 0.15);
}

/* ==========================================================================
   SECTIONS
   ========================================================================== */
/* ===== Blog details ===== */
.bloghero {
  padding: 5rem 0 3rem;
  background: var(--off-white, #fbfbfa);
}
.bloghero .blogherocont {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  text-align: center;
}
.bloghero .blogherocont > ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  font-size: 0.8125rem;
  line-height: normal;
  text-transform: uppercase;
}
.bloghero .blogherocont > ul li {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-weight: 500;
  color: var(--dark-grey, #5c5c5c);
}
.bloghero .blogherocont > ul li:not(:last-child):after {
  content: "•";
  font-weight: 400;
}
.bloghero .blogherocont > ul .blogmetatag {
  font-weight: 700;
  color: var(--gold, #c9a96e);
}
.bloghero h1 {
  max-width: 62.5rem;
  margin-bottom: 0;
  font-size: 3.5rem;
  line-height: 1.25;
}
.bloghero .bloglead {
  max-width: 50rem;
  font-size: 1.125rem;
  line-height: 1.6;
}
.bloghero .blogauthor {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding-top: 1rem;
}
.bloghero .blogavatar {
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  overflow: hidden;
  border-radius: 50%;
}
.bloghero .blogavatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.bloghero .blogauthorinfo {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  text-align: left;
  line-height: normal;
}
.bloghero .blogauthorname {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--primary, #002349);
}
.bloghero .blogauthorrole {
  font-size: 0.8125rem;
  color: var(--dark-grey, #5c5c5c);
}

.blogfeatured {
  background: var(--off-white, #fbfbfa);
}
.blogfeatured .blogfeaturedmedia {
  border-radius: 0.5rem;
  overflow: hidden;
}
.blogfeatured .blogfeaturedmedia img {
  width: 100%;
  aspect-ratio: 1338/600;
  -o-object-fit: cover;
     object-fit: cover;
}
.blogfeatured .blogcaption {
  padding-top: 1rem;
  font-size: 0.875rem;
  font-style: italic;
  line-height: normal;
  text-align: center;
}

.blogmain {
  padding: 5rem 0 0;
}
.blogmain .row {
  justify-content: space-between;
}
.blogmain .blogarticle p {
  font-size: 1.0625rem;
  line-height: 1.8;
  margin-bottom: 2.5rem;
}
.blogmain .blogarticle p:last-child {
  margin-bottom: 0;
}
.blogmain .blogarticle h3 {
  font-size: 2rem;
  line-height: normal;
  padding-bottom: 0.75rem;
  margin-bottom: 2.5rem;
  border-bottom: 0.0625rem solid var(--gold-light, #d1b273);
}
.blogmain .blogquote {
  padding: 0.75rem 1.5rem;
  margin-bottom: 2.5rem;
  border: 0.0625rem solid var(--gold, #c9a96e);
}
.blogmain .blogquote p {
  font-family: var(--font-heading, "Freight Big Pro", serif);
  font-size: 1.5rem;
  font-weight: 600;
  font-style: italic;
  line-height: 1.4;
  color: var(--primary, #002349);
  margin-bottom: 0.75rem;
}
.blogmain .blogquote cite {
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  font-style: normal;
  line-height: normal;
  text-transform: uppercase;
  color: var(--dark-grey, #5c5c5c);
}
.blogmain .blogarticle ul {
  margin-bottom: 2.5rem;
}
.blogmain .blogarticle ul li {
  position: relative;
  padding-left: 2.3125rem;
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 1rem;
}
.blogmain .blogarticle ul li:last-child {
  margin-bottom: 0;
}
.blogmain .blogarticle ul li:before {
  content: "•";
  position: absolute;
  left: 0;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--gold, #c9a96e);
}
.blogmain .blogarticle ul li strong {
  font-weight: 700;
  color: var(--primary, #002349);
}
.blogmain .blogsidebar {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
.blogmain .blogcallout {
  padding: 2rem;
  background: var(--primary, #002349);
  border-radius: 0.5rem;
}
.blogmain .blogcallout .eyebrow {
  margin-bottom: 0.75rem;
  font-size: 0.8125rem;
  color: var(--gold, #c9a96e);
}
.blogmain .blogcallout h4 {
  font-size: 1.75rem;
  line-height: 1.3;
  margin-bottom: 0.75rem;
  color: var(--white, #ffffff);
}
.blogmain .blogcallout p {
  font-size: 0.875rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
  color: var(--light-grey, #eaeaea);
}
.blogmain .blogcallout .btn {
  width: 100%;
}
.blogmain .blogreads {
  padding: 2rem;
  background: var(--off-white, #fbfbfa);
  border: 0.0625rem solid var(--light-grey, #eaeaea);
  border-radius: 0.5rem;
}
.blogmain .blogreads .eyebrow {
  margin-bottom: 1.25rem;
  font-size: 0.8125rem;
  color: var(--gold, #c9a96e);
}
.blogmain .blogreads ul li {
  padding-bottom: 1.25rem;
  margin-bottom: 1.25rem;
  border-bottom: 0.0625rem solid var(--light-grey, #eaeaea);
}
.blogmain .blogreads ul li:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: 0;
}
.blogmain .blogreads ul h6 {
  font-family: var(--font-heading, "Freight Big Pro", serif);
  font-size: 1.125rem;
  line-height: 1.4;
  margin-bottom: 0;
}
.blogmain .blogreadmeta {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: normal;
  text-transform: uppercase;
  color: var(--dark-grey, #5c5c5c);
}

/* ===== Contact CTA ===== */
.contact-area {
  padding-top: 7.125rem;
  overflow: hidden;
}
.contact-area .contactband {
  position: relative;
  padding: 6.0625rem 0 16rem;
}
.contact-area .contactband:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 35, 73, 0.7) 0%, rgba(0, 35, 73, 0.2) 88.517%);
  pointer-events: none;
}
.contact-area .contactband > .container {
  position: relative;
  z-index: 1;
}
.contact-area .contactcont {
  max-width: 61.75rem;
}
.contact-area .contactcont .eyebrow {
  margin-bottom: 1rem;
  color: var(--gold-light, #d1b273);
}
.contact-area .contactcont h2 {
  margin-bottom: 1.625rem;
  line-height: normal;
  color: var(--white, #ffffff);
}
.contact-area .contactform form {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1rem;
}
.contact-area .contactform input:not([type=submit]) {
  width: 17.5rem;
  padding: 0.375rem 1rem;
  font-size: 0.875rem;
  line-height: 3rem;
  color: var(--white, #ffffff);
  background: rgba(255, 255, 255, 0.15);
  border: 0.0625rem solid rgba(255, 255, 255, 0.5);
  border-radius: 6.25rem;
  backdrop-filter: blur(0.5rem);
}
.contact-area .contactform input:not([type=submit])::-moz-placeholder {
  color: var(--white, #ffffff);
  opacity: 1;
}
.contact-area .contactform input:not([type=submit])::placeholder {
  color: var(--white, #ffffff);
  opacity: 1;
}
.contact-area .contactform input:not([type=submit]):focus {
  border-color: var(--white, #ffffff);
}
.contact-area .contactform input[type=submit] {
  min-width: 13.125rem;
}
.contact-area .contactvideo {
  position: absolute;
  top: -13.1875rem;
  right: 0;
  z-index: 1;
  width: 26.375rem;
  background: var(--white, #ffffff);
  border: 0.8125rem solid var(--white, #ffffff);
  overflow: hidden;
}
.contact-area .contactvideo video {
  display: block;
  width: 100%;
  aspect-ratio: 396/510;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 32%;
     object-position: center 32%;
}
.contact-area.contact-area_center {
  padding-top: 0;
}
.contact-area.contact-area_center .contactband {
  padding: 3.1875rem 0 21.625rem;
}
.contact-area.contact-area_center .contactcont {
  max-width: 80rem;
  margin-inline: auto;
  text-align: center;
}
.contact-area.contact-area_center .contactform {
  justify-content: center;
  text-align: center;
  display: flex;
}

/* ===== Insights ===== */
.insights {
  padding-bottom: 5.625rem;
}
.insights .sechead.insights_head {
  max-width: 38.75rem;
  margin-inline: auto;
  margin-bottom: 3.1875rem;
  text-align: center;
}
.insights .sechead.insights_head .eyebrow {
  margin-bottom: 0.75rem;
}
.insights .sechead.insights_head h2 {
  font-weight: 600;
  color: var(--black, #000000);
}
.insights .insightitem {
  height: 100%;
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 0.25rem 0.625rem rgba(0, 0, 0, 0.06);
}
.insights .insightimg {
  display: block;
}
.insights .insightimg img {
  width: 100%;
  aspect-ratio: 497/375;
  -o-object-fit: cover;
     object-fit: cover;
}
.insights .insightcont {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding: 2rem;
  background: var(--white, #ffffff);
  border: 0.0625rem solid var(--border-card, #e5e7eb);
}
.insights .insightmeta {
  font-family: var(--font-body, "DM Sans", sans-serif);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
  color: var(--primary, #002349);
}
.insights .insighttext h4 {
  font-size: 1.5rem;
  line-height: 1.4;
  margin-bottom: 0.75rem;
}
.insights .insighttext p {
  display: -webkit-box;
  -webkit-line-clamp: 6;
  line-clamp: 6;
  -webkit-box-orient: vertical;
  line-height: normal;
  overflow: hidden;
}
.insights .insightlink {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin-right: auto;
  font-size: 1rem;
  line-height: normal;
  text-decoration: underline;
  text-underline-position: from-font;
  color: var(--primary, #002349);
}
.insights .insightlink i {
  font-size: 0.75rem;
}

/* ===== Testimonials ===== */
.testimonials {
  position: relative;
  background: var(--primary, #002349);
  overflow: hidden;
}
.testimonials:before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../images/testimonials-texture.jpg) no-repeat center/cover;
  opacity: 0.03;
  pointer-events: none;
}
.testimonials > .container {
  position: relative;
  z-index: 1;
}
.testimonials .sechead.testimonials_head {
  max-width: 40.875rem;
  margin-inline: auto;
  margin-bottom: 3rem;
  text-align: center;
}
.testimonials .sechead.testimonials_head .eyebrow,
.testimonials .sechead.testimonials_head h2 {
  color: var(--white, #ffffff);
}
.testimonials .tstslider {
  padding: 0.125rem;
}
.testimonials .tstslider .swiper-slide {
  height: auto;
}
.testimonials .tstitem {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1.5rem;
  height: 100%;
  padding: 1.875rem 1.25rem;
  border: 0.0625rem solid rgba(255, 255, 255, 0.2);
}
.testimonials .tsttop {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.testimonials .tsttop p {
  font-size: 1.25rem;
  line-height: 1.6;
  color: var(--light-grey, #eaeaea);
}
.testimonials .tsttop .review {
  display: flex;
  align-items: center;
  gap: 0.3rem;
}
.testimonials .tsttop .review i {
  color: #ffc107;
}
.testimonials .tsttop:after {
  content: "";
  display: block;
  width: 3.75rem;
  height: 0.0625rem;
  background: var(--sky, #92b5d6);
}
.testimonials .tstquote {
  display: block;
  font-family: var(--font-serif-alt, "DM Serif Display", serif);
  font-size: 5rem;
  line-height: 1;
  color: #ffc107;
  opacity: 0.9;
}
.testimonials .tstauthor {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.testimonials .tstavatar {
  flex-shrink: 0;
  width: 3.875rem;
  height: 3.875rem;
  overflow: hidden;
  border-radius: 50%;
}
.testimonials .tstavatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.testimonials .tstmeta {
  display: flex;
  flex-direction: column;
  font-family: var(--font-heading, "Freight Big Pro", serif);
  font-weight: 600;
  line-height: 1.5rem;
  color: var(--white, #ffffff);
}
.testimonials .tstname {
  font-size: 1.125rem;
}
.testimonials .tstrole {
  font-size: 1rem;
}
.testimonials .tstnav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.875rem;
  margin-top: 3rem;
}
.testimonials .tstprev,
.testimonials .tstnext {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  font-size: 0.875rem;
  color: var(--white, #ffffff);
  background: transparent;
  border: 0.0625rem solid var(--white, #ffffff);
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
}
.testimonials .tstprev:hover,
.testimonials .tstnext:hover {
  color: var(--primary, #002349);
  background: var(--white, #ffffff);
}
.testimonials .tstprev.swiper-button-disabled,
.testimonials .tstnext.swiper-button-disabled {
  color: rgba(217, 217, 217, 0.39);
  border-color: rgba(217, 217, 217, 0.39);
  cursor: default;
}
.testimonials .tstprev.swiper-button-disabled:hover,
.testimonials .tstnext.swiper-button-disabled:hover {
  color: rgba(217, 217, 217, 0.39);
  background: transparent;
}

/* ===== Showcase ===== */
.showcase {
  position: relative;
  aspect-ratio: 1602/630;
}
.showcase > .container {
  position: relative;
  height: 100%;
}
.showcase .showcasevideo {
  position: absolute;
  left: 0;
  bottom: 2.9375rem;
  width: 18.875rem;
  overflow: hidden;
  background: var(--white, #ffffff);
}
.showcase .showcasevideo video {
  display: block;
  width: 100%;
  aspect-ratio: 302/354;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 64%;
     object-position: center 64%;
}

/* ===== Process ===== */
.process {
  padding-bottom: 7.5rem;
  overflow: hidden;
}
.process .row {
  justify-content: space-between;
}
.process .processmedia {
  position: relative;
  overflow: visible;
  height: 100%;
}
.process .processmedia > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.process .processmedia:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgb(0, 0, 0) 3.912%, rgba(0, 0, 0, 0) 43.966%);
  pointer-events: none;
}
.process .processmedia .processvideo {
  position: absolute;
  top: 50%;
  right: 0;
  width: 250px;
  transform: translate(25%, -50%);
  z-index: 1;
}
.process .processmedia .processvideo video {
  width: 100%;
  aspect-ratio: 379/549;
  -o-object-fit: cover;
  object-fit: cover;
  border: 3px solid #fff;
}
.process .processmediacont {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  padding: 5rem;
}
.process .processmediacont:before {
  content: "";
  display: block;
  width: 2.5rem;
  height: 0.125rem;
  margin-bottom: 1.5rem;
  background: var(--white, #ffffff);
}
.process .processmediacont h2 {
  margin-bottom: 0;
  font-weight: 500;
  color: var(--white, #ffffff);
}
.process .processcont {
  max-width: 40.875rem;
  padding: 4.4375rem 0;
}
.process .stepitem {
  display: flex;
  gap: 2rem;
  padding-bottom: 1.25rem;
  margin-bottom: 3.5rem;
  border-bottom: 0.0625rem solid var(--border-line, #dfdfdf);
}
.process .stepitem:last-child {
  margin-bottom: 0;
}
.process .stepnum {
  flex-shrink: 0;
  width: 3.75rem;
  font-family: var(--font-heading, "Freight Big Pro", serif);
  font-size: 2.5rem;
  font-weight: 500;
  line-height: normal;
  color: var(--primary, #002349);
  opacity: 0.3;
}
.process .stepcont h5 {
  font-family: var(--font-heading, "Freight Big Pro", serif);
  font-weight: 700;
  line-height: normal;
  color: var(--black, #000000);
}
.process .stepcont p {
  font-size: 0.9375rem;
  line-height: 1.6;
}

/* ===== About ===== */
.about {
  overflow: hidden;
}
.about .row {
  align-items: center;
  justify-content: space-between;
}
.about .aboutcont {
  max-width: 40.875rem;
}
.about .aboutcont .sechead {
  margin-bottom: 1.5rem;
}
.about .aboutimg {
  border-radius: 0.25rem;
  overflow: hidden;
}
.about .aboutimg img,
.about .aboutimg video {
  width: 100%;
  aspect-ratio: 379/549;
  -o-object-fit: cover;
  object-fit: cover;
}
.about .aboutcaption {
  display: block;
  margin-top: 1.5rem;
  font-family: var(--font-body, "DM Sans", sans-serif);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: normal;
  text-align: right;
  color: var(--primary, #002349);
}

/* ===== Lifestyle ===== */
.lifestyle {
  position: relative;
  padding: 5rem 0;
  background: var(--primary, #002349);
  overflow: hidden;
}
.lifestyle:before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../images/lifestyle-texture.jpg) no-repeat center/cover;
  opacity: 0.03;
  pointer-events: none;
}
.lifestyle > .container {
  position: relative;
  z-index: 1;
}
.lifestyle .sechead.lifestyle_head {
  max-width: 40.875rem;
  margin-inline: auto;
  margin-bottom: 3rem;
  text-align: center;
}
.lifestyle .sechead.lifestyle_head .eyebrow {
  color: var(--white, #ffffff);
}
.lifestyle .sechead.lifestyle_head h2 {
  color: var(--white, #ffffff);
}
.lifestyle .lifestyleslider {
  overflow: visible;
}
.lifestyle .lifestyleslider .swiper-slide {
  height: auto;
}
.lifestyle .lifestyleitem {
  position: relative;
  height: 100%;
  border-radius: 0.5rem;
  overflow: hidden;
}
.lifestyle .lifestyleitem img {
  width: 100%;
  aspect-ratio: 500/580;
  -o-object-fit: cover;
     object-fit: cover;
}
.lifestyle .lifestyleitem:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgb(0, 0, 0) 3.912%, rgba(0, 0, 0, 0) 43.966%);
  pointer-events: none;
}
.lifestyle .lifestyletext {
  max-width: 49.5625rem;
  margin-inline: auto;
  margin-top: 3rem;
  text-align: center;
}
.lifestyle .lifestyletext p {
  font-size: 1.0625rem;
  line-height: 1.8;
  color: var(--white, #ffffff);
}

/* ===== Why choose us ===== */
.whychoose {
  overflow: hidden;
}
.whychoose .row {
  justify-content: space-between;
  align-items: stretch;
  align-content: stretch;
}
.whychoose .reasonitem {
  padding: 1.5rem 0;
}
.whychoose .reasonitem:first-child {
  padding-top: 0;
}
.whychoose .reasonitem:last-child {
  padding-bottom: 0;
}
.whychoose .reasonitem:last-child .reasonrow {
  padding-bottom: 0;
  border-bottom: 0;
}
.whychoose .reasonrow {
  display: flex;
  gap: 2rem;
  padding-bottom: 0.75rem;
  border-bottom: 0.0625rem solid var(--light-grey, #eaeaea);
}
.whychoose .reasonnum {
  flex-shrink: 0;
  width: 3.75rem;
  font-family: var(--font-heading, "Freight Big Pro", serif);
  font-size: 2.5rem;
  font-weight: 700;
  line-height: normal;
  color: var(--numeral, #2c2c2c);
  opacity: 0.3;
}
.whychoose .reasoncont p {
  font-size: 0.9375rem;
  line-height: 1.6;
}
.whychoose .whychoosemedia {
  position: relative;
  border-radius: 0.5rem;
  overflow: hidden;
  height: 100%;
}
.whychoose .whychoosemedia img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.whychoose .playbtn {
  border: 0;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 7.5rem;
  height: 7.5rem;
  font-size: 2.5rem;
  color: var(--white, #ffffff);
  background: rgba(0, 0, 0, 0.28);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
.whychoose .playbtn:hover {
  color: var(--white, #ffffff);
  background: rgba(0, 0, 0, 0.5);
}

/* ===== Stats ===== */
.stats {
  border-bottom: 0.0625rem solid var(--border-faint, rgba(92, 92, 92, 0.1));
}
.stats .statitem {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  text-align: center;
}
.stats .statnum {
  font-family: var(--font-heading, "Freight Big Pro", serif);
  font-size: 3.5rem;
  font-weight: 700;
  line-height: normal;
  color: var(--primary, #002349);
}
.stats .statlabel {
  font-family: var(--font-body, "DM Sans", sans-serif);
  font-size: 1rem;
  font-weight: 500;
  line-height: normal;
  text-transform: uppercase;
  color: var(--primary, #002349);
}

/* ===== Banner ===== */
.mainbanner {
  position: relative;
  min-height: 50rem;
  overflow: hidden;
  background-color: var(--primary, #002349);
}
.mainbanner .bannervideo {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.mainbanner:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
  height: 11.0625rem;
  background: linear-gradient(358.225deg, rgba(0, 0, 0, 0) 25.197%, rgb(0, 0, 0) 98.853%);
  pointer-events: none;
}
.mainbanner:after {
  content: "";
  position: absolute;
  top: 9rem;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background: linear-gradient(180.985deg, rgba(0, 35, 73, 0) 29.814%, rgb(0, 35, 73) 107.64%);
  pointer-events: none;
}
.mainbanner > .container {
  position: absolute;
  left: 50%;
  bottom: 5rem;
  z-index: 2;
  transform: translateX(-50%);
}
.mainbanner .bannercont {
  margin: 0 auto;
  text-align: center;
}
.mainbanner .bannercont h1 {
  color: var(--white, #ffffff);
  margin-bottom: 2.5rem;
}

.wpcf7-spinner {
  display: none;
}

.wpcf7-response-output {
  margin: 0 !important;
  background-color: #002349;
  border: 1px solid #fff !important;
  color: #fff;
  border-radius: 7px;
}

.blogmain .blogcallout .btn:hover {
  border: 1px solid #fff;
}

.about-readmore-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin-right: auto;
  font-size: 1rem;
  line-height: normal;
  text-decoration: underline;
  text-underline-position: from-font;
  color: var(--primary, #002349);
  background-color: transparent;
  border: navajowhite;
}

.about-popup {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.about-popup.is-open {
  display: flex;
}

.about-popup__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
}

.about-popup__box {
  position: relative;
  background: #fff;
  color: #3a3f47;
  width: 100%;
  max-width: 59rem;
  max-height: 85vh;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 2rem 3rem;
  border-radius: 16px;
  scrollbar-width: thin;
  scrollbar-color: rgba(11, 31, 58, 0.25) transparent;
}

.about-popup__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 5;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  color: #fff;
  background: #0b1f3a;
  border: 1px solid rgba(11, 31, 58, 0.15);
  border-radius: 50%;
  box-shadow: 0 4px 14px rgba(11, 31, 58, 0.1);
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
}

.about-popup__title {
  margin-bottom: 15px;
}

body.about-popup-open {
  overflow: hidden;
}

@keyframes aboutPopupIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}/*# sourceMappingURL=style.css.map */