/*
Theme Name: GRH Theme
Theme URI: https://grh.mx
Author: GRH
Description: Tema de bloques editable basado en el diseño original de GRH.
Version: 1.0.72
Requires at least: 7.0
Tested up to: 7.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: grh-theme
*/

@font-face {
  font-family: "Reyhan";
  src: url("assets/fonts/Reyhan-Light.ttf") format("truetype");
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}

@font-face {
  font-family: "Reyhan";
  src: url("assets/fonts/Reyhan-Semibold.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "Reyhan";
  src: url("assets/fonts/Reyhan-Extrabold.ttf") format("truetype");
  font-style: normal;
  font-weight: 800;
  font-display: swap;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: #cfd2d5;
  color: #29303a;
  font-family: Reyhan, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
  overflow-x: hidden;
}

.wp-site-blocks {
  padding: 0;
}

.wp-site-blocks > header,
.wp-site-blocks > main,
.wp-site-blocks > footer {
  margin-block-start: 0;
}

/* Progressive entrance motion for content inside non-hero sections. */
.grh-reveal-ready .grh-reveal-item {
  opacity: 0;
  transform: translate3d(0, 20px, 0);
  transition:
    opacity 580ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 580ms cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--grh-reveal-delay, 0ms);
  will-change: opacity, transform;
}

.grh-reveal-ready .grh-reveal.is-visible .grh-reveal-item {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  will-change: auto;
}

.grh-site-header {
  position: absolute;
  inset: 40px 0 auto;
  z-index: 20;
  color: #f4f4f2;
  transition: background-color 240ms ease, box-shadow 240ms ease, padding 240ms ease, backdrop-filter 240ms ease;
}

.grh-site-header.is-scrolled {
  position: fixed;
  inset: 0 0 auto;
  padding: 12px 0;
  background: rgba(20, 27, 35, 0.9);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.08);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

.grh-site-header__inner {
  box-sizing: border-box;
  width: min(calc(100% - 80px), 1360px);
  min-height: 47px;
  margin-inline: auto;
  padding-inline: 0;
}

.grh-site-logo {
  width: 120px;
  height: 47px;
  margin: 0;
}

.grh-site-logo img {
  display: block;
  width: 100%;
  height: 47px;
  object-fit: contain;
}

