/* --- FONTS --- */
@font-face {
  font-family: "Aeonik";
  src: url(https://cdn.prod.website-files.com/66de2f1572bcf866302fd41c/66de30ccf3500ac59b739099_Aeonik-Regular.woff2)
    format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Aeonik";
  src: url(https://cdn.prod.website-files.com/66de2f1572bcf866302fd41c/66de30cc396af3b5cc39c4b6_Aeonik-Medium.woff2)
    format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Aeonik";
  src: url(https://cdn.prod.website-files.com/66de2f1572bcf866302fd41c/66de30cc67c5af65019cfee6_Aeonik-Bold.woff2)
    format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "PP – Fragment";
  src: url(https://cdn.prod.website-files.com/66de2f1572bcf866302fd41c/66de30cc730b040270305ffa_PPFragment-SerifRegular.woff2)
    format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "PP – Fragment";
  src: url(https://cdn.prod.website-files.com/66de2f1572bcf866302fd41c/66de30cc1b879fdba2e17bfa_PPFragment-SerifLight.woff2)
    format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

/* --- VARIABLES --- */
:root {
  --theme--background: white;
  --theme--text: #1e1005;
  /* swatch--dark */
  --theme--border: #e6e6e6;
  /* Approximate based on usage */

  --font--primary-family: "PP – Fragment", sans-serif;
  --font--secondary-family: Aeonik, sans-serif;

  --text-main--font-family: var(--font--secondary-family);
  --text-main--font-size: 1rem;
  --text-main--line-height: 1.3em;
  --text-main--letter-spacing: 0em;

  --h1--font-family: var(--font--primary-family);
  --h1--font-size: 8rem;
  --h1--line-height: 1.1em;
  --h1--letter-spacing: -0.03em;

  --h2--font-family: var(--font--primary-family);
  --h2--font-size: 5.5rem;
  --h2--line-height: 1em;
  --h2--letter-spacing: -0.03em;

  --text-large--font-family: var(--font--secondary-family);
  --text-large--font-size: 2rem;
  --text-large--line-height: 1.3em;
  --text-small--font-size: 0.875rem;
  --text-xsmall--font-size: 0.75rem;

  --space--small: 1.5rem;
  --space--medium: 3rem;
  --space--large: 4rem;
  --space--extra-small: 0.75rem;

  --size--0-5rem: 0.5rem;
  --size--1-5rem: 1.5rem;
  --size--1rem: 1rem;
  --size--3rem: 3rem;
  --size--4rem: 4rem;
  --size--5rem: 5rem;
  --size--8rem: 8rem;
  --size--20rem: 20rem;

  --radius--small: 0.5em;
  --radius--main: 1em;
  --radius--round: 100vw;

  --border-width--main: 1px;

  --swatch--dark: #835834;
  --swatch--light: #E6E6E9;
  --swatch--brand: #C1AE7C;
  --swatch--transparent: #fff0;
  --swatch--dark-secondary: #585254;

  --grid-gap--main: 1rem;
  --grid-main: repeat(12, 1fr);
  --grid-10: repeat(10, 1fr);
  --grid-7: repeat(7, 1fr);
  --grid-6: repeat(6, 1fr);
  --grid-4: repeat(4, 1fr);

  --padding-vertical--main: 7rem;
  --padding-vertical--small: 5rem;
  --padding-vertical--large: 10rem;
  --padding-horizontal--main: 4rem;

  --button--background: white;
  --button--text: #1e1005;
  --button--background-hover: #fbf0da;
  --button--text-hover: #1e1005;
  --button--border: white;

  --column-width--2: 16.66%;
  --max-width--main: 100vw;
}

[data-theme="light"] {
  --theme--background: var(--swatch--light);
  /* Beige */
  --theme--text: var(--swatch--dark);
  /* Dark Brown */
  --theme--border: rgba(30, 16, 5, 0.2);

  /* --- ADD THESE FOOTER MAPPINGS --- */
  --color-bg: var(--theme--background);
  --color-text: var(--theme--text);
  --color-border: var(--theme--border);
  --color-text-muted: var(--swatch--dark-secondary);

  /* Invert buttons for light theme */
  --button--background: var(--swatch--dark);
  --button--text: var(--swatch--light);
  --button--border: var(--swatch--dark);
  --button--background-hover: transparent;
  --button--text-hover: var(--swatch--dark);
}

/* 2. Define what happens when data-theme is "dark" */
[data-theme="dark"] {
  --theme--background: var(--swatch--dark);
  /* Dark Brown */
  --theme--text: var(--swatch--light);
  /* Beige */
  --theme--border: rgba(251, 240, 218, 0.2);

  /* --- ADD THESE FOOTER MAPPINGS --- */
  --color-bg: var(--theme--background);
  --color-text: var(--theme--text);
  --color-border: var(--theme--border);
  --color-text-muted: rgba(251, 240, 218, 0.6);

  /* Standard buttons for dark theme */
  --button--background: var(--swatch--light);
  --button--text: var(--swatch--dark);
  --button--border: var(--swatch--light);
  --button--background-hover: transparent;
  --button--text-hover: var(--swatch--light);
}

[data-theme] {
  background-color: var(--theme--background);
  color: var(--theme--text);
  transition: background-color 0.3s ease, color 0.3s ease;
  /* Optional: Smooth transition */
}

/* --- RESET & BASE --- */
* {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  font-family: sans-serif;
}

body {
  margin: 0;
  background-color: var(--theme--background);
  font-family: var(--text-main--font-family);
  color: var(--theme--text);
  font-size: var(--text-main--font-size);
  line-height: var(--text-main--line-height);
  letter-spacing: var(--text-main--letter-spacing);
}

img {
  border: 0;
  max-width: 100%;
  vertical-align: middle;
  display: inline-block;
  object-fit: cover;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
label,
blockquote,
figure {
  margin: 0 0 10px 0;
  font-weight: 500;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  vertical-align: middle;
  margin-top: 0;
  margin-bottom: 0;
}

p {
  margin-top: 0;
  margin-bottom: 10px;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

svg {
  overflow: hidden;
}

main {
  display: block;
}

section {
  position: relative;
  display: block;
}

.loader {
  position: fixed;
  inset: 0;
  z-index: 1001;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
}

.loader_panel {
  background-color: var(--swatch--light);
  width: 50%;
  height: 100%;
  position: relative;
}

.loader_logo {
  position: absolute;
  z-index: 3;
  color: var(--swatch--dark);
  width: 7vw;
}

.panel_inner {
  position: relative;
  width: 100%;
  height: 100%;
}

.u-hflex-left-stretch {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: stretch;
}

.u-hflex-right-stretch {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: stretch;
}

.line {
  background-color: var(--theme--border);
  width: 100%;
  height: 100%;
}

.line.is-panel-inner-l,
.line.is-pannel-inner-r {
  position: absolute;
  width: 1px;
  height: 100%;
}

.line.is-panel-l,
.line.is-panel-r {
  width: 1px;
  height: 100%;
}

/* --- UTILITIES --- */
.u-container {
  max-width: var(--max-width--main);
  padding: var(--padding-vertical--main) var(--padding-horizontal--main);
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.u-grid-custom {
  display: grid;
  grid-column-gap: var(--grid-gap--main);
  grid-row-gap: var(--grid-gap--main);
  grid-template-rows: auto;
  grid-auto-columns: minmax(0, 1fr);
  grid-template-columns: var(--grid-main);
}

.u-column-custom {
  grid-column: auto / span 1;
}

.u-vflex-left-center {
  display: flex;
  flex-flow: column;
  place-content: flex-start center;
  align-items: flex-start;
}

.u-vflex-center-center {
  display: flex;
  flex-flow: column;
  place-content: center;
  align-items: center;
}

.u-vflex-left-between {
  display: flex;
  flex-flow: column;
  place-content: flex-start space-between;
  align-items: flex-start;
}

.u-vflex-left-top {
  display: flex;
  flex-flow: column;
  place-content: flex-start;
  align-items: flex-start;
}

.u-vflex-stretch-center {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: stretch;
}

.u-vflex-stretch-between {
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  align-items: stretch;
}

.u-hflex-left-center {
  display: flex;
  flex-flow: row;
  place-content: center flex-start;
  align-items: center;
}

.u-hflex-left-top {
  display: flex;
  flex-flow: row;
  place-content: flex-start;
  align-items: flex-start;
}

.u-hflex-center-center {
  display: flex;
  flex-flow: row;
  justify-content: center;
  align-items: center;
}

.u-gap-small {
  grid-gap: var(--space--small);
  gap: var(--space--small);
}

.u-gap-medium {
  grid-gap: var(--space--medium);
  gap: var(--space--medium);
}

.u-gap-large {
  grid-gap: var(--space--large);
  gap: var(--space--large);
}

.u-gap-main {
  grid-gap: var(--grid-gap--main);
  gap: var(--grid-gap--main);
}

.u-gap-xsmall {
  grid-gap: var(--space--extra-small);
  gap: var(--space--extra-small);
}

.u-cover-absolute {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.u-visual-wrap {
  aspect-ratio: 1;
  width: 100%;
  position: relative;
  overflow: hidden;
}

.u-overflow-clip {
  overflow: clip;
}

.u-weight-bold {
  font-weight: 700;
}

.u-weight-medium {
  font-weight: 500;
}

.u-text-transform-uppercase {
  text-transform: uppercase;
}

.u-text-h2 {
  font-family: var(--h2--font-family);
  font-size: var(--h2--font-size);
  line-height: var(--h2--line-height);
  letter-spacing: var(--h2--letter-spacing);
}

.u-color-faded {
  color: color-mix(in srgb, var(--theme--text) 60%, transparent);
}

.u-display-block {
  display: block;
}

.u-display-none {
  display: none;
}

.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.u-text-large {
  font-size: x-large;
  line-height: 1.5em;
  max-width: auto;
}

.word-by-word-reveal .word {
  display: inline-block;
  line-height: inherit;
  white-space: normal;
}

/* --- SPECIFIC GRID NODES (from HTML IDs) --- */
#node-hero-bottom-left {
  justify-self: end;
  align-items: flex-end !important;
  justify-content: flex-end !important;
  text-align: left;
  font-weight: 300;
  line-height: 1.5;
  font-size: 2rem;
}

#node-hero-bottom-right {
  align-items: flex-end !important;
  justify-content: flex-end !important;
  text-align: left;
  font-weight: 300;
  line-height: 1.5;
  font-size: 1.5rem;
}

#node-about-us-intro {
  max-width: 100% !important;
}

#node-about-us-intro.u-column-custom {
  grid-column: 5 / -1;
}

/* --- SECTIONS STYLING --- */

/* Hero Section */
/* Hero */
.g_hero_container {
  height: 100%;
  min-height: 100vh;
  max-width: var(--max-width--main);
}

.g_hero_container.u-container {
  padding-bottom: var(--size--4rem);
}

.g_hero_container.u-container.u-grid-custom {
  grid-template-columns: var(--grid-main);
}

.g_hero_mid {
  overflow: clip;
}

.g_hero_mid.u-column-custom {
  grid-column: 4 / span 4;
}

.g_hero_svg {
  width: 75%;
}

.g_hero_content {
  height: 95%;
  margin-left: 0;
}

.g_hero_content.u-column-custom {
  grid-column: 9 / span 2;
}

.g_hero_text {
  font-family: var(--font--primary-family);
  font-size: var(--text-xlarge--font-size);
  line-height: var(--line-height--1-1em);
  text-transform: uppercase;
  overflow: clip;
}

.g_hero_text_small {
  font-family: var(--font--primary-family);
  text-transform: uppercase;
  font-size: xx-large;
  font-weight: 300 !important;
}

.scroll_to_explore {
  font-family: var(--font--primary-family);
  font-size: var(--text-small--font-size);
  line-height: var(--line-height--1-1em);
  text-transform: uppercase;
  overflow: clip;
}

.scroll_to_explore.u-column-custom {
  grid-column-start: 1;
}

.g_visual_wrap {
  overflow: clip;
}

.g_visual_background {
  opacity: 0.1;
  background-color: currentColor;
}

.g_visual_overlay {
  background-color: #000;
}

.g_visual_whipe {
  z-index: 2;
  background-color: var(--theme--background);
  inset: 0% 0% 0% auto;
  transform: scale(1.1);
}

.g_heading {
  line-height: var(--line-height--1em);
}

.quotes_btm .g_paragraph_wrap {
  max-width: 100% !important;
  font-size: 2rem;
  line-height: 1.25;
}

.quotes_top .g_heading_wrap {
  font-size: 2rem;
}

.g_heading

/* Origins Section */
.about_origin {
  padding-bottom: var(--padding-vertical--main);
  padding-top: var(--space--small);
}

.a_origin_grid.u-grid-custom {
  grid-template-columns: var(--grid-7);
}

.a_origin_col_left.u-column-custom {
  grid-column-end: span 3;
}

.a_origin_col_head {
  max-width: 40ch;
}

.a_col_img.u-column-custom {
  grid-column: 1 / 4;
}

.a_origin_img.u-visual-wrap {
  aspect-ratio: 7 / 8.6;
  border-radius: 0;
  height: 100%;
}

.g_visual_whipe {
  z-index: 2;
  background-color: var(--theme--background);
  inset: 0% 0% 0% auto;
  transform: scale(1.1);
  position: absolute;
}

.a_origin_col_r.u-column-custom {
  grid-column: 5 / -1;
}

.title_text {
  font-size: var(--text-large--font-size);
}

.a_origin_para {
  /* max-width: 25ch; */
  font-size: xx-large;
  line-height: 1.5em;
  max-width: 100%;
}

/* --- New Logo Grid Styles --- */
.a_origin_logos {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin-top: 3rem;
  max-width: 600px;
}

.a_origin_logo_img {
  width: 100%;
  max-width: 250px;
  height: auto;
  aspect-ratio: 25/9;
  object-fit: contain;
  justify-self: start;
  /* Placeholder background color */
  display: block;
}

.a_list_wrap {
  width: 100%;
}

.a_list_item {
  width: 100%;
  grid-column-gap: 0.5rem;
  grid-row-gap: 0.5rem;
  font-weight: 500;
}

.a_list_txt {
  line-height: 1.1em;
  overflow: clip;
}

.line_wrapper {
  width: 100%;
  height: 1px;
  position: relative;
  margin-top: 10px;
  margin-bottom: 10px;
}

.line_wrapper.is-abs {
  position: absolute;
  bottom: 0;
  left: 0;
}

.line {
  background-color: var(--theme--border);
  width: 100%;
  height: 100%;
}

/* Team Section */
.about_team {
  padding-bottom: var(--padding-vertical--main);
  padding-top: var(--space--small);
}

.a_team_layout.u-grid-custom {
  grid-template-columns: var(--grid-10);
}

.a_team_header.u-column-custom {
  grid-column-end: span 3;
}

.a_team_wrap.u-column-custom {
  grid-column-end: span 7;
}

.a_team_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: var(--space--large);
  grid-row-gap: 6rem;
  align-items: start;
}

.a_team_item {
  margin-top: 0 !important;
}

.a_team_img.u-visual-wrap {
  border-radius: 0;
}

.a_team_content {
  padding-top: var(--space--small);
  padding-bottom: var(--space--small);
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: auto;
  display: flex;
  position: relative;
  flex-direction: column;
}

.a_team_name {
  font-family: var(--font--primary-family);
  font-size: var(--text-large--font-size);
  line-height: 1.1em;
  text-transform: uppercase;
  overflow: clip;
}

.a_team_title {
  font-size: var(--text-xsmall--font-size);
  line-height: 1em;
  text-transform: uppercase;
  overflow: clip;
}

.a_team_social {
  margin-top: 10px;
}

.a_team_social_link {
  display: inline-block;
  margin-right: 10px;
  color: inherit;
}

.a_team_social_icon {
  width: 3ch;
  height: 3ch;
}

.line_wrapper.is_team_card {
  position: absolute;
  inset: auto auto 0% 0%;
  margin: 0;
}

.a_team_list.mod-list-view {
  grid-template-columns: 1fr;
  grid-row-gap: 0;
}

/* 2. Hide the images */
.a_team_list.mod-list-view .a_team_img {
  display: none;
}

/* 3. Adjust the item container spacing */
.a_team_list.mod-list-view .a_team_item {
  width: 100%;
  min-height: auto;
  /* Reset height */
}

/* 4. Make the content full width */
.a_team_list.mod-list-view .a_team_content {
  width: 100%;
  padding: 1.5rem 0 0 0;
  /* Add spacing top */
}

.a_team_list.mod-list-view .a_team_info {
  flex-direction: row;
  justify-content: space-between;
  align-items: baseline;
  width: 100%;
  margin-bottom: 1.5rem;
}

/* 6. Mobile Adjustment: Stack them back up on very small screens */
@media screen and (max-width: 479px) {
  .a_team_list.mod-list-view .a_team_info {
    flex-direction: column;
    gap: 0.25rem;
  }
}

/* Values Section */
.about_values {
  padding-bottom: var(--padding-vertical--main);
  padding-top: var(--space--small);
}

.a_values_grid.u-grid-custom {
  grid-template-columns: var(--grid-10);
}

.a_values_header.u-column-custom {
  grid-column-end: span 3;
}

.a_value_col.u-column-custom {
  grid-column: 1 / 7;
}

.a_value_founder_svg {
  width: 100px;
  margin-bottom: 10px;
}

.a_value_founder_name {
  font-size: var(--text-xsmall--font-size);
  line-height: 1em;
  text-transform: uppercase;
  overflow: clip;
}

.a_values_img_col.u-column-custom {
  grid-column: 8 / span 3;
}

.a_values_img.u-visual-wrap {
  aspect-ratio: 5.26 / 5.9;
  border-radius: 0;
}

/* Quotes Section */
.g_quotes {
  background-color: var(--swatch--dark);
  color: white;
}

.quotes_container {
  min-height: 120vh;
  overflow: clip;
  padding-top: var(--padding-vertical--large);
  padding-bottom: var(--padding-vertical--large);
}

.quotes_top {
  z-index: 1;
  position: relative;
}

.quotes_btm.u-grid-custom {
  z-index: 2;
  grid-template-columns: var(--grid-main);
  position: relative;
  margin-top: 50px;
}

.quotes_paragraph.u-column-custom {
  grid-column: 9 / span 2;
  /* max-width: 23ch; */
}

/* CTA Section */
.g_cta {
  padding-top: var(--padding-vertical--main);
  padding-bottom: var(--padding-vertical--main);
}

.cta_container.u-grid-custom {
  grid-template-columns: var(--grid-main);
}

.cta_col_left.u-column-custom {
  grid-column: 1 / span 2;
}

.cta_img_small.u-visual-wrap {
  aspect-ratio: 2.7 / 2.7;
  border-radius: 0;
}

.cta_col_mid.u-column-custom {
  grid-column: 3 / span 4; 
  padding-right: 2rem;
}

.btn_main_wrap {
  padding: var(--size--0-5rem) var(--size--1-5rem);
  border-radius: var(--radius--round);
  background-color: var(--button--background);
  line-height: 1;
  position: relative;
  overflow: clip;
  cursor: pointer;
  display: inline-flex;
  position: relative;
}

.btn_main_text {
  z-index: 2;
  font-family: var(--font--primary-family);
  color: var(--button--text);
  line-height: var(--line-height--1em);
  text-transform: uppercase;
  padding-top: 0.2rem;
  position: relative;
}

.btn_main_text.is_abs {
  position: absolute;
  bottom: 0%;
  left: 0%;
  right: 0%;
}

.btn_main_layout {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: clip;
}

.btn_whipe {
  z-index: 1;
  background-color: var(--button--background-hover);
  width: 100%;
  height: 100%;
  position: absolute;
  inset: auto 0% 0%;
  transform: scale(1.15);
}

.cta_col-img.u-column-custom {
  grid-column: 8 / span 5;
}

.cta_col-img_big.u-visual-wrap {
  aspect-ratio: 7.16 / 8.87;
  border-radius: 0;
}

.cta_col_mid .g_paragraph_wrap p {
  font-size: 1.25rem;
  line-height: 1.5;
}

@media screen and (max-width: 1700px) {
  .about_origin {
    padding-bottom: var(--padding-vertical--large);
    padding-top: var(--padding-vertical--small);
  }

  .a_origin_container .a_origin_para p {
    font-size: 1.25rem;
    line-height: 1.6;
  }

  .a_origin_grid.u-grid-custom {
    gap: 3rem;
  }

  #node-about-us-intro {
    gap: 2.5rem;
  }

  #node-about-us-intro .u-vflex-left-top {
    gap: 1.5rem;
  }

  #node-about-us-intro .g_paragraph_wrap p {
    font-size: 1.25rem;
    line-height: 1.6;
    margin-bottom: 0;
  }

  .title_text h2 {
    margin-bottom: 0.5rem;
  }

  .a_origin_logos {
    margin-top: 2rem;
  }

  .quotes_paragraph.u-column-custom {
    grid-column: 7 / span 5; /* Moves text slightly left and makes it much wider */
    max-width: none; /* Remove any character limits */
  }

  .quotes_paragraph .g_paragraph_wrap {
    font-size: 1.25rem; /* Ensure text is readable */
  }

  .cta_col_left.u-column-custom {
    grid-column: 1 / span 2; /* Keep small left image as is */
    font-size: 1.25rem;

  }

  .cta_col_mid.u-column-custom {
    grid-column: 3 / span 4; /* Text now spans 4 columns (was 2) */
    padding-right: 2rem; /* Add breathing room before the big image */
  }

  .cta_col-img.u-column-custom {
    grid-column: 8 / span 5; /* Push right image to the edge */
  }
}

@media screen and (min-width: 992px) {
  /* 1. Restrict the Main Wrapper Height 
       (This clips the image so the next section is visible) */
  .g_hero {
    height: 60vh;
    /* occupies 75% of screen height */
    min-height: 500px;
    /* prevent it from getting too squashed */
    position: relative;
    overflow: hidden;
  }

  /* 2. Grid Container: Center content within the new height */
  .g_hero_container.u-container.u-grid-custom {
    display: grid;
    /* Left | Center Logo | Right */
    grid-template-columns: 1fr minmax(300px, 45vw) 1fr;

    /* Fill the 75vh parent, don't force 100vh */
    height: 100%;
    min-height: unset;

    max-width: 92vw;
    margin: 0 auto;

    /* Vertically align content */
    align-content: center;
    align-items: center;

    gap: 2rem;
    padding: 0;
  }

  /* 3. Scroll Indicator (Left) */
  #node-hero-bottom-left {
    grid-column: 1;
    width: 100%;
    /* Take full width of the column */

    /* Flexbox to align the text inside the column */
    display: flex;
    justify-content: flex-start;
    align-items: center;

    margin: 0;
    font-size: 2.5rem;
    /* No margin-bottom needed */
  }

  /* 4. Logo (Center) */
  #node-hero-title-sub-text,
  .g_hero_mid.u-column-custom {
    grid-column: 2;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    /* Remove margin hacks */
  }

  .hero_svg {
    width: 70% !important;
    height: auto;
    margin: 0;
    transform: translateY(-40%);
  }

  #node-bottom-right-hero-description {
    grid-column: 3;
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 0;
    font-size: 2.5em;
    /* No margin-bottom needed */
  }

  /* 5. Description Text (Right) */
  #node-bottom-right-hero-description,
  .g_hero_content.u-column-custom {
    grid-column: 3;
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 0;
    flex-direction: row !important;
    /* Remove margin hacks */
  }

  .g_hero_text_small {
    font-size: 2.5rem;
    text-align: left !important;
  }
}

