/*! Normalise CSS !*/
@import url(normalize.css);
/*! Google Fonts !*/
@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
@import url("../fonts/fonts.css");
:root,
:host {
  --fa-style-family-classic: "Font Awesome 6 Free";
  --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";
}

:root {
  --primary-font: "Apercu Pro";
  --Dusty-Brown: #6d6561;
  --Navy-Blue-Primary: #0c1828;
  --Ochre: #d4a869;
  --white: #fff;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-family: var(--primary-font);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -ms-overflow-style: scrollbar;
  margin: 0;
  position: relative;
  overflow-x: hidden;
  background: white;
  font-optical-sizing: auto;
  font-style: normal;
}

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

sub,
sup {
  position: relative;
  font-size: 7px;
  vertical-align: baseline;
}

sub {
  bottom: -4px;
}

sup {
  top: -4px;
}

a,
button {
  transition: all 0.3s ease;
}

a:not([href]):not([class]),
a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

figure {
  margin: 0;
}

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

::-moz-selection {
  background: var(--Ochre, #d4a869);
  color: var(--white);
  text-shadow: none;
}

::selection {
  background: var(--Ochre, #d4a869);
  color: var(--white);
  text-shadow: none;
}

* {
  margin: 0rem;
  padding: 0rem;
  box-sizing: border-box;
}

html {
  width: 100%;
  height: 100%;
  margin: 0rem;
  padding: 0rem;
  scroll-behavior: smooth;
}

body {
  margin: 0rem;
  padding: 0rem;
  color: var(--Dusty-Brown, #6d6561);
  font-family: var(--primary-font);
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.875rem; /* 187.5% */
  background: #fff;
  overflow-x: hidden;
}
body::-webkit-scrollbar {
  display: none;
}

p {
  padding: 0rem;
  margin: 0rem 0 0.5rem;
  color: var(--Dusty-Brown, #6d6561);
  font-family: "Apercu Pro";
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.875rem; /* 187.5% */
}
p:last-child {
  margin: 0;
}

h1 {
  margin: 0rem 0rem 2rem;
  padding: 0rem;
  color: var(--Navy-Blue-Primary, #0c1828);
  font-family: "SangBleu Kingdom Trial";
  font-size: 4.375rem;
  font-style: normal;
  font-weight: 300;
  line-height: 5.625rem; /* 128.571% */
}

h2 {
  margin: 0rem 0rem 1rem;
  padding: 0rem;
  color: var(--Navy-Blue-Primary, #0c1828);
  font-family: "SangBleu Kingdom Trial";
  font-size: 3.5rem;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
}

h3 {
  margin: 0rem 0rem 1rem;
  padding: 0rem;
  color: var(--Navy-Blue-Primary, #0c1828);
  font-family: "SangBleu Kingdom Trial";
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  text-transform: capitalize;
}

h4 {
  margin: 0rem 0rem 1rem;
  padding: 0rem;
  color: var(--Navy-Blue-Primary, #0c1828);
  font-family: "Apercu Pro";
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  text-transform: capitalize;
}

h5 {
  margin: 0rem 0rem 1rem;
  padding: 0rem;
  color: var(--Navy-Blue-Primary, #0c1828);
  font-family: "Apercu Pro";
  font-size: 1rem;
  font-style: normal;
  font-weight: 600;
  line-height: normal; /* 133.333% */
}

h6 {
  margin: 0rem 0rem 1rem;
  padding: 0rem;
  color: var(--Navy-Blue-Primary, #0c1828);
  font-family: "Apercu Pro";
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 600;
  line-height: normal; /* 133.333% */
}

img {
  max-width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-object-fit: cover;
}

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

a {
  color: var(--Grey, #333);
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}
a:hover {
  color: #000;
}

.btn {
  position: relative;
  display: inline-flex;
  padding: 0.8125rem 1.25rem;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: var(--Black, #000);
  font-family: "Apercu Pro";
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  text-transform: capitalize;
  border-radius: 3.125rem;
  background: var(--Ochre, #d4a869);
  border: 1px solid var(--Ochre, #d4a869);
  box-shadow: none;
  transition: all 0.3s ease-in-out;
  overflow: hidden;
  z-index: 1;
  gap: 0.75rem;
}
.btn:focus, .btn:active:focus {
  outline: 0;
  box-shadow: none;
  color: #fff;
  border: 1px solid var(--Dark-Brown-Secondary, #261d18);
  background: var(--Dark-Brown-Secondary, #261d18);
}
.btn:hover {
  color: #fff;
  border: 1px solid var(--Dark-Brown-Secondary, #261d18);
  background: var(--Dark-Brown-Secondary, #261d18);
}

input:not([type=submit])::-moz-placeholder, textarea::-moz-placeholder, select::-moz-placeholder {
  color: #9b9b9b;
  opacity: 1;
  font-size: inherit;
}

input:not([type=submit])::placeholder,
textarea::placeholder,
select::placeholder {
  color: #9b9b9b;
  opacity: 1;
  font-size: inherit;
}

/* --- Standard Inputs, Textareas, and Selects --- */
input:not([type=submit], [type=radio], [type=checkbox]),
select,
textarea {
  display: block;
  width: 100%;
  padding: 0.875rem 1.25rem; /* Clean, even padding */
  color: #333333;
  font-family: "Lato", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: normal;
  border-radius: 0.25rem; /* Crisp 4px corners */
  border: 1px solid #dcdcdc; /* Subtle grey border */
  background: #ffffff; /* Pure white background */
  box-shadow: none;
  margin-bottom: 1.5rem;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  transition: all 0.3s ease-in-out;
}
input:not([type=submit], [type=radio], [type=checkbox])::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder {
  color: #9b9b9b;
  opacity: 1;
}
input:not([type=submit], [type=radio], [type=checkbox])::placeholder,
select::placeholder,
textarea::placeholder {
  color: #9b9b9b;
  opacity: 1;
}
input:not([type=submit], [type=radio], [type=checkbox]),
select,
textarea {
  /* Universal Focus State */
}
input:not([type=submit], [type=radio], [type=checkbox]):focus,
select:focus,
textarea:focus {
  border-color: #5b2c6f; /* Vanguard Brand Purple */
  box-shadow: 0 0 0 3px rgba(91, 44, 111, 0.1); /* Subtle purple glow */
  outline: none;
}

/* --- Textarea Specifics --- */
textarea {
  resize: vertical; /* Let users resize vertically, but not break layout horizontally */
  min-height: 7.5rem;
}

/* --- Select Specifics --- */
select {
  cursor: pointer;
  padding-right: 3rem; /* Make room for the custom arrow */
  background-image: url("../images/select-arrow-down.svg");
  background-repeat: no-repeat;
  background-position: right 1.25rem center;
  background-size: 0.75rem;
}
select option {
  color: #333333;
  font-size: 1rem;
}

/* --- Labels --- */
label {
  display: block;
  color: #4a4a4a;
  font-family: "Lato", sans-serif;
  font-size: 0.95rem;
  font-weight: 600; /* Bolder labels improve readability */
  margin: 0 0 0.5rem;
  padding: 0;
}
label .req {
  color: #ff6b6b; /* Red asterisk for required fields */
  margin-left: 2px;
}

/* --- Checkboxes (Pixel-Perfect Figma Match) --- */
input[type=checkbox] {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  width: 1.5rem; /* Slightly larger, chunky size to match the mockup */
  height: 1.5rem;
  border: 2px solid #e2e2e2; /* Distinct, soft gray border */
  border-radius: 6px; /* Noticeably rounded corners */
  background-color: #ffffff;
  margin: 0;
  cursor: pointer;
  display: inline-grid;
  place-content: center;
  position: relative;
  top: 0.15rem; /* Fine-tunes vertical alignment with the text beside it */
  transition: all 0.2s ease-in-out;
  /* The Coral Checkmark (Using an inline SVG for perfect rounded caps) */
}
input[type=checkbox]::before {
  content: "";
  width: 0.9rem; /* Size of the checkmark inside the box */
  height: 0.9rem;
  transform: scale(0);
  /* A subtle "pop" cubic-bezier animation for a premium feel */
  transition: 120ms transform cubic-bezier(0.175, 0.885, 0.32, 1.275);
  /* Inline SVG: stroke='%23ff6b6b' is the hex code #ff6b6b (Coral) */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff6b6b' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
input[type=checkbox] {
  /* Checked State */
}
input[type=checkbox]:checked {
  border-color: #e2e2e2; /* Border remains light gray */
  background-color: #ffffff; /* Background remains white */
}
input[type=checkbox]:checked::before {
  transform: scale(1); /* Animates the checkmark in */
}
input[type=checkbox] {
  /* Accessibility Focus State */
}
input[type=checkbox]:focus {
  outline: none;
  border-color: #d0d0d0; /* Slightly darkens the border so the user knows they are tabbed onto it */
  box-shadow: 0 0 0 3px rgba(91, 44, 111, 0.15); /* Soft purple Vanguard glow */
}
input[type=checkbox] {
  /* Disabled State */
}
input[type=checkbox]:disabled {
  background-color: #f8f8f8;
  border-color: #eaeaea;
  cursor: not-allowed;
}

/* --- Radios (Clean, Circular, Pure CSS) --- */
input[type=radio] {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  width: 1.125rem;
  height: 1.125rem;
  border: 1px solid #dcdcdc;
  border-radius: 50%; /* Perfect circle */
  background-color: #ffffff;
  margin: 0;
  cursor: pointer;
  display: inline-grid;
  place-content: center;
  position: relative;
  top: 0.125rem;
  transition: all 0.2s ease-in-out;
  /* The Dot */
}
input[type=radio]::before {
  content: "";
  width: 0.5em;
  height: 0.5em;
  border-radius: 50%;
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  background-color: #5b2c6f; /* Purple dot */
}
input[type=radio]:checked {
  border-color: #5b2c6f;
}
input[type=radio]:checked::before {
  transform: scale(1);
}
input[type=radio]:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(91, 44, 111, 0.15);
}
input[type=radio]:disabled {
  background-color: #f5f5f5;
  border-color: #e0e0e0;
  cursor: not-allowed;
}

section h1,
section h2 {
  margin: 0 0 1rem;
}
section.defaultPadding {
  padding: 6.25rem 0;
}
section.defaultPadding70 {
  padding: 4.375rem 0;
}

header.header_main {
  position: sticky;
  left: 0;
  top: 0;
  width: 100%;
  background: transparent;
  z-index: 1000;
  transition: all 0.3s ease-in-out;
  background: #fff;
  padding: 1.0625rem 0;
}
header.header_main .d_flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
header.header_main .logo {
  position: relative;
  width: 7rem;
  height: 4.125rem;
  flex-shrink: 0;
  aspect-ratio: 56/33;
  margin-right: 0;
  transition: all 0.3s ease-in-out;
  margin-top: 0;
}
header.header_main .logo a {
  display: block;
}
header.header_main .stellarnav {
  margin-left: auto;
}
header.header_main .stellarnav > ul > li > a {
  padding: 0.75rem 0;
  text-align: left;
}
header.header_main .stellarnav > ul > li:hover a::before, header.header_main .stellarnav > ul > li.current-menu-item a::before {
  width: 100%;
}
header.header_main .stellarnav > ul > li + li {
  margin-left: 1.75rem;
}
header.header_main .stellarnav > ul ul li + li {
  border-top: 0.0625rem solid #c0c1d1;
}
header.header_main .stellarnav > ul ul li:last-child {
  border-bottom: none;
}
header.header_main .stellarnav > ul ul li a:hover {
  background: #b8860b;
  color: var(--White, #fff);
}
header.header_main .rig_btn {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-left: 2.5rem;
}
header.header_main .rig_btn a.link {
  color: var(--Coral, #ff6b6b);
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.5rem; /* 150% */
  text-transform: uppercase;
}

.hm_banner {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: var(--White, #fff) url(../images/bg-banner-img1.png) no-repeat center center;
  background-size: auto 32.5rem;
  background-position: calc(50% + 250px) center;
  height: 53.125rem;
  display: flex;
  align-items: center;
}
.hm_banner::before {
  content: " ";
  position: absolute;
  width: 37.3125rem;
  height: 37.3125rem;
  border-radius: 597px;
  background: rgba(132, 179, 211, 0.2);
  filter: blur(285px);
  left: -22.5rem;
  bottom: -18.125rem;
}
.hm_banner .container {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
}
.hm_banner .banner-content {
  max-width: 43.0625rem;
  color: #fff;
}
.hm_banner .banner-content h1 {
  color: var(--Navy-Blue-Primary, #0c1828);
  margin: 0 0 1.875rem;
}
.hm_banner .banner-content h1 + p {
  margin: 0 0 1.875rem;
}
.hm_banner .banner-content p {
  color: #878787;
}
.hm_banner .banner-content .banner-buttons {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin: 0;
}
.hm_banner .banner-content .banner-buttons .link {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  color: #fff;
  font-weight: 600;
  font-size: 1.05rem;
}
.hm_banner .banner-content .banner-buttons .link::before {
  content: "\f095";
  font-family: var(--fa-style-family-classic);
  font-weight: 900;
}
.hm_banner .banner-content .banner-buttons .link:hover {
  opacity: 0.8;
}/*# sourceMappingURL=style.css.map */