.grh-navigation {
  flex: 1 1 auto;
  min-width: 0;
  font-family: Cousine, ui-monospace, monospace;
  font-size: clamp(12px, 1.4vw, 16px);
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

.grh-navigation .wp-block-navigation__container,
.grh-navigation .grh-menu__list {
  width: 100%;
  gap: clamp(10px, 2vw, 24px);
  justify-content: flex-end;
}

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

.grh-navigation .grh-menu__list {
  display: flex;
  align-items: center;
}

.grh-navigation a {
  color: #f0f0ee;
  text-decoration: none;
}

.grh-navigation .wp-block-navigation-item:first-child > a,
.grh-navigation .grh-menu__list > .menu-item:first-child > a {
  color: #c59e49;
}

.grh-page-nosotros .grh-navigation .wp-block-navigation-item:first-child > a,
.grh-page-nosotros .grh-navigation .grh-menu__list > .menu-item:first-child > a {
  color: #f0f0ee;
}

.grh-page-nosotros .grh-navigation .wp-block-navigation-item:nth-child(2) > a,
.grh-page-nosotros .grh-navigation .grh-menu__list > .menu-item:nth-child(2) > a {
  color: #c59e49;
}

.grh-page-servicios .grh-navigation .wp-block-navigation-item:first-child > a,
.grh-page-servicios .grh-navigation .grh-menu__list > .menu-item:first-child > a {
  color: #f0f0ee;
}

.grh-page-servicios .grh-navigation .wp-block-navigation-item:nth-child(3) > a,
.grh-page-servicios .grh-navigation .grh-menu__list > .menu-item:nth-child(3) > a {
  color: #c59e49;
}

.grh-page-espacios .grh-navigation .wp-block-navigation-item:first-child > a,
.grh-page-espacios .grh-navigation .grh-menu__list > .menu-item:first-child > a { color: #f0f0ee; }
.grh-page-espacios .grh-navigation .wp-block-navigation-item:nth-child(4) > a,
.grh-page-espacios .grh-navigation .grh-menu__list > .menu-item:nth-child(4) > a { color: #c59e49; }
.grh-page-contacto .grh-navigation .wp-block-navigation-item:first-child > a,
.grh-page-contacto .grh-navigation .grh-menu__list > .menu-item:first-child > a { color: #f0f0ee; }
.grh-page-contacto .grh-navigation__contact > a {
  background: #d6b552;
  box-shadow: 0 0 0 1px rgba(240, 240, 238, 0.35), 0 8px 24px rgba(20, 27, 35, 0.18);
}

.grh-navigation__contact {
  margin-left: clamp(12px, 2vw, 32px);
  flex: 0 0 auto;
}

.grh-navigation .grh-menu__list > .menu-item:last-child {
  margin-left: clamp(12px, 2vw, 32px);
  flex: 0 0 auto;
}

.grh-navigation .grh-menu__list > .menu-item:last-child > a {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 128px;
  min-height: 45px;
  padding: 0 18px;
  border-radius: 8px;
  background: #c59e49;
  color: #141b23 !important;
  font-family: Reyhan, sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: 0.36px;
  text-transform: none;
}

.grh-menu__toggle,
.grh-menu__drawer,
.grh-menu__backdrop {
  display: none;
}

.grh-menu-editor-placeholder {
  padding: 18px;
  border: 1px dashed #c59e49;
  background: #141b23;
  color: #f0f0ee;
}

.grh-navigation__contact > a {
  display: flex !important;
  align-items: center;
  width: 128px;
  min-width: 128px;
  min-height: 45px;
  box-sizing: border-box;
  justify-content: center;
  padding: 0 18px;
  border-radius: 8px;
  background: #c59e49;
  color: #141b23 !important;
  font-family: Reyhan, sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: 0.36px;
  text-transform: none;
  white-space: nowrap;
}

.grh-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #111a22;
  align-items: stretch;
  justify-content: flex-start;
  padding: 0 !important;
}

.grh-services-hero {
  min-height: 810px !important;
  padding: 0 !important;
  background: #24272a;
}

.grh-about-hero {
  min-height: 810px !important;
  padding: 0 !important;
  background: linear-gradient(180deg, #4b4e54 0%, #24272a 100%);
}

.grh-about-hero > .wp-block-cover__image-background {
  opacity: 0.8;
}

.grh-about-hero > .wp-block-cover__background {
  background: linear-gradient(180deg, rgba(20, 27, 35, 0) 0.301%, #141b23 78.714%);
  opacity: 1;
}

.grh-about-hero > .wp-block-cover__inner-container {
  min-height: 810px;
}

.grh-about-hero__inner {
  display: flex;
  align-items: flex-end;
  box-sizing: border-box;
  width: min(calc(100% - 80px), 1360px);
  max-width: 1360px !important;
  min-height: 810px;
  margin: 0 auto !important;
  padding: 180px 0 80px;
}

.grh-about-hero__content {
  display: flex;
  flex-direction: column;
  gap: 64px;
  width: 100%;
  margin: 0 !important;
}

.grh-about-hero .grh-about-hero__title {
  width: min(1208px, 100%);
  margin: 0 !important;
  color: #cfd2d5;
  font-size: 80px !important;
  font-weight: 600;
  line-height: 80px;
  letter-spacing: 0;
}

.grh-about-hero__metrics {
  position: relative;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px !important;
  width: 100%;
  margin: 0 !important;
}

.grh-about-hero__metrics::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 50%;
  width: 1px;
  background: rgba(207, 210, 213, 0.45);
}

.grh-about-hero__metrics > .wp-block-column {
  min-width: 0;
  width: 100%;
  flex-basis: auto !important;
  margin: 0 !important;
}

.grh-about-page-metric {
  align-items: start;
  grid-template-columns: 60px minmax(0, 1fr) !important;
}

.grh-about-page-metric .wp-block-media-text__media {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: start;
  box-sizing: border-box;
  width: 60px;
  height: 60px;
  padding: 14px;
  border: 1px solid #cfd2d5;
  border-radius: 8px;
  background: rgba(20, 27, 35, 0.2);
}

.grh-about-page-metric .wp-block-media-text__media img {
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.grh-about-page-metric--method .wp-block-media-text__media {
  background: transparent;
}

.grh-about-page-metric--method .wp-block-media-text__media img {
  width: 28.357px;
  height: 32px;
}

.grh-timeline {
  box-sizing: border-box;
  padding: 80px 0;
  overflow: hidden;
  background: #141b23;
  color: #f0f0ee;
}

.grh-timeline__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  box-sizing: border-box;
  width: min(calc(100% - 80px), 1360px);
  margin: 0 auto 80px;
}

.grh-timeline__heading {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.grh-timeline__eyebrow {
  align-self: flex-start;
  box-sizing: border-box;
  margin: 0;
  padding: 8px;
  border: 1px solid #c59e49;
  color: #f0f0ee;
  font-family: Cousine, ui-monospace, monospace;
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

.grh-timeline__eyebrow::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 8px;
  background: #c59e49;
}

.grh-timeline__title {
  width: min(751px, 100%);
  margin: 0;
  color: #cfd2d5;
  font-size: 64px;
  font-weight: 600;
  line-height: 64px;
}

.grh-timeline__title-accent { color: #f0f0ee; }

.grh-timeline__arrows {
  display: flex;
  gap: 4px;
  margin-bottom: 1px;
}

.grh-timeline__arrows .location-arrow {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: #4b4e54;
}

.grh-timeline__arrows .location-arrow.is-primary,
.grh-timeline__arrows .location-arrow.is-available {
  background: #c59e49;
}

.grh-timeline__arrows .location-arrow:disabled {
  background: #4b4e54;
  opacity: 0.72;
  cursor: not-allowed;
  transform: none;
  filter: none;
}

.grh-timeline__arrows .location-arrow img {
  width: 32px;
  height: 32px;
}

.grh-timeline__viewport {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
  scroll-padding-inline: 40px;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

.grh-timeline__viewport::-webkit-scrollbar { display: none; }

.grh-timeline__track {
  position: relative;
  display: flex;
  align-items: stretch;
  gap: 10px;
  width: max-content;
  min-width: 100%;
  padding: 0 40px;
}

.grh-timeline__track::before {
  content: "";
  position: absolute;
  top: 22px;
  left: 264px;
  right: 264px;
  height: 1px;
  background: #c59e49;
}

.grh-timeline-card {
  position: relative;
  display: flex;
  flex: 0 0 447px;
  flex-direction: column;
  align-items: center;
  scroll-snap-align: start;
}

.grh-timeline-card__index {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  min-width: 40px;
  padding: 12px 14px;
  border-radius: 8px;
  background: #c59e49;
  color: #141b23;
  font-family: Cousine, ui-monospace, monospace;
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.8px;
  text-align: center;
}

.grh-timeline-card__connector {
  width: 1px;
  height: 30.5px;
  background: #c59e49;
}

.grh-timeline-card__body {
  box-sizing: border-box;
  width: 447px;
  height: 100%;
  min-height: 451px;
  padding: 24px;
  border-radius: 8px;
  background: linear-gradient(180deg, #c59e49 0%, #f0f0ee 37.086%);
  color: #24272a;
}

.grh-timeline-card__period {
  margin: 0 0 24px;
  font-size: 32px;
  font-weight: 800;
  line-height: 36px;
}

.grh-timeline-card__image {
  display: block;
  width: 100%;
  height: 168px;
  margin-bottom: 16px;
  object-fit: cover;
}

.grh-timeline-card__title {
  margin: 0 0 16px;
  color: #141b23;
  font-size: 24px;
  font-weight: 600;
  line-height: 28px;
  letter-spacing: 0.48px;
}

.grh-timeline-card__summary,
.grh-timeline-card__milestones p {
  margin: 0;
  color: #4b4e54;
  font-size: 18px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: 0.36px;
}

.grh-timeline-card__milestones { margin-top: 14px; }

.grh-timeline-card__milestones p {
  padding: 8px 0;
  border-top: 1px solid rgba(75, 78, 84, 0.5);
}

.grh-timeline-card__milestones p:last-child {
  border-bottom: 1px solid rgba(75, 78, 84, 0.5);
}

.grh-values {
  min-height: 658px !important;
  padding: 0 !important;
  background: #141b23;
}

.grh-values > .wp-block-cover__background {
  background: linear-gradient(180deg, #141b23 0%, rgba(20, 27, 35, 0.5) 45.138%, rgba(20, 27, 35, 0.4) 70.325%, rgba(20, 27, 35, 0) 100.06%);
  background-color: transparent !important;
  opacity: 1 !important;
}

.grh-values > .wp-block-cover__inner-container {
  min-height: 658px;
}

.grh-values__inner {
  display: flex;
  flex-direction: column;
  gap: 48px;
  box-sizing: border-box;
  width: min(calc(100% - 80px), 1360px);
  max-width: 1360px !important;
  min-height: 658px;
  margin: 0 auto !important;
  padding: 80px 0;
}

.grh-values__heading {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  margin: 0 !important;
}

.grh-values .grh-values__eyebrow { margin: 0 !important; }

.grh-values .grh-values__title {
  width: min(751px, 100%);
  margin: 0 !important;
  font-size: 64px !important;
  font-weight: 600;
  line-height: 64px;
  letter-spacing: 0;
}

.grh-values__grid {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-auto-rows: 136px;
  gap: 10px;
  width: 100%;
  margin: 0 !important;
}

.grh-value-card {
  display: grid !important;
  grid-column: span 2;
  grid-template-columns: 60px minmax(0, 1fr);
  align-items: center;
  gap: 24px;
  box-sizing: border-box;
  height: 136px;
  margin: 0 !important;
  padding: 32px;
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(20, 27, 35, 0.6) 0%, rgba(36, 39, 42, 0.3) 100%);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  transition: transform 220ms ease, background-color 220ms ease, box-shadow 220ms ease;
}

.grh-value-card:nth-child(n+4) { grid-column: span 3; }

.grh-value-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(20, 27, 35, 0.24);
}

.grh-value-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 60px;
  height: 60px;
  margin: 0 !important;
  padding: 14px;
  border: 1px solid #cfd2d5;
  border-radius: 8px;
  background: rgba(36, 39, 42, 0.2);
}

.grh-value-card__icon img {
  display: block;
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.grh-value-card__content {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
  margin: 0 !important;
}

.grh-value-card .grh-value-card__title {
  margin: 0 !important;
  color: #c59e49;
  font-size: 24px !important;
  font-weight: 600;
  line-height: 28px;
  letter-spacing: 0.48px;
}

.grh-value-card__copy {
  margin: 0 !important;
  color: #cfd2d5;
  font-size: 18px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: 0.36px;
}

.grh-methodology {
  min-height: 883px !important;
  padding: 0 !important;
  overflow: hidden;
  background: #cfd2d5;
}

.grh-methodology > .wp-block-cover__background {
  background: linear-gradient(
    180deg,
    rgba(207, 210, 213, 0.9) 0%,
    rgba(207, 210, 213, 0.82) 29.299%,
    rgba(207, 210, 213, 0.22) 50%,
    rgba(207, 210, 213, 0) 62%
  );
  background-color: transparent !important;
  opacity: 1 !important;
}

.grh-methodology > .wp-block-cover__inner-container { min-height: 883px; }

.grh-methodology__inner {
  display: flex;
  flex-direction: column;
  gap: 168px;
  box-sizing: border-box;
  width: min(calc(100% - 80px), 1360px);
  max-width: 1360px !important;
  min-height: 883px;
  margin: 0 auto !important;
  padding: 80px 0;
}

.grh-methodology__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  height: 245px;
  margin: 0 !important;
  text-align: center;
}

.grh-methodology .grh-methodology__eyebrow {
  margin: 0 !important;
  color: #141b23;
}

.grh-methodology__intro {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 21px;
  margin: 0 !important;
}

.grh-methodology .grh-methodology__title {
  margin: 0 !important;
  color: #141b23;
  font-size: 64px !important;
  font-weight: 600;
  line-height: 64px;
  letter-spacing: 0;
  white-space: nowrap;
}

.grh-methodology__title-dark { color: #141b23; }
.grh-methodology__title-muted { color: #4b4e54; }

.grh-methodology__description {
  width: 650px;
  max-width: 100%;
  margin: 0 !important;
  color: #4b4e54;
  font-size: 24px;
  font-weight: 600;
  line-height: 28px;
  letter-spacing: 0.48px;
  text-align: center;
}

.grh-methodology__steps {
  position: relative;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  height: 311px;
  margin: 0 !important;
}

.grh-methodology__steps::before {
  content: "";
  position: absolute;
  top: 30px;
  right: -80px;
  left: -80px;
  height: 1px;
  background: #c59e49;
}

.grh-method-step {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  min-width: 0;
  margin: 0 !important;
}

.grh-method-step__icon {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 60px;
  height: 60px;
  margin: 0 !important;
  padding: 14px;
  border-radius: 8px;
  background: linear-gradient(180deg, #c59e49 0%, #8e7130 100%);
  transition: transform 220ms ease;
}

.grh-method-step__icon img {
  display: block;
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.grh-method-step__icon--full { padding: 0; }
.grh-method-step__icon--full img { width: 60px; height: 60px; }

.grh-method-step__card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  box-sizing: border-box;
  width: 100%;
  height: 219px;
  margin: 0 !important;
  padding: 20px 24px;
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(20, 27, 35, 0.7) 0%, rgba(36, 39, 42, 0.35) 100%);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  color: #f0f0ee;
  text-align: center;
  transition: transform 220ms ease, box-shadow 220ms ease;
}

.grh-method-step__card::before {
  content: "";
  position: absolute;
  top: -32px;
  left: calc(50% - .5px);
  width: 1px;
  height: 32px;
  background: #c59e49;
}

.grh-method-step:hover .grh-method-step__icon { transform: translateY(-3px); }
.grh-method-step:hover .grh-method-step__card {
  transform: translateY(-3px);
  box-shadow: 0 16px 30px rgba(20, 27, 35, 0.2);
}

.grh-method-step .grh-method-step__number {
  margin: 0 !important;
  color: #c59e49;
  font-size: 64px !important;
  font-weight: 600;
  line-height: 48px;
}

.grh-method-step__content {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  margin: 0 !important;
}

.grh-method-step .grh-method-step__title {
  margin: 0 !important;
  color: #f0f0ee;
  font-size: 24px !important;
  font-weight: 600;
  line-height: 28px;
  letter-spacing: 0.48px;
}

.grh-method-step__copy {
  margin: 0 !important;
  color: #cfd2d5;
  font-size: 18px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: 0.36px;
}

.grh-about-contact {
  position: relative;
  box-sizing: border-box;
  min-height: 868px;
  padding: 80px 0;
  overflow: hidden;
  background: linear-gradient(180deg, #cfd2d5 26.281%, rgba(207, 210, 213, 0) 100%), #cfd2d5;
  color: #141b23;
}

.grh-contact-page-hero {
  min-height: 810px !important;
  padding: 0 !important;
  background: #141b23;
}

.grh-contact-page-hero > .wp-block-cover__background {
  z-index: 1;
  background: linear-gradient(180deg, rgba(20, 27, 35, 0.08) 0%, #141b23 78.714%);
  background-color: transparent !important;
  opacity: 1 !important;
}

.grh-contact-page-hero > .wp-block-cover__image-background { z-index: 1; }
.grh-contact-page-hero > .wp-block-cover__inner-container { z-index: 3; min-height: 810px; }

.grh-hero > .wp-block-cover__image-background,
.grh-hero > .wp-block-cover__video-background,
.grh-services-hero > .wp-block-cover__image-background,
.grh-services-hero > .wp-block-cover__video-background,
.grh-about-hero > .wp-block-cover__image-background,
.grh-about-hero > .wp-block-cover__video-background,
.grh-spaces-hero > .wp-block-cover__image-background,
.grh-spaces-hero > .wp-block-cover__video-background,
.grh-contact-page-hero > .wp-block-cover__image-background { z-index: 1; }

.grh-hero,
.grh-services-hero,
.grh-about-hero,
.grh-spaces-hero,
.grh-contact-page-hero { isolation: isolate; }

.grh-hero > .wp-block-cover__background,
.grh-services-hero > .wp-block-cover__background,
.grh-about-hero > .wp-block-cover__background,
.grh-spaces-hero > .wp-block-cover__background,
.grh-contact-page-hero > .wp-block-cover__background {
  z-index: 2;
  background: transparent !important;
  opacity: 0 !important;
}

.grh-hero > .wp-block-cover__inner-container,
.grh-services-hero > .wp-block-cover__inner-container,
.grh-about-hero > .wp-block-cover__inner-container,
.grh-spaces-hero > .wp-block-cover__inner-container,
.grh-contact-page-hero > .wp-block-cover__inner-container { position: relative; z-index: 3; }

.grh-contact-page-hero__inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 64px;
  box-sizing: border-box;
  width: min(calc(100% - 80px), 1360px);
  max-width: 1360px !important;
  min-height: 810px;
  margin: 0 auto !important;
  padding: 180px 0 80px;
}

.grh-contact-page-hero .grh-contact-page-hero__title {
  width: min(1208px, 100%);
  margin: 0 !important;
  font-size: 80px !important;
  font-weight: 600;
  line-height: 80px;
}

.grh-contact-page-hero__description {
  box-sizing: border-box;
  width: min(1056px, 100%);
  margin: 0 !important;
  padding: 0 30px 0 10px;
  border-left: 1px solid #c59e49;
  color: #cfd2d5;
  font-size: 32px;
  font-weight: 800;
  line-height: 36px;
}

.grh-about-contact__decoration {
  position: absolute;
  top: 286px;
  left: 151px;
  width: 1624px;
  height: 1068px;
  margin: 0 !important;
  pointer-events: none;
}

.grh-about-contact__decoration img { width: 100%; height: 100%; }

.grh-about-contact__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 80px;
  width: min(calc(100% - 80px), 1360px);
  max-width: 1360px !important;
  margin: 0 auto !important;
}

.grh-about-contact__heading {
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: 232px;
  margin: 0 !important;
}

.grh-about-contact .grh-about-contact__eyebrow {
  margin: 0 !important;
  color: #141b23;
}

.grh-about-contact__intro {
  display: grid !important;
  grid-template-columns: 751px 447px;
  justify-content: space-between;
  align-items: start;
  gap: 40px;
  margin: 0 !important;
}

.grh-about-contact .grh-about-contact__title {
  margin: 0 !important;
  color: #141b23;
  font-size: 64px !important;
  font-weight: 600;
  line-height: 64px;
  letter-spacing: 0;
}

.grh-about-contact__title-muted { color: #4b4e54; }

.grh-about-contact__description {
  box-sizing: border-box;
  margin: 0 !important;
  padding-left: 10px;
  border-left: 1px solid #c59e49;
  color: #4b4e54;
  font-size: 24px;
  font-weight: 600;
  line-height: 28px;
  letter-spacing: 0.48px;
}

.grh-about-contact__grid {
  display: grid !important;
  grid-template-columns: minmax(0, 903px) 447px;
  gap: 10px;
  align-items: stretch;
  min-height: 396px;
  height: auto;
  margin: 0 !important;
}

.grh-about-contact__form {
  box-sizing: border-box;
  min-height: 396px;
  height: auto;
  margin: 0 !important;
  padding: 32px;
  border-radius: 8px;
  background: #f0f0ee;
}

.grh-about-contact__form > .wpcf7,
.grh-about-contact__form .wpcf7-form { height: 100%; }

.grh-about-contact__form .wpcf7-form {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.grh-cf7-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 10px;
}

.grh-cf7-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(75, 78, 84, 0.5);
}

.grh-cf7-field--message { grid-column: 1 / -1; }

.grh-cf7-label {
  color: #141b23;
  font-family: Cousine, ui-monospace, monospace;
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

.grh-cf7-field .wpcf7-form-control-wrap { display: block; }

.grh-cf7-field .wpcf7-form-control:not(.wpcf7-submit) {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-height: 28px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  outline: 0;
  background: transparent;
  color: #4b4e54;
  font-family: Reyhan, sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 28px;
  letter-spacing: 0.48px;
  box-shadow: none;
}

.grh-cf7-field select.wpcf7-form-control {
  padding-right: 30px;
  appearance: none;
  background: var(--grh-icon-select) right center / 21px 11px no-repeat;
}

.grh-cf7-field textarea.wpcf7-form-control {
  height: 28px;
  min-height: 28px;
  resize: none;
  overflow: hidden;
}

.grh-cf7-field .wpcf7-not-valid-tip {
  position: absolute;
  font-size: 12px;
  line-height: 14px;
}

.grh-cf7-actions { margin-top: 16px; }

.grh-cf7-actions .wpcf7-submit {
  min-height: 45px;
  margin: 0;
  padding: 10px 18px;
  border: 0;
  border-radius: 8px;
  background: #c59e49;
  color: #141b23;
  font-family: Reyhan, sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: 0.36px;
  cursor: pointer;
  transition: transform 180ms ease, box-shadow 220ms ease, background-color 180ms ease;
}

.grh-cf7-actions .wpcf7-submit:hover {
  transform: translateY(-2px);
  background: #d6b552;
  box-shadow: 0 9px 22px rgba(20, 27, 35, 0.18);
}

.grh-about-contact__form .wpcf7-response-output {
  margin: 8px 0 0 !important;
  padding: 6px 10px !important;
  border-radius: 4px;
  font-size: 14px;
  line-height: 18px;
}

.grh-about-contact__details {
  box-sizing: border-box;
  min-height: 396px;
  height: auto;
  margin: 0 !important;
  padding: 32px;
  border-radius: 8px;
  overflow: visible;
  background: linear-gradient(180deg, #141b23 0%, #4b4e54 100%);
  color: #f0f0ee;
}

.grh-spaces-hero { min-height: 810px !important; padding: 0 !important; background: linear-gradient(180deg,#4b4e54,#24272a); }
.grh-spaces-hero > .wp-block-cover__background { background: linear-gradient(180deg,rgba(20,27,35,0) .301%,#141b23 78.714%); background-color:transparent!important; opacity: 1 !important; }
.grh-spaces-hero > .wp-block-cover__inner-container { min-height: 810px; }
.grh-spaces-hero__inner { display:flex; flex-direction:column; justify-content:flex-end; gap:64px; box-sizing:border-box; width:min(calc(100% - 80px),1360px); max-width:1360px!important; min-height:810px; margin:0 auto!important; padding:180px 0 80px; }
.grh-spaces-hero .grh-spaces-hero__title { width:min(1208px,100%); margin:0!important; font-size:80px!important; font-weight:600; line-height:80px; }
.grh-spaces-hero__description { box-sizing:border-box; width:min(1056px,100%); margin:0!important; padding:0 30px 0 10px; border-left:1px solid #c59e49; color:#cfd2d5; font-size:32px; font-weight:800; line-height:36px; }

.grh-spaces-showcase { box-sizing:border-box; min-height:920px; padding:80px 0; background:#cfd2d5; }
.grh-spaces-showcase__inner { display:grid; grid-template-columns:270px minmax(0,1fr); gap:32px; width:min(calc(100% - 80px),1360px); margin:0 auto; }
.grh-spaces-showcase__nav { display:flex; flex-direction:column; justify-content:space-between; min-height:760px; }
.grh-spaces-showcase__nav,
.grh-spaces-showcase__tabs,
.grh-spaces-showcase__panels,
.grh-space-panel { min-width:0; max-width:100%; }
.grh-spaces-showcase__tabs { display:flex; flex-direction:column; gap:10px; align-items:flex-start; }
.grh-space-tab { min-height:45px; padding:10px 18px; border:1px solid rgba(75,78,84,.5); border-radius:8px; background:transparent; color:#4b4e54; font:600 18px/24px Reyhan,sans-serif; letter-spacing:.36px; cursor:pointer; transition:background-color 180ms ease,color 180ms ease,transform 180ms ease; }
.grh-space-tab:hover { transform:translateX(3px); }
.grh-space-tab.is-active { border-color:#f0f0ee; background:#141b23; color:#f0f0ee; }
.grh-spaces-showcase__arrows { display:flex; gap:4px; }
.grh-spaces-showcase__arrows .location-arrow { width:32px; height:32px; border-radius:8px; background:#f0f0ee; }
.grh-spaces-showcase__arrows .location-arrow.is-primary { background:#c59e49; }
.grh-spaces-showcase__arrows img { width:32px!important; height:32px!important; }
.grh-spaces-showcase__panels { position:relative; min-height:760px; }
.grh-space-panel { display:none; box-sizing:border-box; min-height:820px; padding:40px; border-radius:8px; background:#f0f0ee; opacity:0; transform:translateX(28px); }
.grh-space-panel.is-active { display:flex; flex-direction:column; gap:40px; opacity:1; transform:none; animation:grhSpaceIn 440ms ease both; }
@keyframes grhSpaceIn { from{opacity:0;transform:translateX(28px)} to{opacity:1;transform:none} }
.grh-space-panel__image { width:100%; height:395px; object-fit:cover; }
.grh-space-panel__content { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:56px; flex:1; }
.grh-space-panel__summary { display:flex; flex-direction:column; justify-content:space-between; }
.grh-space-panel__title { margin:0 0 30px; color:#141b23; font-size:64px; font-weight:600; line-height:64px; }
.grh-space-panel__area { margin:0; color:#4b4e54; font-size:32px; font-weight:800; line-height:36px; }
.grh-space-panel__place { display:flex; flex-direction:column; align-items:flex-start; gap:12px; margin-top:32px; }
.grh-space-panel__location { align-self:flex-start; margin:0; padding:10px 18px; border-radius:8px; background:#c59e49; color:#141b23; font-size:18px; font-weight:600; line-height:24px; }
.grh-space-panel__coordinates { margin:0; color:#515960; font:400 14px/20px Cousine,ui-monospace,monospace; letter-spacing:.4px; }
.grh-space-panel__description { margin:0; padding-top:4px; color:#4b4e54; font-size:18px; font-weight:600; line-height:26px; letter-spacing:.36px; white-space:pre-line; }

.grh-about-contact .grh-about-contact__details-title {
  margin: 0 0 24px !important;
  color: #f0f0ee;
  font-size: 32px !important;
  font-weight: 800;
  line-height: 36px;
}

.grh-about-contact__details-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0 !important;
}

.grh-contact-detail {
  display: grid !important;
  grid-template-columns: 32px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  box-sizing: border-box;
  min-height: 64px;
  margin: 0 !important;
  padding: 10px;
  border: 1px solid #cfd2d5;
  border-radius: 8px;
}

.grh-contact-detail__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 32px;
  height: 32px;
  margin: 0 !important;
  padding: 7px;
  border-radius: 8px;
  background: linear-gradient(180deg, #c59e49 0%, #8e7130 100%);
}

.grh-contact-detail__icon img { width: 18px; max-height: 18px; object-fit: contain; }

.grh-contact-detail p,
.grh-contact-detail a {
  min-width: 0;
  margin: 0 !important;
  color: #f0f0ee;
  font-size: 16px;
  font-weight: 600;
  line-height: 22px;
  letter-spacing: 0.16px;
  text-decoration: none;
  text-align: left;
  text-wrap: pretty;
  overflow-wrap: anywhere;
  word-break: normal;
}

.grh-contact-detail p { max-width: 100%; }

.grh-contact-detail a {
  display: inline;
  max-width: 100%;
}

.grh-services-hero > .wp-block-cover__background {
  background: linear-gradient(180deg, rgba(20, 27, 35, 0) 0%, #141b23 75.926%);
  opacity: 1;
}

.grh-services-hero > .wp-block-cover__inner-container {
  min-height: 810px;
}

.grh-services-hero__inner {
  display: flex;
  align-items: flex-end;
  box-sizing: border-box;
  width: min(calc(100% - 80px), 1360px);
  max-width: 1360px !important;
  min-height: 810px;
  margin: 0 auto !important;
  padding: 180px 0 80px;
}

.grh-services-hero__content {
  display: flex;
  flex-direction: column;
  gap: 64px;
  width: 100%;
  margin: 0 !important;
}

.grh-services-hero .grh-services-hero__title {
  width: min(1056px, 100%);
  margin: 0 !important;
  color: #cfd2d5;
  font-size: 80px !important;
  font-weight: 600;
  line-height: 80px;
  letter-spacing: 0;
}

.grh-services-hero__title-bright { color: #f0f0ee; }
.grh-services-hero__title-muted { color: #cfd2d5; }

.grh-services-hero__description {
  box-sizing: border-box;
  width: min(1056px, 100%);
  margin: 0 !important;
  padding: 0 30px 0 10px;
  border-left: 1px solid #c59e49;
  color: #f0f0ee;
  font-size: 32px;
  font-weight: 800;
  line-height: 36px;
  letter-spacing: 0;
}

.grh-services-hero__metrics {
  position: relative;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px !important;
  width: 100%;
  margin: 0 !important;
}

.grh-services-hero__metrics::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background: rgba(207, 210, 213, 0.45);
}

.grh-services-hero__metrics--single {
  grid-template-columns: minmax(0, 650px);
}

.grh-services-hero__metrics--single::after {
  display: none;
}

.grh-services-hero__metrics > .wp-block-column {
  min-width: 0;
  width: 100%;
  flex-basis: auto !important;
  margin: 0 !important;
}

.grh-services-page-metric {
  align-items: start;
  grid-template-columns: 60px minmax(0, 1fr) !important;
}

.grh-services-page-metric .wp-block-media-text__media {
  align-self: start;
}

.grh-services-page-metric--location .wp-block-media-text__media {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 60px;
  height: 60px;
  padding: 14px;
  border: 1px solid #cfd2d5;
  border-radius: 8px;
}

.grh-services-page-metric--location .wp-block-media-text__media img {
  width: 24.242px;
  height: 32px;
}

.grh-services-metric {
  display: grid !important;
  grid-template-columns: 60px minmax(0, 1fr);
  gap: 24px;
  align-items: start !important;
  margin: 0 !important;
}

.grh-services-metric__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 60px;
  height: 60px;
  margin: 0 !important;
}

.grh-services-metric__icon img {
  display: block;
  width: 60px;
  height: 60px;
}

.grh-services-metric__icon--location {
  padding: 14px;
  border: 1px solid #cfd2d5;
  border-radius: 8px;
}

.grh-services-metric__icon--location figure {
  margin: 0 !important;
}

.grh-services-metric__icon--location img {
  width: 24.242px;
  height: 32px;
}

.grh-services-metric__copy {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin: 0 !important;
  color: #f0f0ee;
}

.grh-services-metric__copy h3 {
  margin: 0 !important;
  color: #f0f0ee;
  font-size: 32px;
  font-weight: 800;
  line-height: 36px;
  letter-spacing: 0;
}

.grh-services-metric__copy p {
  margin: 0 !important;
  color: #f0f0ee;
  font-size: 24px;
  font-weight: 600;
  line-height: 28px;
  letter-spacing: 0.48px;
}

.grh-cover-parallax .wp-block-cover__image-background {
  transform: translate3d(0, var(--grh-parallax-y, 0), 0) scale(1.16);
  transform-origin: center;
  will-change: transform;
}

@media (max-width: 900px) {
  .grh-cover-parallax .wp-block-cover__image-background {
    transform: translate3d(0, var(--grh-parallax-y, 0), 0) scale(1.12);
  }
}

.grh-cover-external-video {
  position: relative;
  overflow: hidden;
  background: #141b23;
}

.grh-cover-external-video > .wp-block-cover__image-background,
.grh-cover-external-video > video.wp-block-cover__video-background {
  opacity: 0;
}

.grh-cover-external-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.grh-cover-external-media iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 177.78vh;
  min-width: 100%;
  height: 56.25vw;
  min-height: 100%;
  border: 0;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.grh-cover-external-video > .wp-block-cover__background {
  z-index: 1;
}

.grh-cover-external-video > .wp-block-cover__inner-container {
  position: relative;
  z-index: 2;
}

.grh-cover-color-overlay > .wp-block-cover__background {
  background: transparent !important;
  opacity: 0 !important;
}

.grh-cover-color-layer {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

.grh-cover-color-overlay > .wp-block-cover__inner-container {
  position: relative;
  z-index: 3;
}

.block-editor-block-list__block.grh-cover-overlay-preview > .wp-block-cover {
  isolation: isolate;
}

.block-editor-block-list__block.grh-cover-overlay-preview > .wp-block-cover::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: var(--grh-cover-preview-color, #141b23);
  opacity: var(--grh-cover-preview-opacity, 0.4);
  pointer-events: none;
}

.block-editor-block-list__block.grh-cover-overlay-preview > .wp-block-cover > .wp-block-cover__inner-container {
  position: relative;
  z-index: 3;
}

@media (prefers-reduced-motion: reduce) {
  .grh-cover-parallax .wp-block-cover__image-background {
    transform: none;
  }
}

.grh-hero > .wp-block-cover__background,
.grh-services-hero > .wp-block-cover__background,
.grh-about-hero > .wp-block-cover__background,
.grh-spaces-hero > .wp-block-cover__background,
.grh-contact-page-hero > .wp-block-cover__background {
  background: transparent !important;
  opacity: 0 !important;
}

.grh-hero::after,
.grh-services-hero::after,
.grh-about-hero::after,
.grh-spaces-hero::after,
.grh-contact-page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

.grh-hero::after {
  background: linear-gradient(180deg, rgba(20, 27, 35, 0) 0%, #141b23 100%);
}

.grh-services-hero::after {
  background: linear-gradient(180deg, rgba(20, 27, 35, 0) 0%, #141b23 75.926%);
}

.grh-about-hero::after,
.grh-spaces-hero::after,
.grh-contact-page-hero::after {
  background: linear-gradient(180.196deg, rgba(20, 27, 35, 0) 0.301%, #141b23 78.714%);
}

.grh-hero .wp-block-cover__image-background {
  object-position: center top;
}

.grh-hero .wp-block-cover__inner-container,
.grh-services-hero > .wp-block-cover__inner-container,
.grh-about-hero > .wp-block-cover__inner-container,
.grh-spaces-hero > .wp-block-cover__inner-container,
.grh-contact-page-hero > .wp-block-cover__inner-container {
  position: relative;
  z-index: 3;
  width: 100%;
}

.grh-hero .wp-block-cover__inner-container {
  min-height: 810px;
}

.grh-hero__inner {
  box-sizing: border-box;
  width: min(calc(100% - 80px), 1360px);
  max-width: 1360px !important;
  margin-inline: auto;
  padding-top: 211px;
  min-height: 810px;
}

.grh-hero__inner > * {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.grh-hero .grh-hero__title {
  max-width: 1208px !important;
  margin: 0 0 64px;
  font-size: 80px !important;
  font-weight: 600;
  line-height: 80px;
  letter-spacing: 0;
}

.grh-tone-pale {
  color: #cfd2d5;
}

.grh-tone-bright {
  color: #f0f0ee;
}

.grh-tone-gold {
  color: #c59e49;
}

.grh-hero .grh-hero__metrics.wp-block-columns {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(100%, 1288px);
  max-width: 1288px !important;
  margin: 0 0 46px !important;
  gap: clamp(64px, 8vw, 168px);
}

.grh-hero .grh-hero__metrics.wp-block-columns > .wp-block-column {
  min-width: 0;
  width: 100%;
  flex-basis: auto !important;
}

.grh-hero__metrics::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 50%;
  width: 1px;
  background: rgba(255, 255, 255, 0.24);
  transform: translateX(-50%);
  z-index: 2;
}

.grh-metric {
  align-items: start;
  grid-template-columns: 60px 1fr !important;
}

.grh-metric .wp-block-media-text__media {
  align-self: start;
}

.grh-metric .wp-block-media-text__media img {
  width: 60px;
  height: 60px;
  object-fit: contain;
}

/* Artwork-only hero icons sit inside a fixed 60px frame. */
.grh-services-page-metric--location.grh-metric .wp-block-media-text__media img {
  width: 24px;
  height: 32px;
}

.grh-about-page-metric.grh-metric .wp-block-media-text__media img {
  width: 32px;
  height: 32px;
}

.grh-about-page-metric--method.grh-metric .wp-block-media-text__media img {
  width: 28px;
  height: 32px;
}

.grh-metric .wp-block-media-text__content {
  padding: 0 0 0 24px;
}

.grh-metric__title {
  margin: 0 0 13px;
  font-size: 32px;
  font-weight: 800;
  line-height: 36px;
}

.grh-metric__copy {
  max-width: none;
  margin: 0;
  color: rgba(244, 244, 242, 0.82) !important;
  font-size: 24px;
  font-weight: 600;
  line-height: 28px;
  letter-spacing: 0.48px;
}

.grh-hero__actions {
  margin: 0 !important;
}

.grh-hero__actions .wp-block-button__link {
  min-height: 45px;
  padding: 10px 18px;
  border-radius: 8px;
  background: #c59e49 !important;
  font-size: 18px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: 0.36px;
  transition: background-color 180ms ease, transform 180ms ease;
}

.grh-hero__actions .wp-block-button__link:hover {
  background: #d6b24f;
  transform: translateY(-2px);
}

.grh-footer {
  min-height: 80px;
}

.grh-services {
  min-height: 740px;
  box-sizing: border-box;
  padding: 80px 0;
  background: #141b23 !important;
}

.grh-services__panel {
  display: grid;
  grid-template-columns: minmax(0, 457fr) minmax(0, 775fr);
  gap: 48px;
  box-sizing: border-box;
  width: min(calc(100% - 80px), 1360px);
  max-width: 1360px !important;
  height: 580px;
  margin: 0 auto !important;
  padding: 40px;
  border-radius: 8px;
  background: linear-gradient(180deg, #24272a 0%, #141b23 100%);
}

.grh-services__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  height: 500px;
  margin: 0 !important;
  color: #fff;
}

.grh-eyebrow {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  box-sizing: border-box;
  margin: 0 0 32px !important;
  padding: 5px 13px;
  border: 1px solid rgba(197, 158, 73, 0.5);
  color: #f0f0ee;
  font-family: Cousine, ui-monospace, monospace;
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

.grh-eyebrow::before {
  content: "";
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: 1px;
  background: #c59e49;
}

.grh-services .grh-services__title {
  margin: 0 !important;
  color: #fff;
  font-size: 64px !important;
  font-weight: 600;
  line-height: 64px;
  letter-spacing: 0;
}

.grh-services__actions {
  margin: auto 0 0 !important;
}

.grh-services__actions .wp-block-button__link {
  min-height: 45px;
  padding: 10px 18px;
  border-radius: 8px;
  background: #c59e49 !important;
  color: #141b23 !important;
  font-size: 18px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: 0.36px;
}

.grh-services .grh-service-cards.wp-block-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
  height: 500px;
  margin: 0 !important;
}

.grh-services .grh-service-cards > .wp-block-column {
  min-width: 0;
  width: 100%;
  margin: 0;
  flex-basis: auto !important;
}

.grh-service-card {
  position: relative;
  box-sizing: border-box;
  height: 500px;
  min-height: 500px !important;
  padding: 0 !important;
  overflow: hidden;
  align-items: stretch;
  justify-content: flex-end;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 8px;
  background: #111920;
}

.grh-service-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(20, 27, 35, 0) 43%, #141b23 100%);
  pointer-events: none;
}

.grh-service-card .wp-block-cover__image-background {
  transition: transform 500ms ease;
}

.grh-service-card:hover .wp-block-cover__image-background {
  transform: scale(1.08);
}

.grh-service-card > .wp-block-cover__inner-container {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
}

.grh-service-card__copy {
  position: absolute;
  right: 14px;
  bottom: 14px;
  left: 14px;
  display: grid;
  grid-template-columns: 60px 1fr;
  grid-template-rows: auto 1fr;
  column-gap: 24px;
  box-sizing: border-box;
  height: 186px;
  margin: 0 !important;
  padding: 24px;
  border: 1px solid #cfd2d5;
  border-radius: 4px;
  background: linear-gradient(180deg, rgba(20, 27, 35, 0) 0%, rgba(20, 27, 35, 0.2) 100%);
  color: #fff;
  backdrop-filter: blur(10px);
}

.grh-service-card--building .grh-service-card__copy {
  height: 210px;
  background: linear-gradient(180deg, rgba(20, 27, 35, 0) 0%, rgba(20, 27, 35, 0.6) 100%);
}

.grh-service-card__icon {
  grid-column: 1;
  grid-row: 1 / span 2;
  width: 60px;
  height: 60px;
  margin: 0 !important;
}

.grh-service-card__icon img {
  width: 60px;
  height: 60px;
  object-fit: contain;
}

.grh-service-card__copy h3 {
  grid-column: 2;
  margin: 0 0 12px !important;
  color: #f0f0ee;
  font-size: 32px;
  font-weight: 800;
  line-height: 32px;
  letter-spacing: 0;
}

.grh-service-card__copy p {
  grid-column: 2;
  margin: 0 !important;
  color: #cfd2d5;
  font-size: 18px;
  font-weight: 600;
  line-height: 22px;
  letter-spacing: 0.36px;
}

.section-inner {
  width: min(1360px, calc(100% - 80px));
  margin-right: auto;
  margin-left: auto;
}

.territory {
  display: block;
  box-sizing: border-box;
  padding: 80px 0;
  background: linear-gradient(180deg, #f0f0ee 0 348px, #cfd2d5 100%);
  outline: 0;
}

.territory-grid {
  display: grid;
  grid-template-columns: minmax(0, 751fr) minmax(0, 589fr);
  gap: 20px;
  align-items: start;
}

.territory .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  box-sizing: border-box;
  margin-bottom: 23px;
  padding: 5px 13px;
  border: 1px solid rgba(201, 161, 61, 0.5);
  color: #141b23;
  font-family: Cousine, ui-monospace, monospace;
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

.territory .eyebrow::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 1px;
  background: #c59e49;
}

.territory h2 {
  margin: 0;
  color: #141b23;
  font-size: 64px;
  font-weight: 600;
  line-height: 64px;
  letter-spacing: 0;
}

.territory .tone-muted {
  color: #4b4e54;
}

.territory-grid > p {
  max-width: 589px;
  margin: 59px 0 0;
  padding-left: 14px;
  border-left: 2px solid #c59e49;
  color: #4b4e54;
  font-size: 24px;
  font-weight: 600;
  line-height: 28px;
  letter-spacing: 0.48px;
}

.territory-media {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 665fr) minmax(0, 567fr);
  gap: 64px;
  align-items: center;
  box-sizing: border-box;
  height: 491.167px;
  padding: 32px;
  margin-top: 80px;
  overflow: hidden;
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(20, 27, 35, 0) 0%, rgba(20, 27, 35, 0.88) 100%),
    var(--grh-map-background) center / cover no-repeat;
}

.map-stage {
  position: relative;
  height: 427.167px;
  overflow: hidden;
}

.map-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 520ms ease;
}

.map-slide.is-active {
  opacity: 1;
}

.mexico-map-svg {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: fill;
}

.mexico-map-svg svg {
  display: block;
  width: 100%;
  height: 100%;
}

.mexico-state {
  transition: fill 520ms ease, stroke 520ms ease;
}

.mexico-state.is-active {
  fill: #c59e49 !important;
  stroke: rgba(207, 210, 213, 0.75) !important;
}

.map-leaders {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}

.map-leader-line {
  opacity: 0;
  stroke: rgba(81, 89, 96, 0.55);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
  transition: opacity 520ms ease;
}

.map-leader-line.is-active {
  opacity: 1;
}

.map-leader {
  position: absolute;
  top: 16.36%;
  left: 20.75%;
  z-index: 2;
  width: 37.79%;
  height: 1px;
  background: rgba(81, 89, 96, 0.55);
  transform: rotate(-1.4deg);
  transform-origin: left center;
  pointer-events: none;
}

.map-leader-norte {
  top: 38.42%;
  left: 56.25%;
  width: 6.18%;
  transform: rotate(-113.8deg);
}

.map-leader-bajio {
  top: 65.74%;
  left: 52.24%;
  width: 14.45%;
  transform: rotate(-12.3deg);
}

.map-label {
  position: absolute;
  top: 48px;
  left: 381px;
  z-index: 3;
  padding: 8px 13px;
  background: rgba(241, 241, 238, 0.94);
  color: #515960;
  font-family: Cousine, ui-monospace, monospace;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(-50%);
  transition: opacity 520ms ease;
}

.map-label.is-active { opacity: 1; }

.map-label--terrain {
  background: #c59e49;
  color: #141b23;
  font-weight: 700;
}

.map-label-norte { top: 112px; left: 350px; }
.map-label-bajio { top: 246px; left: 432px; }

.map-pins {
  position: absolute;
  inset: 0;
  z-index: 4;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.map-pin {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 28px;
  height: 28px;
  padding: 4px;
  border: 0;
  border-radius: 50%;
  background: #f0f0ee;
  box-shadow: 0 0 0 2px rgba(20, 27, 35, 0.12);
  cursor: pointer;
  pointer-events: auto;
  transform: translate(-50%, -50%);
  transition: transform 220ms ease, background-color 220ms ease, box-shadow 220ms ease;
}

.map-pin:hover,
.map-pin:focus-visible {
  transform: translate(-50%, -50%) scale(1.15);
  box-shadow: 0 0 0 2px rgba(20, 27, 35, 0.28);
}

.map-pin:focus-visible { outline: 2px solid #c59e49; outline-offset: 2px; }
.map-pin-hermosillo { top: 16.36%; left: 20.75%; }
.map-pin-monterrey { top: 38.42%; left: 56.25%; }
.map-pin-bajio { top: 65.74%; left: 52.24%; }

.map-pin-icon {
  width: 20px;
  height: 20px;
  pointer-events: none;
}

.map-pin-icon-active { display: none; }
.map-pin.is-active { z-index: 1; background: #141b23; box-shadow: 0 0 0 2px rgba(240, 240, 238, 0.9); }
.map-pin.is-active .map-pin-icon-active { display: block; }
.map-pin.is-active .map-pin-icon-default { display: none; }

.map-pin--terrain {
  width: 30px;
  height: 30px;
  padding: 5px;
  border-radius: 50%;
  background: #f0f0ee;
  box-shadow: 0 0 0 2px rgba(20, 27, 35, 0.18);
}

.map-pin--terrain.is-active,
.map-pin--terrain:hover,
.map-pin--terrain:focus-visible {
  background: #141b23;
  box-shadow: 0 0 0 2px rgba(240, 240, 238, 0.9);
}

.map-pin-icon-terrain,
.map-pin-icon-custom {
  width: 20px;
  height: 20px;
  object-fit: contain;
}

.location-slider {
  position: relative;
  width: 100%;
  height: 427.167px;
  overflow: hidden;
  border-radius: 8px;
  justify-self: end;
  touch-action: pan-y;
}

.location-panel {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: 8px;
  background: #cfd2d5;
  opacity: 0;
  transform: translateX(100%);
  transition: transform 560ms cubic-bezier(0.22, 1, 0.36, 1), opacity 260ms ease;
}

.location-panel-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: var(--grh-location-image);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: var(--grh-location-image-opacity, 1);
  filter: blur(var(--grh-location-image-blur, 0));
  transform: scale(var(--grh-location-image-scale, 1));
  pointer-events: none;
}

.location-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, #f0f0ee 0%, rgba(240, 240, 238, 0) 100%);
  opacity: var(--grh-location-overlay-opacity, 1);
  pointer-events: none;
}

.location-panel.is-active { z-index: 2; opacity: 1; transform: translateX(0); }
.location-panel.is-exiting-left { opacity: 0; transform: translateX(-100%); }
.location-panel.is-exiting-right { opacity: 0; transform: translateX(100%); }

.location-panel-glow {
  position: absolute;
  top: -176px;
  left: -467px;
  width: 763px;
  height: 511px;
  z-index: 1;
  pointer-events: none;
}

.location-panel-glow img {
  position: absolute;
  top: -250px;
  left: -250px;
  display: block;
  width: 1263px;
  max-width: none;
  height: 1011px;
}

.location-panel-inner {
  position: relative;
  z-index: 2;
  display: flex;
  box-sizing: border-box;
  height: 100%;
  flex-direction: column;
  padding: 32px;
}

.location-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 40px;
}

.location-brand { display: block; width: auto; max-width: 202px; height: auto; max-height: 40px; object-fit: contain; object-position: left center; }
.location-eyebrow { display:inline-flex; align-items:center; min-height:32px; padding:6px 10px; border:1px solid rgba(197,158,73,.65); border-radius:4px; color:#394047; font:700 12px/16px Cousine,ui-monospace,monospace; letter-spacing:.4px; text-transform:uppercase; }
.location-arrows { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.location-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}
.location-arrow img { width: 24px; height: 24px; pointer-events: none; }
.location-arrow-prev-icon { transform: scaleX(-1); }
.location-rule { display: block; height: 1px; margin: 24px 0; background: rgba(201, 161, 61, 0.28); }
.location-copy h3 { margin: 0 0 24px; color: #141b23; font-size: 32px; font-weight: 800; line-height: 36px; }
.location-copy p { margin: 0; color: #555d64; font-size: 18px; font-weight: 600; line-height: 24px; letter-spacing: 0.36px; }

.location-chip {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 16px;
  margin-top: auto;
  padding: 8px 16px 8px 8px;
  border: 1px solid rgba(255, 255, 255, 0.86);
  border-radius: 4px;
  background: rgba(75, 78, 84, var(--grh-location-chip-opacity, 0.34));
  max-width: 100%;
  box-sizing: border-box;
  line-height: 18px;
  white-space: normal;
  color: #fff;
  font-family: Cousine, ui-monospace, monospace;
  font-size: 16px;
  line-height: 32px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  backdrop-filter: blur(var(--grh-location-chip-blur, 12px));
}

.location-pin-icon {
  position: relative;
  display: inline-flex;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: linear-gradient(180deg, #c59e49 0%, #8e7130 100%);
}
.location-pin-icon img { width: 14px; height: 18px; }

.grh-locations-editor {
  padding: 32px;
  border: 1px solid #c59e49;
  background: #f0f0ee;
  color: #141b23;
}
.grh-locations-editor__items { display: grid; gap: 16px; margin-top: 32px; }
.grh-location-editor-card { padding: 16px; border: 1px solid #8b9197; border-radius: 4px; background: #fff; }
.grh-location-editor-card__preview { position:relative; isolation:isolate; overflow:hidden; padding:16px; border-radius:4px; background:#cfd2d5; }
.grh-location-editor-card__preview::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,#f0f0ee 0%,rgba(240,240,238,0) 100%); opacity:var(--grh-location-editor-overlay-opacity,1); pointer-events:none; }
.grh-location-editor-card__media { position:absolute; inset:0; z-index:0; background-position:center; background-size:cover; opacity:var(--grh-location-editor-image-opacity,1); filter:blur(var(--grh-location-editor-image-blur,0)); transform:scale(1.04); pointer-events:none; }
.grh-location-editor-card__content { position:relative; z-index:2; }

.grh-terrain {
  position: relative;
  box-sizing: border-box;
  min-height: 598px !important;
  padding: 0 !important;
  overflow: hidden;
  align-items: stretch;
  justify-content: flex-start;
  background: #141b23;
}

.grh-terrain .wp-block-cover__image-background {
  object-position: center;
}

.grh-terrain .wp-block-cover__background {
  z-index: 1;
  opacity: 1 !important;
  background: linear-gradient(90deg, rgba(10, 15, 17, 0.7) 0%, rgba(10, 15, 17, 0.38) 42%, rgba(10, 15, 17, 0.02) 100%) !important;
}

.grh-terrain::after {
  content: "";
  position: absolute;
  top: -25%;
  left: 50%;
  z-index: 2;
  width: 70%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(197, 158, 73, 0.5) 0%, rgba(197, 158, 73, 0) 70%);
  transform: translateX(-50%) scale(0);
  transform-origin: center;
  animation: grhTerrainGlow 7s ease-in-out infinite;
  pointer-events: none;
}

@keyframes grhTerrainGlow {
  0%, 100% { transform: translateX(-50%) scale(0); opacity: 0; }
  50% { transform: translateX(-50%) scale(1); opacity: 1; }
}

.grh-terrain > .wp-block-cover__inner-container {
  position: relative;
  z-index: 3;
  width: 100%;
  min-height: 598px;
}

.grh-terrain__content {
  box-sizing: border-box;
  width: min(calc(100% - 80px), 1360px);
  max-width: 1360px !important;
  margin: 0 auto !important;
  padding-top: 80px;
  padding-bottom: 65px;
}

.grh-terrain__content > * {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.grh-eyebrow--on-image {
  margin-bottom: 23px !important;
  color: #f0f0ee;
}

.grh-terrain .grh-terrain__title {
  max-width: 751px;
  margin: 0 0 48px !important;
  color: #fff;
  font-size: 64px !important;
  font-weight: 600;
  line-height: 64px;
  letter-spacing: 0;
}

.grh-terrain__description {
  box-sizing: border-box;
  max-width: 589px;
  margin: 0 0 40px 10px !important;
  padding-left: 14px;
  border-left: 2px solid #c59e49;
  color: rgba(255, 255, 255, 0.82);
  font-size: 24px;
  font-weight: 600;
  line-height: 28px;
  letter-spacing: 0.48px;
}

.grh-terrain__actions {
  margin: 0 !important;
}

.grh-terrain__actions .wp-block-button__link {
  min-height: 45px;
  padding: 10px 18px;
  border-radius: 8px;
  background: #c59e49 !important;
  color: #141b23 !important;
  font-size: 18px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: 0.36px;
}

.grh-advantages {
  box-sizing: border-box;
  min-height: 770px;
  padding: 80px 0;
  background: #cfd2d5;
}

.grh-advantages__inner {
  width: min(calc(100% - 80px), 1360px);
  max-width: 1360px !important;
  margin: 0 auto !important;
}

.grh-advantages__heading {
  max-width: 490px;
  margin: 0 auto 69px !important;
  text-align: center;
}

.grh-eyebrow--light {
  margin-bottom: 23px !important;
  color: #141b23;
}

.grh-advantages .grh-advantages__title {
  margin: 0 !important;
  font-size: 64px !important;
  font-weight: 600;
  line-height: 64px;
  letter-spacing: 0;
}

.grh-tone-muted { color: #4b4e54; }
.grh-tone-strong { color: #141b23; }

.grh-advantages .grh-advantage-grid.wp-block-columns {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin: 0 !important;
}

.grh-advantages .grh-advantage-grid > .wp-block-column {
  min-width: 0;
  width: 100%;
  margin: 0;
  flex-basis: auto !important;
}

.grh-advantage-card {
  position: relative;
  box-sizing: border-box;
  height: 362px;
  min-height: 362px !important;
  padding: 0 !important;
  overflow: hidden;
  align-items: stretch;
  border-radius: 4px;
  color: #fff;
}

.grh-advantage-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(20, 27, 35, 0.12) 0%, rgba(20, 27, 35, 0.36) 45%, rgba(20, 27, 35, 0.92) 100%);
  pointer-events: none;
}

.grh-advantage-card .wp-block-cover__image-background {
  transition: transform 500ms ease;
}

.grh-advantage-card:hover .wp-block-cover__image-background {
  transform: scale(1.08);
}

.grh-advantage-card > .wp-block-cover__inner-container {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
}

.grh-advantage-card__glow {
  position: absolute;
  inset: 0;
  z-index: 0;
  margin: 0 !important;
  overflow: hidden;
  pointer-events: none;
}

.grh-advantage-card__glow img {
  position: absolute;
  top: -442.73px;
  left: -549px;
  display: block;
  width: 1254px;
  max-width: none;
  height: 949px;
}

.grh-advantage-card--1 .grh-advantage-card__glow img,
.grh-advantage-card--2 .grh-advantage-card__glow img,
.grh-advantage-card--3 .grh-advantage-card__glow img {
  top: -428.73px;
  left: -595px;
}

.grh-advantage-card--4 .grh-advantage-card__glow img {
  top: -421.73px;
  left: -580px;
}

.grh-advantage-card__icon {
  position: absolute;
  top: 32px;
  left: 32px;
  z-index: 2;
  width: 60px;
  height: 60px;
  margin: 0 !important;
}

.grh-advantage-card__icon img {
  width: 60px;
  height: 60px;
  object-fit: contain;
}

.grh-advantage-card h3 {
  position: absolute;
  right: 32px;
  bottom: 176px;
  left: 32px;
  z-index: 2;
  margin: 0 !important;
  color: #fff;
  font-size: 24px;
  font-weight: 600;
  line-height: 28px;
  letter-spacing: 0.48px;
}

.grh-advantage-card--1 h3,
.grh-advantage-card--2 h3 { bottom: 152px; }
.grh-advantage-card--3 h3 { bottom: 128px; }

.grh-advantage-card p {
  position: absolute;
  right: 32px;
  bottom: 32px;
  left: 32px;
  z-index: 2;
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.76);
  font-size: 18px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: 0.36px;
}

.grh-clients {
  box-sizing: border-box;
  min-height: 616px;
  padding: 80px 0;
  overflow: hidden;
  background: #cfd2d5;
}

.grh-clients__grid {
  display: grid;
  grid-template-columns: minmax(0, 751fr) minmax(0, 589fr);
  gap: 20px;
  align-items: start;
  width: min(calc(100% - 80px), 1360px);
  max-width: 1360px !important;
  margin: 0 auto !important;
}

.grh-clients__grid > * {
  margin: 0 !important;
}

.grh-clients .grh-clients__title {
  max-width: 668px;
  margin: 0 !important;
  font-size: 64px !important;
  font-weight: 600;
  line-height: 64px;
  letter-spacing: 0;
}

.grh-clients__description {
  max-width: 437px;
  margin: 59px 0 0 !important;
  color: #4b4e54;
  font-size: 24px;
  font-weight: 600;
  line-height: 28px;
  letter-spacing: 0.48px;
}

.grh-logo-row,
.grh-client-marquee {
  width: 100%;
  margin: 80px 0 0 !important;
  overflow: hidden;
}

.grh-logo-track,
.grh-client-marquee__track {
  display: flex;
  width: max-content;
  gap: 0 !important;
  margin: 0 !important;
  animation: grhLogoMarquee 55s linear infinite;
  will-change: transform;
}

.grh-client-marquee__set {
  display: flex;
  align-items: center;
  flex: none;
  gap: 10px;
  padding-right: 10px;
}

.grh-client-logo--sprite {
  flex: none;
  box-sizing: border-box;
  height: 145px;
  margin: 0 !important;
  background-repeat: no-repeat;
  background-size: 6696px 145px;
}

.grh-client-logo:not(.grh-client-logo--sprite) {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 294px;
  min-width: 294px;
  height: 145px;
  padding: 24px 28px;
  margin: 0 !important;
  border: 1px solid #4b4e54;
  border-radius: 8px;
}

.grh-client-logo:not(.grh-client-logo--sprite) img {
  display: block;
  width: min(100%, 168px);
  max-width: 168px;
  height: 80px;
  object-fit: contain;
}

.grh-logo-track > figure,
.grh-client-logo--strip {
  width: 6465.24px;
  min-width: 6465.24px;
  height: 140px;
  margin: 0 !important;
}

.grh-logo-track img,
.grh-client-logo--strip img {
  display: block;
  width: 6465.24px !important;
  max-width: none !important;
  height: 140px !important;
  object-fit: fill;
}

@keyframes grhLogoMarquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.grh-client-marquee__set > figure:not(.grh-client-logo--strip):not(.grh-client-logo) {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 272px;
  min-width: 272px;
  height: 140px;
  padding: 28px 36px;
  margin: 0 !important;
  border-right: 1px solid rgba(75, 78, 84, 0.45);
}

.grh-client-marquee__set > figure:not(.grh-client-logo--strip):not(.grh-client-logo) img {
  display: block;
  width: 100% !important;
  max-width: 190px !important;
  height: 84px !important;
  object-fit: contain;
}

.grh-client-marquee-editor {
  padding: 16px;
  border: 1px dashed #8c8f94;
}

.grh-client-marquee-editor__label {
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 600;
}

.grh-client-marquee-editor__logos {
  display: flex;
  align-items: center;
  gap: 12px;
  overflow-x: auto;
}

.grh-client-marquee-editor__logos > .wp-block-image {
  flex: 0 0 220px;
  margin: 0;
}

.grh-client-logo-editor {
  flex: 0 0 auto;
  box-sizing: border-box;
  width: 294px;
  padding: 8px;
  border: 1px solid #8c8f94;
  background: #fff;
}

.grh-client-logo-editor__preview {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 145px;
  margin-bottom: 8px;
  overflow: hidden;
  border: 1px solid #4b4e54;
  border-radius: 8px;
  background: #cfd2d5;
}

.grh-client-logo-editor__preview img {
  width: 100%;
  max-width: 168px;
  height: 80px;
  object-fit: contain;
}

.grh-client-logo-editor__sprite {
  display: block;
  flex: none;
  height: 145px;
  background-repeat: no-repeat;
  background-size: 6696px 145px;
}

.grh-client-logo-editor__empty {
  color: #50575e;
  font-size: 13px;
}

.grh-contact {
  min-height: 631px !important;
  padding: 0 !important;
}

.grh-contact .wp-block-cover__image-background {
  object-position: center center;
}

.grh-contact > .wp-block-cover__background {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0));
  opacity: 1;
}

.grh-contact > .wp-block-cover__inner-container {
  min-height: 631px;
}

.grh-contact__inner {
  box-sizing: border-box;
  width: min(calc(100% - 80px), 1360px);
  max-width: 1360px !important;
  margin: 0 auto !important;
  padding: 118.5px 0 78.5px;
}

.grh-contact__card {
  position: relative;
  box-sizing: border-box;
  width: min(751px, calc(100% - 40px));
  min-height: 434px;
  margin: 0 0 0 40px !important;
  padding: 40px;
  overflow: hidden;
  border: 1px solid rgba(207, 210, 213, 0.72);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(20, 27, 35, 0.97) 0%, rgba(20, 27, 35, 0.58) 58%, rgba(20, 27, 35, 0.08) 100%);
  color: #fff;
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

.grh-contact__card::after {
  content: "";
  position: absolute;
  right: -18%;
  bottom: -48%;
  width: 72%;
  height: 85%;
  border-radius: 50%;
  background: rgba(31, 81, 121, 0.23);
  filter: blur(46px);
  pointer-events: none;
}

.grh-contact__card > * {
  position: relative;
  z-index: 1;
}

.grh-contact__eyebrow {
  margin-bottom: 23px !important;
  color: #f0f0ee;
}

.grh-contact .grh-contact__title {
  max-width: 671px;
  margin: 0 0 48px !important;
  color: #fff;
  font-size: 64px !important;
  font-weight: 600;
  line-height: 64px;
  letter-spacing: 0;
}

.grh-contact__description {
  max-width: 631px;
  margin: 0 0 40px 10px !important;
  color: rgba(207, 210, 213, 0.9);
  font-size: 24px;
  font-weight: 600;
  line-height: 28px;
  letter-spacing: 0.48px;
}

.grh-contact__actions {
  margin: 0 !important;
}

.grh-contact__actions .wp-block-button__link {
  min-height: 45px;
  padding: 10px 18px;
  border-radius: 8px;
  background: #c59e49 !important;
  color: #141b23 !important;
  font-size: 18px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: 0.36px;
  transition: transform 180ms ease, background-color 180ms ease;
}

.grh-contact__actions .wp-block-button__link:hover,
.grh-contact__actions .wp-block-button__link:focus-visible {
  background: #d6b552 !important;
  transform: translateY(-2px);
}

.grh-footer {
  position: relative;
  box-sizing: border-box;
  min-height: 560px;
  padding: 40px 0;
  overflow: hidden;
  background: #141b23;
  color: #f0f0ee;
}

.grh-footer::before {
  content: "";
  position: absolute;
  inset: -35% -10% -15%;
  background:
    radial-gradient(circle at 70% 82%, rgba(201, 161, 61, 0.34), transparent 22%),
    radial-gradient(circle at 42% 105%, rgba(75, 78, 84, 0.42), transparent 28%),
    linear-gradient(180deg, rgba(20, 27, 35, 0), rgba(20, 27, 35, 0.5));
  animation: grhFooterGlow 8s ease-in-out infinite alternate;
  pointer-events: none;
}

@keyframes grhFooterGlow {
  from { transform: translate3d(-2%, 1%, 0) scale(1); opacity: 0.72; }
  to { transform: translate3d(2%, -2%, 0) scale(1.06); opacity: 1; }
}

.grh-footer > * {
  position: relative;
  z-index: 1;
}

.grh-footer__grid,
.grh-footer__legal {
  box-sizing: border-box;
  width: min(calc(100% - 80px), 1360px);
  max-width: 1360px !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

.grh-footer__grid {
  align-items: flex-start !important;
  min-height: 407px;
  gap: 40px;
}

.grh-footer__logo {
  flex: 0 0 120px;
  width: 120px;
  height: 47px;
  margin: 0 !important;
}

.grh-footer__logo img {
  display: block;
  width: 120px;
  height: 47px;
  object-fit: contain;
}

.grh-footer__column {
  flex: 0 1 auto;
  margin: 0 !important;
}

.grh-footer__navigation { width: 142px; }
.grh-footer__contact { width: 446px; max-width: 100%; }
.grh-footer__social { width: 143px; }

.grh-footer h2 {
  margin: 0 0 23px !important;
  color: #cfd2d5;
  font-family: Cousine, ui-monospace, monospace;
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

.grh-footer__contact h2:nth-of-type(2) {
  margin-top: 15px !important;
}

.grh-footer p,
.grh-footer .wp-block-navigation,
.grh-footer .grh-menu {
  margin: 0 !important;
}

.grh-footer .wp-block-navigation__container,
.grh-footer .grh-menu__list {
  gap: 0;
  align-items: flex-start;
}

.grh-footer .grh-menu__list,
.grh-footer .grh-menu__social-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.grh-footer a {
  color: #f0f0ee;
  font-size: 18px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: 0.36px;
  text-decoration: none;
  transition: color 180ms ease;
}

.grh-footer a:hover,
.grh-footer a:focus-visible {
  color: #c59e49;
}

.grh-footer__legal {
  gap: 20px;
  color: #cfd2d5;
}

.grh-footer__legal p,
.grh-footer__legal a {
  margin: 0 !important;
  color: #cfd2d5;
  font-size: 18px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: 0.36px;
}

.grh-footer__legal > .wp-block-group {
  gap: 49px;
  margin: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
  .grh-footer::before { animation: none; }
  .grh-site-header { transition: none; }
}

/* Shared GRH button micro-interactions: lift, light sweep, focus, and press. */
.wp-block-button__link,
.grh-navigation__contact > a,
.grh-navigation .grh-menu__list > .menu-item:last-child > a,
.grh-navigation .wp-block-navigation__container > .wp-block-navigation-item:last-child > a {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  box-shadow: 0 0 0 rgba(197, 158, 73, 0);
  transition:
    transform 180ms cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 220ms ease,
    background-color 180ms ease,
    color 180ms ease;
}

.wp-block-button__link::before,
.grh-navigation__contact > a::before,
.grh-navigation .grh-menu__list > .menu-item:last-child > a::before,
.grh-navigation .wp-block-navigation__container > .wp-block-navigation-item:last-child > a::before {
  content: "";
  position: absolute;
  inset: -35% auto -35% -65%;
  width: 42%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.42), transparent);
  transform: skewX(-18deg) translateX(-180%);
  transition: transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}

.wp-block-button__link:hover,
.grh-navigation__contact > a:hover,
.grh-navigation .grh-menu__list > .menu-item:last-child > a:hover,
.grh-navigation .wp-block-navigation__container > .wp-block-navigation-item:last-child > a:hover {
  background-color: #d6b552;
  transform: translateY(-2px);
  box-shadow: 0 9px 22px rgba(13, 18, 24, 0.22), 0 0 0 1px rgba(230, 198, 106, 0.34);
}

.wp-block-button__link:hover::before,
.grh-navigation__contact > a:hover::before,
.grh-navigation .grh-menu__list > .menu-item:last-child > a:hover::before,
.grh-navigation .wp-block-navigation__container > .wp-block-navigation-item:last-child > a:hover::before {
  transform: skewX(-18deg) translateX(520%);
}

.wp-block-button__link:active,
.grh-navigation__contact > a:active,
.grh-navigation .grh-menu__list > .menu-item:last-child > a:active,
.grh-navigation .wp-block-navigation__container > .wp-block-navigation-item:last-child > a:active {
  transform: translateY(1px) scale(0.985);
  box-shadow: 0 3px 8px rgba(13, 18, 24, 0.2);
  transition-duration: 80ms;
}

.wp-block-button__link:focus-visible,
.grh-navigation__contact > a:focus-visible,
.grh-navigation .grh-menu__list > .menu-item:last-child > a:focus-visible,
.grh-navigation .wp-block-navigation__container > .wp-block-navigation-item:last-child > a:focus-visible {
  outline: 2px solid #f0f0ee;
  outline-offset: 3px;
  box-shadow: 0 0 0 4px rgba(197, 158, 73, 0.42);
}

.location-arrow {
  transition: transform 180ms cubic-bezier(0.22, 1, 0.36, 1), filter 180ms ease, background-color 180ms ease;
}

.location-arrow:hover,
.location-arrow:focus-visible {
  background-color: #c59e49;
  transform: translateY(-2px) scale(1.06);
  filter: drop-shadow(0 5px 8px rgba(20, 27, 35, 0.2));
}

.location-arrow:disabled:hover,
.location-arrow:disabled:focus-visible {
  background-color: #4b4e54;
  transform: none;
  filter: none;
}

.location-arrow:active {
  transform: translateY(1px) scale(0.94);
  transition-duration: 80ms;
}

/* Services page interactive showcase */
.grh-service-detail { box-sizing:border-box; padding:80px 0; background:#cfd2d5; color:#141b23; }
.grh-service-detail__inner { width:min(calc(100% - 80px),1360px); margin:0 auto; }
.grh-service-detail__head { margin-bottom:80px; }
.grh-service-chip { display:inline-flex; align-self:flex-start; align-items:center; width:fit-content; max-width:100%; gap:8px; padding:8px; background:#c59e49; color:#141b23; font-size:32px; font-weight:800; line-height:36px; }
.grh-service-chip::before { content:""; width:8px; height:8px; background:#cfd2d5; }
.grh-service-detail__heading { display:grid; grid-template-columns:minmax(0,903px) 447px; justify-content:space-between; gap:40px; margin-top:24px; }
.grh-service-detail__heading h2,.grh-service-banner h2 { margin:0; font-size:64px; font-weight:600; line-height:64px; }
.grh-service-detail__heading h2 span,.grh-service-banner h2 span { color:#4b4e54; }
.grh-service-detail__heading p,.grh-service-banner p,.grh-custom-projects__copy>p { box-sizing:border-box; margin:0; padding-left:10px; border-left:1px solid #c59e49; color:#4b4e54; font-size:24px; font-weight:600; line-height:28px; letter-spacing:.48px; }
.grh-facility-layout { display:grid; grid-template-columns:447px minmax(0,1fr); gap:10px; align-items:end; }
.grh-facility-media { position:relative; height:525px; overflow:hidden; border-radius:8px; background:#141b23; }
.grh-facility-media>img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.22,1,.36,1),filter .7s ease; will-change:transform; }
.grh-play { position:absolute; inset:50% auto auto 50%; z-index:2; width:80px; height:80px; padding:0; border:0; background:transparent; transform:translate(-50%,-50%); cursor:pointer; transition:transform .32s cubic-bezier(.22,1,.36,1),filter .32s ease; }
.grh-play:hover,.grh-play:focus-visible { transform:translate(-50%,-50%) scale(1.14); filter:drop-shadow(0 12px 18px rgba(20,27,35,.36)); }
.grh-facility-media:has(.grh-play:not(.is-unconfigured):hover)>img,.grh-facility-media:has(.grh-play:not(.is-unconfigured):focus-visible)>img { transform:scale(1.055) translate3d(-.8%,-.5%,0); filter:brightness(.84) saturate(.9); }
.grh-play img { width:100%; height:100%; }
.grh-play.is-unconfigured { opacity:.65; cursor:default; }
.grh-play.is-unconfigured:hover { transform:translate(-50%,-50%); }
.grh-video-open { overflow:hidden; }
.grh-video-modal { position:fixed; inset:0; z-index:100000; display:grid; place-items:center; padding:24px; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .24s ease,visibility .24s ease; }
.grh-video-modal.is-open { opacity:1; visibility:visible; pointer-events:auto; }
.grh-video-modal__backdrop { position:absolute; inset:0; background:rgba(20,27,35,.88); backdrop-filter:blur(12px); }
.grh-video-modal__dialog { position:relative; z-index:1; width:min(1120px,calc(100vw - 48px)); border:1px solid rgba(207,210,213,.45); border-radius:8px; background:#141b23; box-shadow:0 30px 80px rgba(0,0,0,.5); transform:translateY(18px) scale(.975); transition:transform .32s cubic-bezier(.22,1,.36,1); }
.grh-video-modal.is-open .grh-video-modal__dialog { transform:translateY(0) scale(1); }
.grh-video-modal__media { aspect-ratio:16/9; overflow:hidden; border-radius:8px; background:#080b0e; }
.grh-video-modal__media video,.grh-video-modal__media iframe { display:block; width:100%; height:100%; border:0; object-fit:contain; }
.grh-video-modal__close { position:absolute; top:-16px; right:-16px; z-index:2; display:grid; place-items:center; box-sizing:border-box; width:40px; height:40px; padding:0; border:1px solid #cfd2d5; border-radius:50%; background:#c59e49; color:transparent; font-size:0; cursor:pointer; box-shadow:0 8px 24px rgba(0,0,0,.25); }
.grh-video-modal__close::before,.grh-video-modal__close::after { content:""; position:absolute; top:50%; left:50%; width:18px; height:2px; border-radius:2px; background:#141b23; transform-origin:center; }
.grh-video-modal__close::before { transform:translate(-50%,-50%) rotate(45deg); }
.grh-video-modal__close::after { transform:translate(-50%,-50%) rotate(-45deg); }
.grh-video-modal__close:hover { transform:scale(1.06); }
.grh-card-carousel { min-width:0; outline:none; touch-action:pan-y; }
.grh-carousel-controls { display:flex; justify-content:flex-end; gap:4px; height:32px; margin-bottom:16px; }
.grh-carousel-controls button { display:grid; place-items:center; width:32px; height:32px; padding:0; border:0; border-radius:8px; background:#f0f0ee; cursor:pointer; transition:transform .18s ease,box-shadow .18s ease; }
.grh-carousel-controls button.is-primary { background:#c59e49; }
.grh-carousel-controls button:hover,.grh-carousel-controls button:focus-visible { background:#c59e49; transform:translateY(-2px) scale(1.05); box-shadow:0 6px 14px rgba(20,27,35,.2); }
.grh-carousel-controls img { width:32px; height:32px; }
.grh-carousel-controls [data-carousel-prev] img { transform: scaleX(-1); }
.grh-carousel-viewport { overflow:hidden; border-radius:8px; }
.grh-carousel-track { display:flex; transition:transform .3s ease-out; will-change:transform; }
.grh-carousel-slide { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; flex:0 0 100%; min-width:100%; opacity:.3; transition:opacity .3s ease-out; }
.grh-carousel-slide.is-active { opacity:1; }
.grh-feature-card { position:relative; box-sizing:border-box; height:525px; padding:32px; overflow:hidden; border-radius:8px; }
.grh-feature-card__bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.grh-feature-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(240,240,238,.9),rgba(240,240,238,.38)); }
.grh-feature-card>*:not(.grh-feature-card__bg) { position:relative; z-index:2; }
.grh-feature-card--dark { color:#f0f0ee; background:#141b23; }
.grh-feature-card--dark::after { background:linear-gradient(180deg,rgba(20,27,35,.18),rgba(20,27,35,.92)); }
.grh-feature-card--wide { grid-column:1/-1; }
.grh-feature-icon { display:grid; place-items:center; width:60px; height:60px; margin-bottom:32px; border-radius:8px; background:linear-gradient(180deg,#c59e49,#8e7130); }
.grh-feature-icon img { width:30px; height:30px; object-fit:contain; }
.grh-feature-card h3 { margin:0 0 32px; font-size:32px; font-weight:800; line-height:36px; }
.grh-feature-card ul { display:flex; flex-direction:column; gap:0; margin:0; padding:0; list-style:none; }
.grh-feature-card li { padding:12px 0; border-bottom:1px solid rgba(75,78,84,.25); font-size:18px; font-weight:600; line-height:24px; }
.grh-feature-card li::before { content:""; display:inline-block; width:18px; height:18px; margin-right:10px; vertical-align:-3px; background:var(--grh-icon-checkmark) center/contain no-repeat; }
.grh-feature-stat { display:flex; flex-direction:column; gap:10px; }
.grh-feature-stat strong { color:#c59e49; font-size:80px; line-height:80px; }
.grh-feature-stat span { font:400 16px/20px Cousine,monospace; letter-spacing:.8px; text-transform:uppercase; }
.grh-stat-list { position:absolute!important; right:32px; bottom:32px; left:32px; display:grid; gap:8px; }
.grh-stat-list p { margin:0; padding:14px 18px; border-radius:8px; background:rgba(20,27,35,.58); font-size:16px; line-height:21px; }
.grh-stat-list b { color:#c59e49; }
.grh-facility-map { position:relative; display:flex; justify-content:flex-end; margin-top:10px; padding:32px; overflow:hidden; border-radius:8px; }
.grh-facility-map>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:grayscale(1) saturate(0) contrast(.86) brightness(1.12); }
.grh-facility-map > iframe { position:absolute; inset:0; width:100%; height:100%; border:0; filter:grayscale(1) saturate(0) contrast(.86) brightness(1.12); }
.grh-facility-map::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(240,240,238,0),#cfd2d5); pointer-events:none; }
.grh-facility-map article { position:relative; z-index:1; box-sizing:border-box; width:719px; padding:40px; border-radius:8px; background:linear-gradient(180deg,#141b23,#4b4e54); color:#f0f0ee; }
.grh-facility-map h3 { margin:0 0 24px; font-size:32px; line-height:36px; }
.grh-facility-map article>p { margin:0 0 32px; color:#cfd2d5; font-size:24px; line-height:28px; }
.grh-facility-map article>div,
.grh-facility-map .grh-map-address-link { display:flex; align-items:center; gap:24px; padding:18px; border:1px solid #cfd2d5; border-radius:8px; color:#cfd2d5; font-size:18px; line-height:24px; text-decoration:none; transition:border-color .2s ease,color .2s ease,background-color .2s ease; }
.grh-facility-map .grh-map-address-link:hover,
.grh-facility-map .grh-map-address-link:focus-visible { border-color:#c59e49; background:rgba(197,158,73,.1); color:#f0f0ee; }
.grh-map-address-copy { flex:1 1 220px; min-width:0; }
.grh-map-open { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; min-height:38px; padding:8px 12px; border-radius:6px; background:#c59e49; color:#141b23; font-size:15px; font-weight:700; line-height:20px; white-space:nowrap; }
.grh-map-address-icon { display:grid; place-items:center; flex:0 0 60px; width:60px; height:60px; border-radius:8px; background:linear-gradient(180deg,#c59e49 0%,#8e7130 100%); }
.grh-facility-map article>div .grh-map-address-icon img,
.grh-facility-map .grh-map-address-link .grh-map-address-icon img { display:block; width:24.242px; height:32px; object-fit:contain; }
.grh-service-detail--second { background:#f0f0ee; }
.grh-service-banner { position:relative; display:flex; flex-direction:column; gap:32px; box-sizing:border-box; min-height:394px; margin-bottom:80px; padding:48px 40px; overflow:hidden; border-radius:8px; }
.grh-service-banner>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.grh-service-banner::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#f0f0ee 43.897%,rgba(207,210,213,0) 79.265%); }
.grh-service-banner>*:not(img) { position:relative; z-index:1; }
.grh-service-banner>div { display:flex; flex-direction:column; gap:48px; max-width:751px; }
.grh-service-banner p { max-width:599px; }
.grh-facility-layout--second { grid-template-columns:447px minmax(0,1fr) minmax(0,1fr); }
.grh-feature-card--industrial::after { background:linear-gradient(180deg,rgba(240,240,238,.38),rgba(240,240,238,.95)); }
.grh-feature-card--industrial p { position:relative; z-index:2; margin:110px 0 0; color:#4b4e54; font-size:32px; font-weight:800; line-height:36px; }
.grh-feature-card--industrial>strong { position:relative; z-index:2; display:block; font-size:64px; line-height:68px; }
.grh-card-carousel--single .grh-carousel-slide { grid-template-columns:1fr; }
.grh-custom-projects { box-sizing:border-box; padding:80px 0; overflow:hidden; background:linear-gradient(180deg,#cfd2d5 26%,rgba(207,210,213,0)),#cfd2d5; }
.grh-custom-projects__inner { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center; gap:48px; width:min(calc(100% - 80px),1360px); margin:0 auto; }
.grh-custom-projects__copy { display:flex; flex-direction:column; gap:24px; }
.grh-custom-projects__copy .grh-eyebrow { align-self:flex-start; margin-bottom:0!important; color:#141b23; }
.grh-custom-projects__copy h2 { margin:0; color:#141b23; font-size:64px; font-weight:600; line-height:64px; }
.grh-custom-projects__copy h2 span { color:#4b4e54; }
.grh-project-carousel { position:relative; height:525px; overflow:hidden; border-radius:8px; outline:none; touch-action:pan-y; }
.grh-project-track { height:100%; }
.grh-project-slide { display:block; height:100%; margin:0; }
.grh-project-slide img { width:100%; height:100%; object-fit:cover; }
.grh-project-carousel .grh-carousel-controls { position:absolute; right:32px; bottom:32px; z-index:2; margin:0; }
.grh-project-counter { position:absolute; bottom:38px; left:32px; z-index:2; color:#f0f0ee; font:400 16px/20px Cousine,monospace; letter-spacing:.8px; }

@media (prefers-reduced-motion: reduce) {
  .wp-block-button__link,
  .grh-navigation__contact > a,
  .grh-navigation .grh-menu__list > .menu-item:last-child > a,
  .grh-navigation .wp-block-navigation__container > .wp-block-navigation-item:last-child > a,
  .wp-block-button__link::before,
  .grh-navigation__contact > a::before,
  .grh-navigation .grh-menu__list > .menu-item:last-child > a::before,
  .grh-navigation .wp-block-navigation__container > .wp-block-navigation-item:last-child > a::before,
  .location-arrow {
    transition: none;
  }

  .wp-block-button__link:hover,
  .grh-navigation__contact > a:hover,
  .grh-navigation .grh-menu__list > .menu-item:last-child > a:hover,
  .grh-navigation .wp-block-navigation__container > .wp-block-navigation-item:last-child > a:hover,
  .location-arrow:hover {
    transform: none;
  }
}

@media (max-width: 1100px) {
  .grh-site-header__inner,
  .grh-hero__inner {
    width: min(calc(100% - 32px), 640px);
  }

  .grh-site-header__inner {
    min-height: 88px;
  }

  .grh-site-header {
    top: 20px;
  }

  .grh-site-logo {
    width: 104px;
  }

  body.grh-menu-open { overflow: hidden; }

  .grh-navigation { flex: 0 0 auto; }
  .grh-menu__desktop { display: none; }

  .grh-menu__toggle {
    display: grid;
    place-content: center;
    gap: 7px;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid rgba(240, 240, 238, 0.45);
    border-radius: 6px;
    background: rgba(20, 27, 35, 0.28);
    color: #f0f0ee;
    cursor: pointer;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }

  .grh-menu__toggle > span[aria-hidden="true"] {
    width: 22px;
    height: 2px;
    background: currentColor;
  }

  .grh-menu__backdrop {
    position: fixed;
    inset: 0;
    z-index: 80;
    display: block;
    background: rgba(7, 12, 17, 0.64);
    opacity: 0;
    transition: opacity 240ms ease;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
  }

  .grh-menu__backdrop[hidden],
  .grh-menu__drawer[hidden] { display: none; }

  .grh-menu__backdrop.is-open { opacity: 1; }

  .grh-menu__drawer {
    position: fixed;
    inset: 0 0 0 auto;
    z-index: 81;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    width: min(88vw, 420px);
    min-height: 100dvh;
    padding: 24px clamp(24px, 7vw, 40px) 32px;
    overflow-y: auto;
    background:
      radial-gradient(circle at 100% 100%, rgba(197, 158, 73, 0.16), transparent 42%),
      rgba(20, 27, 35, 0.98);
    box-shadow: -18px 0 56px rgba(0, 0, 0, 0.28);
    transform: translateX(102%);
    transition: transform 260ms cubic-bezier(0.22, 1, 0.36, 1);
  }

  .grh-menu__drawer.is-open { transform: translateX(0); }

  .grh-menu__drawer-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 64px;
    padding-bottom: 22px;
    border-bottom: 1px solid rgba(240, 240, 238, 0.16);
  }

  .grh-menu__drawer-logo,
  .grh-menu__drawer-logo img {
    display: block;
    width: 104px;
    height: auto;
  }

  .grh-menu__close {
    position: relative;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid rgba(240, 240, 238, 0.35);
    border-radius: 50%;
    background: transparent;
    color: #f0f0ee;
    cursor: pointer;
  }

  .grh-menu__close > span[aria-hidden="true"]::before,
  .grh-menu__close > span[aria-hidden="true"]::after {
    content: "";
    position: absolute;
    top: 20px;
    left: 11px;
    width: 20px;
    height: 2px;
    background: currentColor;
  }

  .grh-menu__close > span[aria-hidden="true"]::before { transform: rotate(45deg); }
  .grh-menu__close > span[aria-hidden="true"]::after { transform: rotate(-45deg); }

  .grh-menu__drawer-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding-top: 38px;
  }

  .grh-menu__drawer .grh-menu__list {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  .grh-menu__drawer .grh-menu__list > .menu-item,
  .grh-menu__drawer .grh-menu__list > .menu-item:last-child {
    margin: 0;
    border-bottom: 1px solid rgba(240, 240, 238, 0.12);
  }

  .grh-menu__drawer .grh-menu__list > .menu-item > a,
  .grh-menu__drawer .grh-menu__list > .menu-item:last-child > a {
    display: flex;
    width: 100%;
    min-height: 60px;
    padding: 16px 0;
    box-sizing: border-box;
    justify-content: flex-start;
    border-radius: 0;
    background: transparent;
    color: #f0f0ee !important;
    font-family: Reyhan, sans-serif;
    font-size: 24px;
    font-weight: 600;
    line-height: 28px;
    letter-spacing: 0;
    text-transform: none;
  }

  .grh-menu__drawer .current-menu-item > a { color: #c59e49 !important; }

  .grh-menu__drawer-contact,
  .grh-menu__drawer-social {
    display: flex;
    flex-direction: column;
    gap: 9px;
    padding-top: 28px;
  }

  .grh-menu__drawer-contact { margin-top: auto; }

  .grh-menu__drawer-contact p,
  .grh-menu__drawer-social p {
    margin: 0 0 5px;
    color: #c59e49;
    font-family: Cousine, ui-monospace, monospace;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 0.8px;
    text-transform: uppercase;
  }

  .grh-menu__drawer-contact a,
  .grh-menu__drawer-social a {
    color: #cfd2d5;
    font-family: Reyhan, sans-serif;
    font-size: 16px;
    line-height: 22px;
    letter-spacing: 0;
    text-transform: none;
  }

  .grh-menu__social-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
  }

  .grh-hero {
    min-height: 640px !important;
  }

  .grh-hero .wp-block-cover__inner-container,
  .grh-hero__inner {
    min-height: 0;
  }

  .grh-hero__inner {
    padding-top: 104px;
    padding-bottom: 40px;
  }

  .grh-hero .grh-hero__title {
    margin-bottom: 32px;
    font-size: 40px !important;
    line-height: 44px;
  }

  .grh-hero .grh-hero__metrics.wp-block-columns {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .grh-hero__metrics::before {
    display: none;
  }

  .grh-hero__metrics > .wp-block-column {
    flex-basis: 100% !important;
    margin: 0;
  }

  .grh-metric {
    grid-template-columns: 72px 1fr !important;
  }

  .grh-metric__title {
    font-size: 26px;
    line-height: 30px;
  }

  .grh-metric__copy {
    font-size: 17px;
    line-height: 22px;
    letter-spacing: 0.34px;
  }

  .grh-hero__actions {
    margin-top: 34px;
  }

  .grh-services {
    min-height: 0;
    padding: 56px 0;
  }

  .grh-services__panel {
    grid-template-columns: 1fr;
    width: min(calc(100% - 32px), 640px);
    height: auto;
    padding: 22px;
  }

  .grh-services__copy {
    height: auto;
  }

  .grh-services .grh-services__title {
    font-size: 42px !important;
    line-height: 44px;
  }

  .grh-services__actions {
    margin-top: 32px !important;
  }

  .grh-services .grh-service-cards.wp-block-columns {
    grid-template-columns: 1fr;
    height: auto;
  }

  .grh-service-card {
    height: 420px;
    min-height: 420px !important;
  }

  .grh-service-card__copy,
  .grh-service-card--building .grh-service-card__copy {
    height: auto;
    min-height: 186px;
    grid-template-columns: 60px minmax(0, 1fr);
    column-gap: 16px;
    padding: 20px;
  }

  .grh-service-card__copy h3 {
    font-size: 28px;
    line-height: 30px;
  }

  .section-inner { width: min(100% - 32px, 560px); }
  .territory {
    padding: 56px 0;
    background: linear-gradient(180deg, #f0f0ee 0%, #e6e7e7 48%, #cfd2d5 100%);
  }
  .territory-grid { grid-template-columns: 1fr; }
  .territory h2 { font-size: 42px; line-height: 44px; }
  .territory-grid > p { margin-top: 0; font-size: 20px; line-height: 24px; }
  .territory-media {
    height: auto;
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 20px;
    margin-top: 40px;
    background:
      linear-gradient(180deg, rgba(20, 27, 35, 0.04) 0%, rgba(20, 27, 35, 0.82) 100%),
      var(--grh-map-background) center / cover no-repeat;
  }
  .map-stage, .location-slider { width: 100%; }
  .map-stage {
    height: auto;
    aspect-ratio: 651 / 429;
    overflow: hidden;
  }
  .location-slider { height: 360px; }
  .mexico-map-svg,
  .map-pins,
  .map-leaders {
    inset: 0;
    width: 100%;
    height: 100%;
  }
  .mexico-map-svg svg {
    width: 100%;
    height: 100%;
  }
	.map-pin { width: 22px; height: 22px; padding: 3px; }
	.map-pin-icon { width: 15px; height: 15px; }
	.map-pin--terrain { width: 26px; height: 26px; padding: 4px; }
	.map-pin--terrain .map-pin-icon { width: 18px; height: 18px; }
  .map-leader { display: none; }
  .map-leaders { display: block; }
  .map-leader-line {
    stroke: rgba(240, 240, 238, 0.72);
    stroke-width: 0.8;
  }
  .map-label {
    max-width: calc(100% - 16px);
    padding: 6px 9px;
    font-size: 12px;
    line-height: 14px;
  }
  .location-panel-inner { padding: 24px; }
  .location-panel-glow { display: none; }
	.location-brand { width: auto; max-width: 162px; height: auto; max-height: 32px; }
  .location-copy h3 { font-size: 28px; line-height: 32px; }
  .location-copy p { font-size: 16px; line-height: 22px; }
  .location-chip { max-width: 100%; white-space: normal; line-height: 22px; }

  .grh-terrain { min-height: 460px !important; }
  .grh-terrain > .wp-block-cover__inner-container { min-height: 460px; }
  .grh-terrain__content { width: min(calc(100% - 32px), 560px); padding-top: 56px; padding-bottom: 56px; }
  .grh-terrain .grh-terrain__title { font-size: 42px !important; line-height: 44px; }
  .grh-terrain__description { max-width: 100%; margin-left: 0 !important; font-size: 20px; line-height: 24px; }

  .grh-advantages { min-height: 0; padding: 56px 0; }
  .grh-advantages__inner { width: min(calc(100% - 32px), 560px); }
  .grh-advantages__heading { margin-bottom: 40px !important; }
  .grh-advantages .grh-advantages__title { font-size: 42px !important; line-height: 44px; }
  .grh-advantages .grh-advantage-grid.wp-block-columns { grid-template-columns: 1fr; }
  .grh-advantage-card { min-height: 362px !important; }

  .grh-clients { min-height: 0; padding: 56px 0; }
  .grh-clients__grid { grid-template-columns: 1fr; width: min(calc(100% - 32px), 560px); }
  .grh-clients .grh-clients__title { font-size: 42px !important; line-height: 44px; }
  .grh-clients__description { max-width: 100%; margin-top: 24px !important; font-size: 20px; line-height: 24px; }
  .grh-logo-row { margin-top: 56px !important; }

  .grh-contact { min-height: 0 !important; }
  .grh-contact > .wp-block-cover__inner-container { min-height: 0; }
  .grh-contact__inner { width: min(calc(100% - 32px), 560px); padding: 56px 0; }
  .grh-contact__card { width: 100%; min-height: 0; margin: 0 !important; padding: 28px 24px; }
  .grh-contact .grh-contact__title { margin-bottom: 32px !important; font-size: 42px !important; line-height: 44px; }
  .grh-contact__description { max-width: 100%; margin: 0 0 32px !important; font-size: 20px; line-height: 24px; }

  .grh-services-hero { min-height: 860px !important; }
  .grh-services-hero > .wp-block-cover__inner-container { min-height: 860px; }
  .grh-services-hero__inner { width: min(calc(100% - 32px), 560px); min-height: 860px; padding: 150px 0 48px; }
  .grh-services-hero__content { gap: 36px; }
  .grh-services-hero .grh-services-hero__title { font-size: 46px !important; line-height: 48px; }
  .grh-services-hero__description { padding-right: 0; font-size: 20px; line-height: 26px; }
  .grh-services-hero__metrics { grid-template-columns: 1fr; gap: 28px; }
  .grh-services-hero__metrics::after { display: none; }
  .grh-services-metric { grid-template-columns: 50px minmax(0, 1fr); gap: 18px; }
  .grh-services-metric__icon { width: 50px; height: 50px; }
  .grh-services-metric__icon img { width: 50px; height: 50px; }
  .grh-services-metric__icon--location { padding: 10px; }
  .grh-services-metric__icon--location img { width: 20px; height: 28px; }
  .grh-services-metric__copy { gap: 8px; }
  .grh-services-metric__copy h3 { font-size: 24px; line-height: 28px; }
  .grh-services-metric__copy p { font-size: 18px; line-height: 24px; }

  .grh-about-hero { min-height: 760px !important; }
  .grh-about-hero > .wp-block-cover__inner-container { min-height: 760px; }
  .grh-about-hero__inner { width: min(calc(100% - 32px), 560px); min-height: 760px; padding: 150px 0 48px; }
  .grh-about-hero__content { gap: 36px; }
  .grh-about-hero .grh-about-hero__title { font-size: 46px !important; line-height: 48px; }
  .grh-about-hero__metrics { grid-template-columns: 1fr; gap: 28px !important; }
  .grh-about-hero__metrics::after { display: none; }
  .grh-about-page-metric { grid-template-columns: 60px minmax(0, 1fr) !important; }

  .grh-timeline { padding: 56px 0; }
  .grh-timeline__header { align-items: flex-end; width: min(calc(100% - 32px), 560px); margin-bottom: 48px; }
  .grh-timeline__heading { gap: 24px; }
  .grh-timeline__title { font-size: 42px; line-height: 44px; }
  .grh-timeline__arrows { margin-left: 16px; }
  .grh-timeline__track { padding: 0 16px; }
  .grh-timeline__viewport { scroll-padding-inline: 16px; }
  .grh-timeline__track::before { left: 190px; right: 190px; }
  .grh-timeline-card { flex-basis: min(86vw, 380px); }
  .grh-timeline-card__body { width: min(86vw, 380px); padding: 20px; }
  .grh-timeline-card__period { font-size: 28px; line-height: 32px; }
  .grh-timeline-card__image { height: 150px; }
  .grh-timeline-card__title { font-size: 22px; line-height: 26px; }
  .grh-timeline-card__summary,
  .grh-timeline-card__milestones p { font-size: 16px; line-height: 22px; }

  .grh-values { min-height: 0 !important; }
  .grh-values > .wp-block-cover__inner-container { min-height: 0; }
  .grh-values__inner { width: min(calc(100% - 32px), 560px); min-height: 0; padding: 56px 0; }
  .grh-values .grh-values__title { font-size: 42px !important; line-height: 44px; }
  .grh-values__grid { grid-template-columns: 1fr; grid-auto-rows: auto; }
  .grh-value-card,
  .grh-value-card:nth-child(n+4) { grid-column: auto; min-height: 136px; height: auto; padding: 24px; }

  .grh-methodology { min-height: 0 !important; }
  .grh-methodology > .wp-block-cover__inner-container { min-height: 0; }
  .grh-methodology__inner { gap: 64px; width: min(calc(100% - 32px), 560px); min-height: 0; padding: 56px 0; }
  .grh-methodology__heading { gap: 16px; height: auto; }
  .grh-methodology__intro { gap: 20px; }
  .grh-methodology .grh-methodology__title { font-size: 42px !important; line-height: 44px; white-space: normal; }
  .grh-methodology__description { font-size: 20px; line-height: 24px; }
  .grh-methodology__description br { display: none; }
  .grh-methodology__steps { grid-template-columns: 1fr; gap: 24px; height: auto; }
  .grh-methodology__steps::before { top: -24px; bottom: -24px; left: 30px; right: auto; width: 1px; height: auto; }
  .grh-method-step { align-items: flex-start; padding-left: 0; }
  .grh-method-step__card::before { top: -32px; left: 30px; height: 32px; }
  .grh-method-step__card { height: auto; min-height: 200px; padding: 28px; }

  .grh-about-contact { min-height: 0; padding: 56px 0; }
  .grh-about-contact__decoration { display: none; }
  .grh-about-contact__inner { gap: 56px; width: min(calc(100% - 32px), 560px); }
  .grh-about-contact__heading { gap: 16px; height: auto; }
  .grh-about-contact__intro { grid-template-columns: 1fr; gap: 32px; }
  .grh-about-contact .grh-about-contact__title { font-size: 42px !important; line-height: 44px; }
  .grh-about-contact__description { font-size: 20px; line-height: 24px; }
  .grh-about-contact__grid { grid-template-columns: 1fr; height: auto; gap: 16px; }
  .grh-about-contact__form { height: auto; min-height: 520px; padding: 24px; }
  .grh-cf7-fields { grid-template-columns: 1fr; gap: 22px; }
  .grh-cf7-field--message { grid-column: auto; }
  .grh-cf7-field .wpcf7-form-control:not(.wpcf7-submit) { font-size: 20px; line-height: 24px; }
  .grh-cf7-actions { margin-top: 28px; }
  .grh-about-contact__details { width: 100%; height: auto; padding: 28px 16px; }
  .grh-contact-detail { grid-template-columns: 28px minmax(0, 1fr); gap: 8px; padding: 10px 8px; }
  .grh-contact-detail__icon { width: 28px; height: 28px; padding: 6px; }
  .grh-contact-detail__icon img { width: 16px; max-height: 16px; }
  .grh-contact-detail p,
  .grh-contact-detail a { font-size: 14px; line-height: 22px; letter-spacing: 0.16px; }

  .grh-contact-page-hero { min-height: 760px !important; }
  .grh-contact-page-hero > .wp-block-cover__inner-container { min-height: 760px; }
  .grh-contact-page-hero__inner { width: min(calc(100% - 32px), 560px); min-height: 760px; padding: 150px 0 48px; gap: 36px; }
  .grh-contact-page-hero .grh-contact-page-hero__title { font-size: 46px !important; line-height: 48px; }
  .grh-contact-page-hero__description { padding-right: 0; font-size: 20px; line-height: 26px; }

  .grh-spaces-hero { min-height:760px!important; }
  .grh-spaces-hero > .wp-block-cover__inner-container { min-height:760px; }
  .grh-spaces-hero__inner { width:min(calc(100% - 32px),560px); min-height:760px; padding:150px 0 48px; gap:36px; }
  .grh-spaces-hero .grh-spaces-hero__title { font-size:46px!important; line-height:48px; }
  .grh-spaces-hero__description { padding-right:0; font-size:20px; line-height:26px; }
  .grh-spaces-showcase { min-height:0; padding:56px 0; }
  .grh-spaces-showcase__inner { grid-template-columns:1fr; width:min(calc(100% - 32px),560px); gap:24px; }
  .grh-spaces-showcase__nav { min-height:0; gap:24px; }
  .grh-spaces-showcase__tabs { flex-direction:row; width:100%; overflow-x:auto; padding-bottom:4px; }
  .grh-space-tab { flex:0 0 auto; }
  .grh-spaces-showcase__panels { min-height:0; }
  .grh-space-panel { height:auto; min-height:0; padding:20px; }
  .grh-space-panel.is-active { gap:24px; }
  .grh-space-panel__image { height:260px; }
  .grh-space-panel__content { grid-template-columns:1fr; gap:24px; }
  .grh-space-panel__summary { gap:24px; }
  .grh-space-panel__title { font-size:42px; line-height:44px; }
  .grh-space-panel__area { font-size:26px; line-height:30px; }

  .grh-service-detail { padding:56px 0; }
  .grh-service-detail__inner,.grh-custom-projects__inner { width:min(calc(100% - 32px),560px); }
  .grh-service-detail__head,.grh-service-banner { margin-bottom:48px; }
  .grh-service-chip { font-size:22px; line-height:28px; }
  .grh-service-detail__heading { grid-template-columns:1fr; gap:32px; }
  .grh-service-detail__heading h2,.grh-service-banner h2,.grh-custom-projects__copy h2 { font-size:42px; line-height:44px; }
  .grh-service-detail__heading p,.grh-service-banner p,.grh-custom-projects__copy>p { font-size:20px; line-height:26px; }
  .grh-facility-layout,.grh-facility-layout--second { grid-template-columns:1fr; gap:20px; }
  .grh-facility-media { height:360px; }
  .grh-card-carousel { min-width:0; }
  .grh-carousel-slide { grid-template-columns:1fr; }
  .grh-feature-card { height:420px; padding:24px; }
  .grh-feature-stat strong { font-size:64px; line-height:68px; }
  .grh-facility-map { display:block; padding:200px 16px 16px; }
  .grh-facility-map::after { background:linear-gradient(180deg,rgba(207,210,213,0),#cfd2d5 54%); }
  .grh-facility-map article { width:100%; padding:24px; }
  .grh-facility-map article>p { font-size:20px; line-height:26px; }
  .grh-facility-map article>div,
  .grh-facility-map .grh-map-address-link { gap:14px; padding:14px; font-size:16px; line-height:21px; }
  .grh-map-address-icon { flex-basis:44px; width:44px; height:44px; }
  .grh-facility-map article>div .grh-map-address-icon img,
  .grh-facility-map .grh-map-address-link .grh-map-address-icon img { width:18.182px; height:24px; }
  .grh-service-banner { min-height:500px; padding:32px 24px; }
  .grh-service-banner::after { background:linear-gradient(90deg,rgba(240,240,238,.96),rgba(240,240,238,.36)); }
  .grh-feature-card--industrial { height:360px; }
  .grh-custom-projects { padding:56px 0; }
  .grh-custom-projects__inner { grid-template-columns:1fr; gap:40px; }
  .grh-project-carousel { height:360px; }

  .grh-footer { min-height: 0; padding: 48px 0 32px; }
  .grh-footer__grid,
  .grh-footer__legal { width: min(calc(100% - 32px), 560px); }
  .grh-footer__grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: 0; gap: 40px 24px; }
  .grh-footer__logo { grid-column: 1 / -1; }
  .grh-footer__navigation,
  .grh-footer__contact,
  .grh-footer__social { width: auto; }
  .grh-footer__contact { grid-column: 1 / -1; }
  .grh-footer__legal { margin-top: 48px !important; align-items: flex-start !important; }
  .grh-footer__legal > .wp-block-group { gap: 20px; }
}

@media (max-width: 600px) {
  .grh-site-header {
    top: 16px;
  }

  .grh-site-header.is-scrolled {
    top: 0;
    padding: 8px 0;
  }

  .grh-site-header__inner {
    min-height: 56px;
  }

  .grh-site-logo,
  .grh-site-logo img {
    width: 104px;
    height: 41px;
  }

  .grh-menu__toggle {
    width: 44px;
    height: 44px;
  }

  .grh-hero::after {
    background: linear-gradient(180deg, rgba(20, 27, 35, 0.18) 0%, rgba(20, 27, 35, 0.54) 55%, #141b23 100%);
  }

  .grh-services-hero::after {
    background: linear-gradient(180deg, rgba(20, 27, 35, 0.18) 0%, #141b23 75.926%);
  }

  .grh-about-hero::after,
  .grh-spaces-hero::after,
  .grh-contact-page-hero::after {
    background: linear-gradient(180.196deg, rgba(20, 27, 35, 0.18) 0.301%, #141b23 78.714%);
  }

  .grh-hero__title,
  .grh-services-hero__title,
  .grh-about-hero__title,
  .grh-services-hero__description,
  .grh-metric__title,
  .grh-metric__copy {
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.28);
  }

  .grh-hero__inner { padding-top: 136px; }

  .grh-services__panel {
    gap: 32px;
    padding: 24px;
  }

  .grh-services .grh-service-cards.wp-block-columns {
    gap: 20px;
  }

  .territory-grid {
    gap: 28px;
  }

  .location-slider {
    height: 400px;
  }

  .grh-advantages .grh-advantage-grid.wp-block-columns {
    gap: 18px;
  }

  .grh-clients__grid {
    gap: 32px;
  }

  .grh-hero .grh-metric.wp-block-media-text.is-stacked-on-mobile {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) !important;
    align-items: center;
    column-gap: 18px;
  }

  .grh-hero .grh-metric.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    margin: 0;
  }

  .grh-hero .grh-metric.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media img {
    width: 54px;
    height: 54px;
  }

  .grh-hero .grh-metric.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    padding: 0;
  }

  .map-pin {
    width: 18px;
    height: 18px;
    padding: 2px;
  }

  .map-pin-icon {
    width: 13px;
    height: 13px;
  }

  .map-pin--terrain {
    width: 20px;
    height: 20px;
    padding: 3px;
  }

  .map-pin--terrain .map-pin-icon {
    width: 14px;
    height: 14px;
  }

  .map-leader-line {
    stroke: rgba(197, 158, 73, 0.95);
    stroke-width: 1.2;
    filter: drop-shadow(0 0 1px rgba(240, 240, 238, 0.65));
  }

  .grh-services-hero__inner,
  .grh-about-hero__inner {
    padding-top: 136px;
    padding-bottom: 48px;
  }

  .grh-services-hero__content,
  .grh-about-hero__content {
    gap: 30px;
  }

  .grh-services-hero .grh-services-hero__title,
  .grh-about-hero .grh-about-hero__title,
  .grh-spaces-hero .grh-spaces-hero__title,
  .grh-contact-page-hero .grh-contact-page-hero__title {
    font-size: 36px !important;
    line-height: 40px;
  }

  .grh-services-hero__description,
  .grh-spaces-hero__description,
  .grh-contact-page-hero__description {
    font-size: 17px;
    line-height: 23px;
  }

  .grh-services-hero__metrics,
  .grh-about-hero__metrics {
    gap: 22px !important;
  }

  .grh-services-page-metric.wp-block-media-text.is-stacked-on-mobile,
  .grh-about-page-metric.wp-block-media-text.is-stacked-on-mobile {
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr) !important;
    align-items: center;
    column-gap: 16px;
  }

  .grh-services-page-metric.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media,
  .grh-about-page-metric.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    width: 50px;
    height: 50px;
    min-width: 50px;
    max-width: 50px;
    box-sizing: border-box;
    margin: 0;
    padding: 10px;
    border: 1px solid rgba(207, 210, 213, 0.85);
    border-radius: 8px;
    background: rgba(20, 27, 35, 0.32);
    backdrop-filter: blur(6px);
  }

  .grh-services-page-metric.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media img,
  .grh-about-page-metric.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media img {
    width: 30px;
    max-width: 30px;
    height: 30px;
    object-fit: contain;
  }

  .grh-services-page-metric--location.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media img {
    width: 20.202px;
    max-width: 20.202px;
    height: 26.667px;
  }

  .grh-services-page-metric.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content,
  .grh-about-page-metric.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    min-width: 0;
    padding: 0;
  }

  .grh-services-page-metric .grh-metric__title,
  .grh-about-page-metric .grh-metric__title {
    margin-bottom: 7px;
    font-size: 23px;
    line-height: 27px;
  }

  .grh-services-page-metric .grh-metric__copy,
  .grh-about-page-metric .grh-metric__copy {
    font-size: 16px;
    line-height: 21px;
    letter-spacing: 0;
  }

  .grh-methodology__inner {
    gap: 48px;
    padding-top: 48px;
    padding-bottom: 64px;
  }

  .grh-methodology__heading { width: 100%; }
  .grh-methodology__intro { width: 100%; }

  .grh-methodology .grh-methodology__title {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    font-size: 34px !important;
    line-height: 38px;
    white-space: normal;
    overflow-wrap: break-word;
  }

  .grh-methodology__description {
    width: 100%;
    font-size: 17px;
    line-height: 23px;
  }

  .grh-methodology__description br { display: initial; }

  .grh-services .grh-services__title,
  .territory h2,
  .grh-terrain .grh-terrain__title,
  .grh-advantages .grh-advantages__title,
  .grh-clients .grh-clients__title,
  .grh-contact .grh-contact__title,
  .grh-timeline__title,
  .grh-values .grh-values__title,
  .grh-about-contact .grh-about-contact__title,
  .grh-space-panel__title {
    font-size: 36px !important;
    line-height: 40px;
  }

  .grh-methodology__steps { gap: 28px; }

  .grh-values__grid {
    gap: 16px;
  }

  .grh-about-contact__grid {
    gap: 24px;
  }

  .grh-about-contact__details {
    min-height: 0;
    padding: 28px 18px;
  }

  .grh-about-contact__details-list {
    gap: 12px;
  }

  .grh-contact-detail {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 12px;
    min-height: 0;
    padding: 14px 12px;
  }

  .grh-contact-detail__icon {
    width: 34px;
    height: 34px;
    padding: 7px;
  }

  .grh-contact-detail p,
  .grh-contact-detail a {
    line-height: 21px;
  }

  .grh-spaces-showcase__inner {
    gap: 32px;
  }

  .grh-spaces-showcase__nav {
    gap: 18px;
  }

  .grh-spaces-showcase__tabs {
    gap: 12px;
  }

  .grh-spaces-showcase__arrows {
    gap: 8px;
  }

  .grh-space-panel {
    padding: 22px;
  }

  .grh-space-panel.is-active {
    gap: 28px;
  }

  .grh-space-panel__content {
    gap: 30px;
  }

  .grh-methodology__steps::before {
    left: 50%;
    transform: translateX(-50%);
  }

  .grh-method-step { align-items: center; }

  .grh-method-step__icon {
    align-self: center;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .grh-method-step__card {
    width: 100%;
    min-height: 190px;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding: 26px 22px 34px;
  }

  .grh-method-step__card::before { left: 50%; }

  .grh-method-step .grh-method-step__number {
    font-size: 52px !important;
    line-height: 48px;
  }

  .grh-method-step .grh-method-step__title {
    font-size: 21px !important;
    line-height: 25px;
  }

  .grh-method-step__copy {
    font-size: 16px;
    line-height: 22px;
  }

  .grh-service-detail__heading h2,
  .grh-service-banner h2,
  .grh-custom-projects__copy h2 {
    font-size: 34px;
    line-height: 38px;
  }

  .grh-service-detail__heading p,
  .grh-service-banner p,
  .grh-custom-projects__copy > p {
    font-size: 17px;
    line-height: 23px;
  }

  .grh-facility-media { height: 280px; }

  .grh-facility-layout,
  .grh-facility-layout--second {
    gap: 28px;
  }

  .grh-carousel-slide {
    gap: 18px;
  }

  .grh-feature-card {
    height: auto;
    min-height: 460px;
    padding: 28px 24px 38px;
  }

  .grh-feature-icon {
    width: 52px;
    height: 52px;
    margin-bottom: 26px;
  }

  .grh-feature-card h3 {
    margin-bottom: 22px;
    font-size: 28px;
    line-height: 32px;
  }

  .grh-feature-card li {
    padding: 11px 0;
    font-size: 16px;
    line-height: 21px;
  }

  .grh-stat-list {
    right: 24px;
    bottom: 38px;
    left: 24px;
  }

  .grh-feature-card--industrial {
    height: auto;
    min-height: 340px;
  }

  .grh-facility-map {
    min-height: 610px;
    padding: 230px 12px 12px;
  }

  .grh-facility-map::after {
    background: linear-gradient(180deg, rgba(207, 210, 213, 0) 24%, rgba(207, 210, 213, 0.9) 58%, #cfd2d5 100%);
  }

  .grh-facility-map article {
    padding: 24px 20px 30px;
  }

  .grh-facility-map h3 {
    font-size: 30px;
    line-height: 34px;
  }

  .grh-facility-map article > p {
    margin-bottom: 24px;
    font-size: 17px;
    line-height: 23px;
  }

  .grh-facility-map article > div,
  .grh-facility-map .grh-map-address-link {
    min-width: 0;
    gap: 10px;
    padding: 12px;
    font-size: 15px;
    line-height: 20px;
    overflow-wrap: anywhere;
  }

  .grh-facility-map .grh-map-address-link {
    flex-wrap: wrap;
  }

  .grh-map-address-copy {
    flex: 1 1 calc(100% - 54px);
  }

  .grh-map-open {
    width: 100%;
    margin-top: 4px;
  }

  .grh-map-address-icon {
    flex-basis: 44px;
    width: 44px;
    height: 44px;
  }

  .grh-facility-map article > div .grh-map-address-icon img,
  .grh-facility-map .grh-map-address-link .grh-map-address-icon img {
    width: 18.182px;
    height: 24px;
  }

  .grh-service-banner {
    min-height: 460px;
    padding: 28px 22px 36px;
  }

  .grh-project-carousel { height: 320px; }

  .grh-footer__grid {
    grid-template-columns: 1fr !important;
    gap: 32px;
  }

  .grh-footer__logo,
  .grh-footer__contact {
    grid-column: auto;
  }

  .grh-footer h2 {
    margin-bottom: 14px !important;
  }

  .grh-footer__legal {
    margin-top: 36px !important;
  }

  .grh-carousel-controls button,
  .grh-carousel-controls img {
    width: 30px;
    height: 30px;
  }
}

/* Tablet layout: keep useful density without inheriting desktop or mobile extremes. */
@media (min-width: 601px) and (max-width: 1100px) {
  .grh-site-header {
    top: 28px;
  }

  .grh-site-header__inner,
  .grh-hero__inner,
  .grh-services__panel,
  .section-inner,
  .grh-terrain__content,
  .grh-advantages__inner,
  .grh-clients__grid,
  .grh-contact__inner,
  .grh-services-hero__inner,
  .grh-about-hero__inner,
  .grh-timeline__header,
  .grh-values__inner,
  .grh-methodology__inner,
  .grh-about-contact__inner,
  .grh-contact-page-hero__inner,
  .grh-spaces-hero__inner,
  .grh-spaces-showcase__inner,
  .grh-service-detail__inner,
  .grh-custom-projects__inner,
  .grh-footer__grid,
  .grh-footer__legal {
    width: min(calc(100% - 64px), 960px);
    max-width: 960px !important;
  }

  .grh-hero {
    min-height: 720px !important;
  }

  .grh-hero .wp-block-cover__inner-container,
  .grh-hero__inner {
    min-height: 720px;
  }

  .grh-hero__inner {
    padding-top: 140px;
    padding-bottom: 48px;
  }

  .grh-hero .grh-hero__title {
    max-width: 880px !important;
    margin-bottom: 44px;
    font-size: 54px !important;
    line-height: 58px;
  }

  .grh-hero .grh-hero__metrics.wp-block-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px;
    margin-bottom: 36px !important;
  }

  .grh-metric,
  .grh-about-page-metric,
  .grh-services-page-metric {
    grid-template-columns: 56px minmax(0, 1fr) !important;
  }

  .grh-metric .wp-block-media-text__media,
  .grh-about-page-metric .wp-block-media-text__media,
  .grh-services-page-metric .wp-block-media-text__media {
    width: 56px;
    height: 56px;
  }

  .grh-metric .wp-block-media-text__media img {
    width: 56px;
    height: 56px;
  }

  .grh-metric .wp-block-media-text__content {
    padding-left: 18px;
  }

  .grh-metric__title {
    margin-bottom: 8px;
    font-size: 25px;
    line-height: 29px;
  }

  .grh-metric__copy {
    font-size: 17px;
    line-height: 22px;
    letter-spacing: 0;
  }

  .grh-services {
    padding: 64px 0;
  }

  .grh-services__panel {
    grid-template-columns: 1fr;
    gap: 36px;
    padding: 32px;
  }

  .grh-services .grh-services__title,
  .territory h2,
  .grh-terrain .grh-terrain__title,
  .grh-advantages .grh-advantages__title,
  .grh-clients .grh-clients__title,
  .grh-contact .grh-contact__title,
  .grh-timeline__title,
  .grh-values .grh-values__title,
  .grh-about-contact .grh-about-contact__title,
  .grh-space-panel__title {
    font-size: 46px !important;
    line-height: 50px;
  }

  .grh-services .grh-service-cards.wp-block-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .grh-service-card {
    height: 390px;
    min-height: 390px !important;
  }

  .grh-service-card__copy,
  .grh-service-card--building .grh-service-card__copy {
    min-height: 170px;
  }

  .territory,
  .grh-advantages,
  .grh-clients,
  .grh-about-contact,
  .grh-service-detail,
  .grh-custom-projects,
  .grh-spaces-showcase {
    padding-top: 64px;
    padding-bottom: 64px;
  }

  .territory-grid,
  .grh-clients__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px;
  }

  .territory-media {
    gap: 28px;
    padding: 28px;
  }

  .map-stage {
    max-width: 704px;
    margin-inline: auto;
  }

  .location-slider {
    height: 390px;
  }

  .grh-terrain,
  .grh-terrain > .wp-block-cover__inner-container {
    min-height: 520px !important;
  }

  .grh-terrain__content {
    padding-top: 72px;
    padding-bottom: 72px;
  }

  .grh-advantages .grh-advantage-grid.wp-block-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }

  .grh-advantage-card {
    min-height: 330px !important;
  }

  .grh-advantage-card:last-child {
    grid-column: 1 / -1;
  }

  .grh-contact__card {
    width: min(100%, 620px);
    padding: 36px;
  }

  .grh-services-hero,
  .grh-about-hero,
  .grh-contact-page-hero,
  .grh-spaces-hero,
  .grh-services-hero > .wp-block-cover__inner-container,
  .grh-about-hero > .wp-block-cover__inner-container,
  .grh-contact-page-hero > .wp-block-cover__inner-container,
  .grh-spaces-hero > .wp-block-cover__inner-container {
    min-height: 760px !important;
  }

  .grh-services-hero__inner,
  .grh-about-hero__inner,
  .grh-contact-page-hero__inner,
  .grh-spaces-hero__inner {
    min-height: 760px;
    padding: 140px 0 56px;
  }

  .grh-services-hero__content,
  .grh-about-hero__content,
  .grh-contact-page-hero__inner,
  .grh-spaces-hero__inner {
    gap: 40px;
  }

  .grh-services-hero .grh-services-hero__title,
  .grh-about-hero .grh-about-hero__title,
  .grh-contact-page-hero .grh-contact-page-hero__title,
  .grh-spaces-hero .grh-spaces-hero__title {
    width: min(880px, 100%);
    font-size: 54px !important;
    line-height: 58px;
  }

  .grh-services-hero__description,
  .grh-contact-page-hero__description,
  .grh-spaces-hero__description {
    width: min(820px, 100%);
    padding-right: 0;
    font-size: 20px;
    line-height: 26px;
  }

  .grh-services-hero__metrics,
  .grh-about-hero__metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px !important;
  }

  .grh-services-hero__metrics::after,
  .grh-about-hero__metrics::after {
    display: block;
  }

  .grh-timeline {
    padding: 64px 0;
  }

  .grh-timeline__header {
    margin-bottom: 48px;
  }

  .grh-timeline__track {
    padding-inline: 32px;
  }

  .grh-timeline__viewport {
    scroll-padding-inline: 32px;
  }

  .grh-timeline-card {
    flex-basis: min(42vw, 430px);
  }

  .grh-timeline-card__body {
    width: min(42vw, 430px);
    padding: 24px;
  }

  .grh-timeline-card__image {
    height: 170px;
  }

  .grh-values__inner,
  .grh-methodology__inner {
    padding-top: 64px;
    padding-bottom: 64px;
  }

  .grh-values__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .grh-value-card,
  .grh-value-card:nth-child(n+4) {
    grid-column: auto;
    min-height: 150px;
  }

  .grh-value-card:last-child {
    grid-column: 1 / -1;
  }

  .grh-methodology__inner {
    gap: 52px;
  }

  .grh-methodology .grh-methodology__title {
    font-size: 46px !important;
    line-height: 50px;
  }

  .grh-methodology__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }

  .grh-methodology__steps::before,
  .grh-method-step__card::before {
    display: none;
  }

  .grh-method-step__card {
    min-height: 210px;
    padding: 28px;
  }

  .grh-about-contact__inner {
    gap: 48px;
  }

  .grh-about-contact__intro {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .grh-about-contact__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .grh-about-contact__form {
    min-height: 500px;
    padding: 32px;
  }

  .grh-about-contact__details {
    padding: 32px;
  }

  .grh-contact-detail {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 14px;
    padding: 14px;
  }

  .grh-contact-detail__icon {
    width: 40px;
    height: 40px;
    padding: 9px;
  }

  .grh-contact-detail p,
  .grh-contact-detail a {
    font-size: 16px;
    line-height: 22px;
  }

  .grh-spaces-showcase__inner {
    gap: 28px;
  }

  .grh-spaces-showcase__tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
    overflow: visible;
  }

  .grh-space-tab {
    width: 100%;
    min-width: 0;
    justify-content: flex-start;
    white-space: normal;
  }

  .grh-space-panel {
    padding: 28px;
  }

  .grh-space-panel__image {
    height: 340px;
  }

  .grh-space-panel__content {
    grid-template-columns: minmax(0, 1.15fr) minmax(240px, 0.85fr);
    gap: 32px;
  }

  .grh-service-detail__head,
  .grh-service-banner {
    margin-bottom: 56px;
  }

  .grh-service-chip {
    font-size: 24px;
    line-height: 30px;
  }

  .grh-service-detail__heading {
    grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
    gap: 32px;
  }

  .grh-service-detail__heading h2,
  .grh-service-banner h2,
  .grh-custom-projects__copy h2 {
    font-size: 46px;
    line-height: 50px;
  }

  .grh-service-detail__heading p,
  .grh-service-banner p,
  .grh-custom-projects__copy > p {
    font-size: 18px;
    line-height: 24px;
    letter-spacing: 0;
  }

  .grh-facility-layout {
    grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.2fr);
    gap: 16px;
  }

  .grh-facility-layout--second {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .grh-facility-layout--second .grh-facility-media {
    grid-column: 1 / -1;
  }

  .grh-facility-media,
  .grh-feature-card {
    height: 440px;
    min-height: 440px;
  }

  .grh-carousel-slide {
    grid-template-columns: 1fr;
  }

  .grh-feature-card {
    padding: 28px;
  }

  .grh-facility-map {
    min-height: 560px;
    padding: 190px 20px 20px;
  }

  .grh-facility-map article {
    width: 100%;
    padding: 28px;
  }

  .grh-service-banner {
    min-height: 430px;
    padding: 36px 30px;
  }

  .grh-custom-projects__inner {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 36px;
  }

  .grh-project-carousel {
    height: 400px;
  }

  .grh-footer {
    padding-top: 56px;
  }

  .grh-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 36px 24px;
  }

  .grh-footer__logo {
    grid-column: 1 / -1;
  }

  .grh-footer__contact {
    grid-column: 1 / -1;
  }
}

@media (min-width: 901px) and (max-width: 1100px) {
  .grh-hero .grh-hero__title,
  .grh-services-hero .grh-services-hero__title,
  .grh-about-hero .grh-about-hero__title,
  .grh-contact-page-hero .grh-contact-page-hero__title,
  .grh-spaces-hero .grh-spaces-hero__title {
    font-size: 58px !important;
    line-height: 62px;
  }

  .grh-about-contact__grid {
    grid-template-columns: minmax(0, 1.25fr) minmax(380px, 0.75fr);
    align-items: stretch;
  }

  .grh-about-contact__intro {
    grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
    gap: 36px;
  }

  .grh-about-contact__details {
    height: 100%;
  }

  .grh-spaces-showcase__inner {
    grid-template-columns: 240px minmax(0, 1fr);
  }

  .grh-spaces-showcase__tabs {
    display: flex;
    flex-direction: column;
  }

  .grh-spaces-showcase__nav {
    min-height: 680px;
  }

  .grh-spaces-showcase__panels {
    min-height: 680px;
  }

  .grh-space-panel {
    min-height: 680px;
  }

  .grh-facility-map {
    display: flex;
    align-items: flex-end;
    min-height: 500px;
    padding: 28px;
  }

  .grh-facility-map::after {
    background: linear-gradient(90deg, rgba(207, 210, 213, 0), #cfd2d5 58%);
  }

  .grh-facility-map article {
    width: min(54%, 520px);
  }

  .grh-footer__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .grh-footer__contact {
    grid-column: auto;
  }
}

.grh-legal-hero {
  box-sizing: border-box;
  min-height: 520px;
  margin: 0;
  padding: 180px 0 80px;
  background: #141b23;
  color: #f0f0ee;
}

.grh-legal-hero__inner,
.grh-privacy__inner {
  box-sizing: border-box;
  width: min(calc(100% - 80px), 960px);
  max-width: 960px !important;
  margin: 0 auto !important;
}

.grh-legal-hero__inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 28px;
  min-height: 260px;
}

.grh-legal-hero .grh-eyebrow {
  align-self: flex-start;
  margin: 0 !important;
}

.grh-legal-hero__title {
  margin: 0 !important;
  color: #f0f0ee;
  font-size: 64px !important;
  font-weight: 600;
  line-height: 68px;
  letter-spacing: 0;
}

.grh-legal-hero__date {
  margin: 0 !important;
  color: #cfd2d5;
  font-family: Cousine, ui-monospace, monospace;
  font-size: 16px;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: 0;
}

.grh-privacy {
  box-sizing: border-box;
  margin: 0;
  padding: 80px 0 96px;
  background: #f0f0ee;
  color: #4b4e54;
}

.grh-privacy__intro {
  margin: 0 0 64px !important;
  color: #141b23;
  font-size: 24px;
  font-weight: 600;
  line-height: 32px;
  letter-spacing: 0;
}

.grh-privacy__section {
  margin: 0 !important;
  padding: 36px 0;
  border-top: 1px solid rgba(75, 78, 84, 0.3);
}

.grh-privacy__section:last-child {
  padding-bottom: 0;
}

.grh-privacy__section h2 {
  margin: 0 0 18px !important;
  color: #141b23;
  font-size: 32px;
  font-weight: 800;
  line-height: 38px;
  letter-spacing: 0;
}

.grh-privacy__section p,
.grh-privacy__section li {
  color: #4b4e54;
  font-size: 18px;
  font-weight: 600;
  line-height: 28px;
  letter-spacing: 0;
}

.grh-privacy__section p {
  margin: 0 0 18px !important;
}

.grh-privacy__section p:last-child {
  margin-bottom: 0 !important;
}

.grh-privacy__section ul {
  margin: 0 0 22px;
  padding-left: 24px;
}

.grh-privacy__section a {
  color: #8e7130;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}

@media (max-width: 1100px) {
  .grh-legal-hero {
    min-height: 460px;
    padding: 144px 0 64px;
  }

  .grh-legal-hero__inner,
  .grh-privacy__inner {
    width: min(calc(100% - 64px), 960px);
  }

  .grh-legal-hero__title {
    font-size: 54px !important;
    line-height: 58px;
  }

  .grh-privacy {
    padding: 64px 0 80px;
  }
}

@media (max-width: 600px) {
  .grh-legal-hero {
    min-height: 400px;
    padding: 128px 0 52px;
  }

  .grh-legal-hero__inner,
  .grh-privacy__inner {
    width: calc(100% - 32px);
  }

  .grh-legal-hero__inner {
    gap: 22px;
    min-height: 220px;
  }

  .grh-legal-hero__title {
    font-size: 40px !important;
    line-height: 44px;
  }

  .grh-legal-hero__date {
    font-size: 13px;
    line-height: 20px;
  }

  .grh-privacy {
    padding: 52px 0 64px;
  }

  .grh-privacy__intro {
    margin-bottom: 44px !important;
    font-size: 19px;
    line-height: 27px;
  }

  .grh-privacy__section {
    padding: 28px 0;
  }

  .grh-privacy__section h2 {
    font-size: 27px;
    line-height: 33px;
  }

  .grh-privacy__section p,
  .grh-privacy__section li {
    font-size: 16px;
    line-height: 24px;
  }
}

/* 404 template */
.grh-404 {
  min-height: max(760px, 100svh) !important;
  padding: 0 !important;
  background: #141b23;
  color: #f4f4f2;
}

.grh-404 > .wp-block-cover__image-background,
.grh-404 > .wp-block-cover__video-background,
.grh-404 > .grh-cover-external-media {
  z-index: 0;
}

.grh-404 > .wp-block-cover__background,
.grh-404 > .grh-cover-color-layer {
  z-index: 1;
}

.grh-404 > .wp-block-cover__background {
  background: linear-gradient(90deg, rgba(20, 27, 35, 0.82) 0%, rgba(20, 27, 35, 0.48) 58%, rgba(20, 27, 35, 0.24) 100%);
  background-color: transparent !important;
  opacity: 1 !important;
}

.grh-404 > .wp-block-cover__inner-container {
  z-index: 3;
  min-height: max(760px, 100svh);
}

.grh-404__inner {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: min(calc(100% - 80px), 1360px);
  min-height: max(760px, 100svh);
  margin-inline: auto;
  padding: 150px 0 96px;
}

.grh-404__eyebrow {
  align-self: flex-start;
  margin: 0 0 28px !important;
  color: #f4f4f2;
}

.grh-404__code {
  margin: 0 0 4px !important;
  color: #c59e49;
  font-size: clamp(76px, 9vw, 132px);
  font-weight: 800;
  line-height: 0.86;
}

.grh-404 .grh-404__title {
  max-width: 760px;
  margin: 28px 0 20px !important;
  color: #f4f4f2;
  font-size: 58px !important;
  font-weight: 600;
  line-height: 1.04;
}

.grh-404__description {
  max-width: 620px;
  margin: 0 !important;
  color: #cfd2d5;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.45;
}

.grh-404__actions {
  gap: 14px;
  margin-top: 38px;
}

.grh-404__actions .wp-block-button__link {
  min-width: 180px;
  padding: 14px 24px;
  border: 1px solid #c59e49;
  border-radius: 4px;
  font-size: 16px;
  font-weight: 800;
  line-height: 20px;
  text-align: center;
  transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.grh-404__actions .is-style-outline .wp-block-button__link {
  border-color: rgba(244, 244, 242, 0.72);
  background: rgba(20, 27, 35, 0.24);
  color: #f4f4f2;
}

.grh-404__actions .wp-block-button__link:hover {
  transform: translateY(-2px);
}

@media (min-width: 601px) and (max-width: 1100px) {
  .grh-404__inner {
    width: min(calc(100% - 64px), 960px);
    padding-top: 140px;
  }

  .grh-404 .grh-404__title {
    max-width: 700px;
    font-size: 50px !important;
  }
}

@media (max-width: 600px) {
  .grh-404,
  .grh-404 > .wp-block-cover__inner-container,
  .grh-404__inner {
    min-height: 720px !important;
  }

  .grh-404 > .wp-block-cover__background {
    background: linear-gradient(180deg, rgba(20, 27, 35, 0.38) 0%, rgba(20, 27, 35, 0.72) 52%, #141b23 100%);
  }

  .grh-404__inner {
    width: calc(100% - 32px);
    padding: 128px 0 64px;
  }

  .grh-404__eyebrow {
    margin-bottom: 24px !important;
  }

  .grh-404__code {
    font-size: 76px;
  }

  .grh-404 .grh-404__title {
    margin-top: 22px !important;
    font-size: 40px !important;
    line-height: 44px;
  }

  .grh-404__description {
    font-size: 17px;
    line-height: 24px;
  }

  .grh-404__actions {
    display: grid;
    width: 100%;
    gap: 12px;
    margin-top: 32px;
  }

  .grh-404__actions .wp-block-button,
  .grh-404__actions .wp-block-button__link {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