/* --- RESPONSIVE MEDIA QUERIES --- */

/* Tablet (max-width: 991px) */
@media screen and (max-width: 991px) {
  :root {
    --padding-horizontal--main: 2rem;
  }

  .u-grid-custom {
    grid-template-columns: var(--grid-10);
  }

  /* 2. Hero Section - Reordered Layout */
  .g_hero_container.u-container.u-grid-custom {
    display: flex;
    flex-direction: column;
    min-height: unset;
    height: 100%;
    padding-top: 8rem;
    padding-bottom: 4rem;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
    /* Space between the Logo, Text, and Scroll */
  }

  .g_hero {
    height: 50vh;
    /* Occupies half the screen height */
    min-height: 450px;
    /* Safety minimum so content doesn't get crushed on landscape phones */
    position: relative;
    overflow: hidden;
  }

  /* ORDER 1: Logo & Heading (Top) */
  #node-hero-title-sub-text {
    order: 1;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center !important;
    justify-content: center !important;
    text-align: center;
    margin-bottom: 0;
  }

  .g_hero_text_small h1 {
    font-size: 2rem !important;
  }

  .g_hero_mid.u-column-custom {
    width: 100%;
    grid-column: auto;
  }

  /* ORDER 2: Paragraph Text (Middle) */
  #node-bottom-right-hero-description {
    order: 2;
    width: 100%;
    grid-column: auto;
    display: flex;
    flex-direction: column;
    align-items: center !important;
    /* Override desktop right-alignment */
    justify-content: center !important;
    text-align: center !important;
  }

  /* ORDER 3: Scroll Indicator (Bottom) */
  #node-hero-bottom-left {
    /* order: 3;
    width: 100%;
    grid-column: auto;
    display: flex;
    justify-content: center !important;
    align-items: center !important;
    margin-top: 2rem; */
    display: none;
  }

  .a_origin_grid.u-grid-custom {
    grid-template-columns: var(--grid-6);
  }

  .a_origin_col_left.u-column-custom {
    grid-column: 1 / span 6;
  }

  .a_col_img.u-column-custom {
    grid-column: 1 / span 6;
  }

  .a_origin_col_r.u-column-custom {
    grid-column: 1 / span 6;
    width: 100%;
  }

  .a_team_layout.u-grid-custom {
    grid-template-columns: var(--grid-6);
  }

  .a_team_header.u-column-custom {
    grid-column: 1 / span 6;
  }

  .a_team_wrap.u-column-custom {
    grid-column: 1 / span 6;
  }

  .a_team_list {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    
  }

  .a_values_grid.u-grid-custom {
    grid-template-columns: var(--grid-6);
  }

  .a_values_header.u-column-custom,
  .a_value_col.u-column-custom,
  .a_values_img_col.u-column-custom {
    grid-column: 1 / span 6;
  }

  .a_awards_grid.u-grid-custom {
    grid-template-columns: var(--grid-6);
  }

  .a_awards_list_wrap.u-column-custom {
    grid-column: 1 / span 6;
  }

  .quotes_btm .g_paragraph_wrap {
    font-size: 1rem;
    line-height: 1.25;
  }

  .quotes_paragraph.u-column-custom {
    grid-column: 6 / span 5;
  }

  .cta_container.u-grid-custom {
    grid-template-columns: var(--grid-6);
  }

  .cta_col_left.u-column-custom {
    grid-column: 1 / span 6;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }

  .cta_col_mid.u-column-custom {
    grid-column: 1 / span 5;
  }

  .cta_col-img.u-column-custom {
    grid-column: 1 / span 10;
  }
}

/* Landscape Mobile (max-width: 767px) */
@media screen and (max-width: 767px) {
  .a_origin_grid.u-grid-custom {
    grid-template-columns: var(--grid-4);
  }

  .a_team_list {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
  }

  .a_list {
    align-items: center;
    text-align: center;
  }

  .a_team_layout.u-grid-custom {
    grid-template-columns: var(--grid-4);
  }

  .a_values_grid.u-grid-custom {
    grid-template-columns: var(--grid-4);
  }

  .a_awards_grid.u-grid-custom {
    grid-template-columns: var(--grid-4);
  }

  .quotes_btm.u-grid-custom {
    grid-template-columns: var(--grid-4);
  }

  .quotes_paragraph.u-column-custom {
    grid-column: 1 / span 4;
    max-width: none;
  }

  .cta_container.u-grid-custom {
    grid-template-columns: var(--grid-4);
  }

  .awards_category.u-column-custom {
    display: none;
  }

  .awards_org.u-column-custom {
    grid-column-end: span 6;
  }
}

/* Portrait Mobile (max-width: 479px) */
@media screen and (max-width: 479px) {
  :root {
    --padding-horizontal--main: 1.5rem;
  }

  .u-grid-custom {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }

  .g_heading {
    font-size: 13vw;
  }

  .g_hero_container {
    display: flex;
    flex-direction: column;
  }

  .g_hero_svg {
    width: 65%;
  }

  .a_list_item {
    display: flex;
    align-items: center;
  }

  .quotes_container {
    padding-top: 5rem;
    padding-bottom: 5rem;
    min-height: auto;
  }

  .cta_col_left.u-column-custom {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
  }

  .cta_col_mid.u-column-custom {
    width: 100%;
  }

  .awards_item_parent.u-grid-custom {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }

  .awards_year.u-column-custom {
    text-align: right;
  }
}
