@charset "UTF-8";
/* ---------------------------------------------------------
    * Name: Davies - Personal Portfolio HTML Template
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com 

	* Abstracts variable

    * Core CSS

    * Components
        * Blog
        * Layout
        * Header
        * Accordion
        * Animation
        * Box Icon
        * Button
        * Carousel
        * Form
        * Hover
        * Nice Select
        * Popup
        * Section
        * Slider
        * Tabs
        * Testimonial
        * Widget
        * Footer

 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
:root {
  --white: #ffffff;
  --black: #000000;
  --primary: #ffffff;
  --primary-rgb: 255, 255, 255;
  --white-50: #FFFFFF80;
  --white-64: #FFFFFFA3;
  --white-32: #ffffff52;
  --white-16: #FFFFFF29;
  --black-64: #000000A3;
  --black-32: #00000052;
  --line-2: #CCCCCC;
  /* Custom */
  --shadow-1: #A3A3A340;
  --verified: #ffffff;
  --success: #ffffff;
  --surface: #D8D8D8;
  --font-main: "Figtree", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font_instrument: "Figtree", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --bs-font-sans-serif: var(--font-main);
  --bs-body-font-family: var(--font-main);
  --bs-btn-font-family: var(--font-main);
  --display-xl: 64px;
  --h2: 44px;
  --h3: 32px;
  --h4: 24px;
  --h5: 14px;
  --body: 17px;
  --body-small: 15px;
  --nav: 14px;
  --label: 13px;
  --caption: 12px;
}

@media (max-width: 767px) {
  :root {
    --display-xl: 38px;
    --h2: 30px;
    --h3: 24px;
    --h4: 21px;
    --h5: 13px;
    --body: 16px;
    --body-small: 14px;
    --nav: 14px;
    --label: 12px;
    --caption: 12px;
  }
}

[data-color-primary=color-primary-1] {
  --primary: #ffffff;
  --primary-rgb: 255, 255, 255;
}

[data-color-primary=color-primary-2] {
  --primary: #e5e5e5;
  --primary-rgb: 229, 229, 229;
}

[data-color-primary=color-primary-3] {
  --primary: #cccccc;
  --primary-rgb: 204, 204, 204;
}

[data-color-primary=color-primary-4] {
  --primary: #b3b3b3;
  --primary-rgb: 179, 179, 179;
}

[data-color-primary=color-primary-5] {
  --primary: #999999;
  --primary-rgb: 153, 153, 153;
}

[data-color-primary=color-primary-6] {
  --primary: #808080;
  --primary-rgb: 128, 128, 128;
}

[data-color-primary=color-primary-7] {
  --primary: #666666;
  --primary-rgb: 102, 102, 102;
}

[data-color-primary=color-primary-8] {
  --primary: #4d4d4d;
  --primary-rgb: 77, 77, 77;
}

/*------------ Core CSS ---------------- */
/* ---------------------------------------------------------
    * Name: Davies - Personal Portfolio HTML Template
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com 

	* Abstracts variable

    * Core CSS

    * Components
        * Blog
        * Layout
        * Header
        * Accordion
        * Animation
        * Box Icon
        * Button
        * Carousel
        * Form
        * Hover
        * Nice Select
        * Popup
        * Section
        * Slider
        * Tabs
        * Testimonial
        * Widget
        * Footer

 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

/* Elements
-------------------------------------------------------------- */
html {
  margin-right: 0 !important;
  scroll-behavior: smooth;
}

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

body {
  font-family: var(--font-main);
  font-size: var(--body);
  font-weight: 300;
  line-height: 1.65;
  color: var(--white);
  background-color: var(--black);
}
body::-webkit-scrollbar {
  width: 4px;
}
body::-webkit-scrollbar-thumb {
  cursor: grab;
  background-color: var(--primary);
}

img {
  max-width: 100%;
  height: auto;
  transform: scale(1);
  vertical-align: middle;
  -ms-interpolation-mode: bicubic;
}

ul,
li {
  list-style-type: none;
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}

table {
  width: 100%;
  overflow-x: auto;
  table-layout: auto;
  border-collapse: collapse;
}

td,
th {
  padding: 12px 16px;
}
@media (min-width: 1200px) {
  td,
  th {
    padding: 16px 24px;
  }
}

svg path {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

button {
  background: transparent;
  border: 0;
  display: inline-flex;
  font-size: var(--label);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

select,
option {
  all: unset;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
}

/* Since FF19 lowers the opacity of the placeholder by default */
:-ms-input-placeholder {
  color: var(--secondary-2);
}

b,
strong {
  font-weight: bolder;
}

video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

a {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  text-decoration: none;
  cursor: pointer;
  display: inline-block;
  font-family: var(--font-main);
  color: var(--text);
}
a:focus, a:hover {
  outline: 0;
}

p {
  display: block;
  font-size: var(--body);
  font-weight: 300;
  line-height: 1.65;
  max-width: 65ch;
}

.nav-link,
.menu-link {
  font-size: var(--nav);
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.cta {
  font-size: var(--label);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.grid-6 {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
}

[data-grid=grid-1] {
  display: grid;
  gap: 30px;
  grid-template-columns: 1fr;
}

[data-grid=grid-2] {
  display: grid;
  gap: 30px;
  grid-template-columns: 1fr 1fr;
}

[data-grid=grid-3] {
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(3, 1fr);
}

[data-grid=grid-4] {
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(4, 1fr);
}

[data-grid=grid-5] {
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(5, 1fr);
}

[data-grid=grid-6] {
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(6, 1fr);
}

[data-grid=grid-7] {
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(7, 1fr);
}

.grid-template-columns-2 {
  grid-template-columns: 1fr 1fr;
}

.tf-row-flex {
  display: flex;
  flex-direction: row;
  column-gap: 30px;
  row-gap: 30px;
}

.overflow-unset {
  overflow: unset !important;
}

.sticky-top {
  position: sticky !important;
  z-index: 50;
  top: 15px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.wmax {
  width: max-content !important;
}

#scroll-top {
  position: fixed;
  display: block;
  width: 48px;
  height: 48px;
  line-height: 50px;
  border-radius: 4px;
  z-index: 1;
  border-radius: 50%;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  overflow: hidden;
  z-index: 100;
  background-color: var(--main);
  border: 0;
  bottom: 92px;
  right: 20px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
#scroll-top.show {
  opacity: 1;
  visibility: visible;
}
#scroll-top.type-1 {
  bottom: 140px;
}
#scroll-top:hover {
  transform: translateY(-5px);
  background-color: var(--primary);
}

/* Preload 
------------------------------------------- */
.spinner {
  width: 60px;
  height: 60px;
  border: 3px solid transparent;
  border-top: 3px solid var(--primary);
  border-radius: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  animation: spin 1s infinite linear;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.br-line {
  width: 100%;
  height: 1px;
  display: inline-flex;
  background-color: var(--white-16);
}
.br-line.type-vertical {
  width: 1px;
  height: 16px;
}

.br-dot {
  display: inline-flex;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--primary);
  box-shadow: 0px 0px 2px 1px rgba(var(--primary-rgb), 0.2), 0px 0px 6px 4px rgba(var(--primary-rgb), 0.2);
}

.line {
  border: 1px solid var(--white-16);
}

.tf-swiper .swiper-slide {
  height: auto;
}
.tf-swiper .swiper-slide > * {
  height: 100%;
}

.initial-child-container {
  flex: 0 0 auto;
  display: flex;
  min-width: auto;
  flex-direction: row;
  align-items: center;
}

.marquee-wrapper {
  display: flex;
  animation: infiniteScroll 7s linear infinite;
  align-items: center;
  transition: animation-duration 300ms;
}

@media (min-width: 1200px) {
  .flex-xl-1 {
    flex: 1 !important;
  }
}

@media (min-width: 576px) {
  .flex-sm-1 {
    flex: 1 !important;
  }
}

.h-unset {
  height: unset !important;
}

@media (min-width: 576px) {
  .h-sm-100 {
    height: 100% !important;
  }
}
@media (min-width: 1200px) {
  .gap-xl-64 {
    gap: 64px !important;
  }
  .gap-xl-40 {
    gap: 40px !important;
  }
  .h-xl-unset {
    height: unset !important;
  }
}
@media (min-width: 1440px) {
  .text-xxl-nowrap {
    white-space: nowrap !important;
  }
}
@media (min-width: 1600px) {
  .d-xxxl-flex {
    display: flex !important;
  }
}
.w-maxcontent {
  width: max-content !important;
}

/* ---------------------------------------------------------
    * Name: Davies - Personal Portfolio HTML Template
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com 

	* Abstracts variable

    * Core CSS

    * Components
        * Blog
        * Layout
        * Header
        * Accordion
        * Animation
        * Box Icon
        * Button
        * Carousel
        * Form
        * Hover
        * Nice Select
        * Popup
        * Section
        * Slider
        * Tabs
        * Testimonial
        * Widget
        * Footer

 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
/* Typography
============================================================== */
/* Heading */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-main);
  text-rendering: optimizeLegibility;
  margin-bottom: 0;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: var(--font-main);
  text-rendering: optimizeLegibility;
  margin-bottom: 0;
}

h1,
.h1,
.hero-title {
  font-size: var(--display-xl);
  font-weight: 300;
  line-height: 1.05;
  letter-spacing: -0.03em;
}

h2,
.h2,
.section-title {
  font-size: var(--h2);
  font-weight: 300;
  line-height: 1.12;
  letter-spacing: -0.025em;
}

h3,
.h3 {
  font-size: var(--h3);
  font-weight: 400;
  line-height: 1.2;
}

h4,
.h4,
.card-title {
  font-size: var(--h4);
  font-weight: 400;
  line-height: 1.22;
}

h5,
.h5,
.eyebrow,
.kicker {
  font-size: var(--h5);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

h6,
.h6 {
  font-size: var(--h4);
  line-height: 1.28;
}

/* Font custom */
.font-main {
  font-family: var(--font-main);
}

.text-display-1 {
  font-size: var(--display-xl);
  line-height: 1.05;
  font-weight: 300 !important;
  letter-spacing: -0.03em;
}

.text-display-2 {
  font-size: var(--h2);
  line-height: 1.12;
  font-weight: 300 !important;
  letter-spacing: -0.025em;
}

.text-body-1 {
  font-size: var(--body);
  line-height: 1.65;
}

.text-body-2 {
  font-size: var(--body);
  line-height: 1.65;
}

.text-body-3 {
  font-size: var(--body-small);
  line-height: 1.55;
}

.text-caption {
  font-size: var(--caption);
  line-height: 1.35;
  letter-spacing: -0.01em;
}

/* Text Font */
.text-24 {
  font-size: clamp(18px, 2vw, 24px);
  line-height: clamp(18px, 2vw, 24px);
}

.text-64 {
  font-size: clamp(36px, 5vw, 64px);
  line-height: clamp(36px, 5vw, 64px);
}

.text-80 {
  font-size: clamp(40px, 6vw, 80px);
  line-height: clamp(48px, 6.6vw, 88px);
}

/* Font size */
.fs-4 {
  font-size: 4px !important;
}

.fs-8 {
  font-size: 8px !important;
}

.fs-10 {
  font-size: 10px !important;
}

.fs-12 {
  font-size: 12px !important;
}

.fs-14 {
  font-size: 14px !important;
}

.fs-16 {
  font-size: 16px !important;
}

.fs-18 {
  font-size: 18px !important;
}

.fs-20 {
  font-size: 20px !important;
}

.fs-24 {
  font-size: 24px !important;
}

.fs-32 {
  font-size: 32px !important;
}

.fs-35 {
  font-size: 35px !important;
}

/* Line height */
.lh-8 {
  line-height: 8px !important;
}

.lh-10 {
  line-height: 10px !important;
}

.lh-11 {
  line-height: 11px !important;
}

.lh-13 {
  line-height: 13px !important;
}

.lh-19 {
  line-height: 19px !important;
}

.lh-20 {
  line-height: 20px !important;
}

.lh-24 {
  line-height: 24px !important;
}

.lh-26 {
  line-height: 26px !important;
}

.lh-28 {
  line-height: 28px !important;
}

.lh-30 {
  line-height: 30px !important;
}

.lh-32 {
  line-height: 32px !important;
}

/* Letter spacing */
.letter-space-0 {
  letter-spacing: 0px !important;
}

.letter-space--1 {
  letter-spacing: -0.01em !important;
}

.letter-space--2 {
  letter-spacing: -0.02em !important;
}

.letter-space--3 {
  letter-spacing: -0.03em !important;
}

.letter-space--4 {
  letter-spacing: -0.04em !important;
}

/* Responsive */
@media (min-width: 1440px) {
  .lh-xxl-11 {
    line-height: 11px !important;
  }
  .lh-xxl-19 {
    line-height: 19px !important;
  }
  .lh-xxl-22 {
    line-height: 22px !important;
  }
  .lh-xxl-56 {
    line-height: 56px !important;
  }
}
@media (min-width: 1200px) {
  .lh-xl-54 {
    line-height: 54px !important;
  }
  .lh-xl-36 {
    line-height: 36px !important;
  }
}
@media (min-width: 992px) {
  .lh-lg-56 {
    line-height: 56px !important;
  }
}
/* ---------------------------------------------------------
    * Name: Davies - Personal Portfolio HTML Template
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com 

	* Abstracts variable

    * Core CSS

    * Components
        * Blog
        * Layout
        * Header
        * Accordion
        * Animation
        * Box Icon
        * Button
        * Carousel
        * Form
        * Hover
        * Nice Select
        * Popup
        * Section
        * Slider
        * Tabs
        * Testimonial
        * Widget
        * Footer

 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
/* General
============================================================== */
/* Margin */
.mb-2 {
  margin-bottom: 2px !important;
}

.mb-4 {
  margin-bottom: 4px !important;
}

.mb-7 {
  margin-bottom: 7px !important;
}

.mb-8 {
  margin-bottom: 8px !important;
}

.mb-12 {
  margin-bottom: 12px !important;
}

.mb-14 {
  margin-bottom: 14px !important;
}

.mb-15 {
  margin-bottom: 15px !important;
}

.mb-16 {
  margin-bottom: 16px !important;
}

.mb-20 {
  margin-bottom: 20px;
}

.mb-24 {
  margin-bottom: 24px !important;
}

.mb-32 {
  margin-bottom: 32px !important;
}

.mb-40 {
  margin-bottom: 40px !important;
}

.mt-30 {
  margin-top: 30px;
}

/* Padding */
.pt-30 {
  padding-top: 30px;
}

.px-16 {
  padding-left: 16px;
  padding-right: 16px;
}

.py-20 {
  padding-top: 20px;
  padding-bottom: 20px;
}

/* Gap */
.gap-6 {
  gap: 6px !important;
}

.gap-8 {
  gap: 8px;
}

.gap-10 {
  gap: 10px !important;
}

.gap-12 {
  gap: 12px !important;
}

.gap-13 {
  gap: 13px !important;
}

.gap-15 {
  gap: 15px;
}

.gap-16 {
  gap: 16px !important;
}

.gap-20 {
  gap: 20px !important;
}

.gap-24 {
  gap: 24px !important;
}

.gap-28 {
  gap: 28px !important;
}

.gap-30 {
  gap: 30px;
}

/* Spacing */
.flat-spacing {
  padding-top: 96px;
  padding-bottom: 96px;
}
@media (max-width: 1439px) {
  .flat-spacing {
    padding-top: 72px;
    padding-bottom: 72px;
  }
}
@media (max-width: 991px) {
  .flat-spacing {
    padding-top: 56px;
    padding-bottom: 56px;
  }
}

.flat-spacing-2 {
  padding-top: 96px;
  padding-bottom: 96px;
}
@media (max-width: 1439px) {
  .flat-spacing-2 {
    padding-top: 72px;
    padding-bottom: 72px;
  }
}
@media (max-width: 991px) {
  .flat-spacing-2 {
    padding-top: 56px;
    padding-bottom: 56px;
  }
}

.flat-spacing-bottom {
  margin-bottom: 64px;
}
@media (max-width: 1199px) {
  .flat-spacing-bottom {
    margin-bottom: 48px;
  }
}

/* Orther */
.text-primary {
  color: var(--primary) !important;
}

.text-white-32 {
  color: var(--white-32);
}

.text-white-50 {
  color: var(--white-50);
}

.text-white-64 {
  color: var(--white-64);
}

.text-black-64 {
  color: var(--black-64);
}

.link {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.link:hover {
  color: var(--primary) !important;
}

.cl-line-2 {
  border-color: var(--line-2) !important;
}

.link-underline {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  text-decoration: underline;
  text-decoration-color: transparent;
}
.link-underline:hover {
  text-decoration-color: var(--primary);
}

.lt-sp-nor {
  letter-spacing: -0.32px;
}

.letter-space-0 {
  letter-spacing: 0px !important;
}

.text-vertical {
  writing-mode: vertical-lr;
  transform: rotate(180deg);
}

.cs-pointer {
  cursor: pointer;
}

.max-width_1 {
  max-width: 1424px;
  width: 100%;
}

.gap-x-10 {
  column-gap: 10px !important;
}

.radius-3 {
  border-radius: 3px !important;
}

.radius-5 {
  border-radius: 5px !important;
}

.radius-10 {
  border-radius: 10px !important;
}

.radius-12 {
  border-radius: 12px !important;
}

.radius-16 {
  border-radius: 16px !important;
}

.radius-20 {
  border-radius: 20px !important;
}

.bg-white-2 {
  background-color: var(--bg-10);
}

.bg-surface {
  background-color: var(--surface);
}

.text-line-clamp-1 {
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  display: -webkit-box !important;
  overflow: hidden;
}

.text-line-clamp-2 {
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}

.text-line-clamp-3 {
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}

.aspect-ratio-0 {
  aspect-ratio: 0 !important;
}

.aspect-ratio-1 {
  aspect-ratio: 1/1 !important;
}

.z-1 {
  z-index: 1;
}

.z-5 {
  z-index: 5;
}

.cursor-not-allowed {
  cursor: not-allowed;
}

.cursor-auto {
  cursor: auto;
}

.min-w-unset {
  min-width: unset !important;
}

.flex-1 {
  flex: 1;
}

.bg-primary {
  background-color: var(--primary) !important;
}

.cursor-pointer {
  cursor: pointer;
}

@media (min-width: 992px) {
  .h-lg-100 {
    height: 100% !important;
  }
}
/*------------ Component ---------------- */
/*------------ Layout ---------------- */
/* ---------------------------------------------------------
    * Name: Davies - Personal Portfolio HTML Template
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com 

	* Abstracts variable

    * Core CSS

    * Components
        * Blog
        * Layout
        * Header
        * Accordion
        * Animation
        * Box Icon
        * Button
        * Carousel
        * Form
        * Hover
        * Nice Select
        * Popup
        * Section
        * Slider
        * Tabs
        * Testimonial
        * Widget
        * Footer

 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
.tf-grid-layout {
  display: grid;
  column-gap: 24px;
  row-gap: 32px;
}
.tf-grid-layout.tf-col-2 {
  grid-template-columns: 1fr 1fr;
}
.tf-grid-layout.tf-col-3 {
  grid-template-columns: repeat(3, 1fr);
}
.tf-grid-layout.tf-col-4 {
  grid-template-columns: repeat(4, 1fr);
}
.tf-grid-layout.tf-col-5 {
  grid-template-columns: repeat(5, 1fr);
}
.tf-grid-layout.tf-col-6 {
  grid-template-columns: repeat(6, 1fr);
}
.tf-grid-layout.tf-col-7 {
  grid-template-columns: repeat(7, 1fr);
}
.tf-grid-layout .wd-full {
  grid-column: 1/-1;
}
.tf-grid-layout .wd-2-cols {
  grid-column: span 2;
}
@media (min-width: 576px) {
  .tf-grid-layout.sm-col-2 {
    grid-template-columns: 1fr 1fr;
  }
  .tf-grid-layout.sm-col-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .tf-grid-layout.sm-col-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .tf-grid-layout.sm-col-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .tf-grid-layout.sm-col-6 {
    grid-template-columns: repeat(6, 1fr);
  }
  .tf-grid-layout.sm-col-7 {
    grid-template-columns: repeat(7, 1fr);
  }
}
@media (min-width: 768px) {
  .tf-grid-layout.md-col-2 {
    grid-template-columns: 1fr 1fr;
  }
  .tf-grid-layout.md-col-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .tf-grid-layout.md-col-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .tf-grid-layout.md-col-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .tf-grid-layout.md-col-6 {
    grid-template-columns: repeat(6, 1fr);
  }
  .tf-grid-layout.md-col-7 {
    grid-template-columns: repeat(7, 1fr);
  }
}
@media (min-width: 992px) {
  .tf-grid-layout.lg-col-2 {
    grid-template-columns: 1fr 1fr;
  }
  .tf-grid-layout.lg-col-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .tf-grid-layout.lg-col-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .tf-grid-layout.lg-col-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .tf-grid-layout.lg-col-6 {
    grid-template-columns: repeat(6, 1fr);
  }
  .tf-grid-layout.lg-col-7 {
    grid-template-columns: repeat(7, 1fr);
  }
}
@media (min-width: 1200px) {
  .tf-grid-layout {
    column-gap: 30px;
    row-gap: 40px;
  }
  .tf-grid-layout.row-xl-gap-40 {
    row-gap: 40px;
  }
  .tf-grid-layout.row-xl-gap-56 {
    row-gap: 56px;
  }
  .tf-grid-layout.xl-col-2 {
    grid-template-columns: 1fr 1fr;
  }
  .tf-grid-layout.xl-col-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .tf-grid-layout.xl-col-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .tf-grid-layout.xl-col-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .tf-grid-layout.xl-col-6 {
    grid-template-columns: repeat(6, 1fr);
  }
  .tf-grid-layout.xl-col-7 {
    grid-template-columns: repeat(7, 1fr);
  }
}
@media (min-width: 1440px) {
  .tf-grid-layout.xxl-col-2 {
    grid-template-columns: 1fr 1fr;
  }
  .tf-grid-layout.xxl-col-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .tf-grid-layout.xxl-col-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .tf-grid-layout.xxl-col-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .tf-grid-layout.xxl-col-6 {
    grid-template-columns: repeat(6, 1fr);
  }
  .tf-grid-layout.xxl-col-7 {
    grid-template-columns: repeat(7, 1fr);
  }
}

.row {
  margin-right: -6px;
  margin-left: -6px;
}
.row > * {
  padding-left: 6px;
  padding-right: 6px;
}

.container {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  padding-right: 15px;
  padding-left: 15px;
  width: 1326px;
  max-width: 100%;
}

/*------------ Header ---------------- */
/* ---------------------------------------------------------
    * Name: Davies - Personal Portfolio HTML Template
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com 

	* Abstracts variable

    * Core CSS

    * Components
        * Blog
        * Layout
        * Header
        * Accordion
        * Animation
        * Box Icon
        * Button
        * Carousel
        * Form
        * Hover
        * Nice Select
        * Popup
        * Section
        * Slider
        * Tabs
        * Testimonial
        * Widget
        * Footer

 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
header {
  position: sticky;
  z-index: 100;
  transition: all 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
header.header-sticky {
  background-color: var(--black);
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.15);
}

.tf-header {
  padding-top: 36px;
  padding-bottom: 36px;
  margin-bottom: -116px;
}
.tf-header .header-inner .row {
  align-items: center;
}
.tf-header .logo-site {
  width: 100%;
  max-width: 282px;
}
.tf-header .logo-site .logo-site__img {
  width: 282px;
  height: 75px;
  object-fit: contain;
  object-position: left center;
  display: block;
}
.tf-header .logo-site__img {
  display: block;
}
.tf-header .header-contact {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}
.tf-header .header-contact p {
  display: flex;
  align-items: center;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 13px;
  line-height: 1;
  font-weight: 500;
  color: var(--white-64);
}
.tf-header.style-2 {
  margin-bottom: -148px;
}
.tf-header.style-2 .text-utc {
  display: flex;
  align-items: center;
  gap: 6px;
}
.tf-header.style-2 .tf-list li {
  display: flex;
}
@media (max-width: 1199px) {
  .tf-header {
    padding-top: 15px;
    padding-bottom: 15px;
    margin-bottom: -74px;
  }
  .tf-header.style-2 {
    margin-bottom: -106px;
  }
}
@media (max-width: 767px) {
  .tf-header.style-2 {
    margin-bottom: -74px;
  }
}
@media (min-width: 768px) {
  .tf-header:not(.style-2) {
    padding-top: 0;
    padding-bottom: 0;
    margin-bottom: -75px;
  }
  .tf-header:not(.style-2) .header-inner .row {
    position: relative;
    justify-content: space-between;
    min-height: 75px;
  }
  .tf-header:not(.style-2) .header-inner .row > [class*=col-] {
    width: auto;
    max-width: none;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
  }
  .tf-header:not(.style-2) .header-inner .row > :nth-child(1) {
    flex: 0 0 282px;
  }
  .tf-header:not(.style-2) .header-inner .row > :nth-child(2) {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 4;
  }
  .tf-header:not(.style-2) .header-inner .row > :nth-child(3) {
    margin-left: auto;
    justify-content: flex-end;
  }
  .tf-header:not(.style-2) .header-inner .row > :nth-child(4) {
    justify-content: flex-end;
    align-self: center;
  }
  .tf-header:not(.style-2) .box-navigation.desktop-nav-shell {
    width: max-content;
  }
  .tf-header:not(.style-2) .btn-mobile-menu,
  .tf-header:not(.style-2) .header-contact {
    white-space: nowrap;
  }
}

.item-link {
  display: flex;
  align-items: start;
  gap: 4px;
  font-weight: 500;
}
.item-link span {
  font-size: 8px;
  line-height: 12px;
  color: var(--white-64);
}

.nav-menu-main {
  display: flex;
  align-items: center;
  gap: 21px;
}

.box-navigation {
  position: relative;
}

.nav-menu-desktop-site {
  justify-content: center;
  gap: clamp(12px, 1.1vw, 24px);
}
.nav-menu-desktop-site .item-link {
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: var(--nav);
  line-height: 1;
  font-weight: 500;
  color: var(--white-64);
  transition: color 0.3s ease, opacity 0.3s ease;
}
.nav-menu-desktop-site .item-link:hover {
  color: var(--white);
}

.nav-panel-trigger {
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.desktop-nav-shell .menu-item {
  display: flex;
  align-items: center;
}
.desktop-nav-shell.is-panel-open .nav-panel-trigger.is-active {
  color: var(--white);
}

.desktop-nav-panel {
  position: absolute;
  top: calc(100% + 18px);
  left: 50%;
  width: min(1326px, calc(100vw - 30px));
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-50%) translateY(14px);
  transition: opacity 0.4s ease, transform 0.4s ease, visibility 0.4s ease;
  z-index: 120;
}

.desktop-nav-shell.is-panel-open .desktop-nav-panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

.desktop-nav-panel__inner {
  position: relative;
  display: grid;
  grid-template-columns: 286px minmax(0, 1fr);
  min-height: clamp(380px, 56vh, 520px);
  background: var(--black);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
}

.desktop-nav-panel__links {
  display: grid;
  align-content: start;
  gap: 0;
  padding: 0;
  background: var(--black);
  border-right: 1px solid rgba(255, 255, 255, 0.12);
}

.desktop-nav-panel-group {
  display: none;
  gap: 0;
}
.desktop-nav-panel-group.active {
  display: grid;
}

.desktop-nav-link {
  display: block;
  width: 100%;
  padding: 18px 24px;
  border-radius: 0;
  color: rgba(255, 255, 255, 0.42);
  font-size: var(--nav);
  line-height: 1.2;
  letter-spacing: 0.04em;
  font-weight: 500;
  text-transform: uppercase;
  position: relative;
  transition: color 0.3s ease, opacity 0.3s ease, filter 0.3s ease;
}
.desktop-nav-link::after {
  content: "";
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 0;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.12);
}
.desktop-nav-link:hover {
  color: var(--white);
}
.desktop-nav-link.is-active {
  color: var(--white);
}

.desktop-nav-panel-group.is-hovering .desktop-nav-link {
  color: rgba(255, 255, 255, 0.44);
  opacity: 0.56;
  filter: blur(1.25px);
}
.desktop-nav-panel-group.is-hovering .desktop-nav-link:hover,
.desktop-nav-panel-group.is-hovering .desktop-nav-link:focus-visible,
.desktop-nav-panel-group.is-hovering .desktop-nav-link.is-active {
  color: var(--white);
  opacity: 1;
  filter: none;
}

.desktop-nav-panel__media {
  position: relative;
  min-width: 0;
  min-height: 100%;
  overflow: hidden;
  background-color: var(--black);
}
.desktop-nav-panel__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.76) 100%), linear-gradient(90deg, rgba(0, 0, 0, 0.06) 0%, rgba(0, 0, 0, 0.22) 100%);
  pointer-events: none;
}

.desktop-nav-preview-image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
  opacity: 0;
  transform: scale(1.02);
  transition: opacity 0.45s ease, transform 0.6s ease;
}
.desktop-nav-preview-image.active {
  opacity: 1;
  transform: scale(1);
}

@media (max-width: 991px) {
  .desktop-nav-panel__inner {
    grid-template-columns: 252px minmax(0, 1fr);
    min-height: 360px;
  }
  .desktop-nav-link {
    font-size: 13px;
  }
}

@media (max-width: 767px) {
  .desktop-nav-panel {
    left: 50%;
    width: calc(100vw - 32px);
  }
  .desktop-nav-panel__inner {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .desktop-nav-panel__media {
    min-height: 280px;
  }
}

.box-nav-icon {
  display: flex;
  align-items: center;
  gap: 30px;
}
.box-nav-icon .br-line {
  height: 30px;
  width: 1px;
  background-color: var(--line);
}
@media (min-width: 1440px) {
  .box-nav-icon {
    padding-right: 30px;
  }
}
@media (min-width: 1600px) {
  .box-nav-icon {
    gap: 40px;
    padding-right: 40px;
  }
}
@media (max-width: 1199px) {
  .box-nav-icon {
    gap: 16px;
  }
}

.nav-icon-list {
  display: flex;
  align-items: center;
  gap: 20px;
}
.nav-icon-list li {
  display: flex;
}
@media (max-width: 1199px) {
  .nav-icon-list {
    gap: 12px;
  }
}

.nav-icon-item {
  font-size: 24px;
  display: flex;
  aspect-ratio: 1;
  position: relative;
}
.nav-icon-item .number-count {
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  background-color: var(--primary);
  border-radius: 50%;
}
.nav-icon-item.has-num {
  margin-right: 8px;
}
.nav-icon-item.has-num .number-count {
  position: absolute;
  top: -5.75px;
  right: -8px;
}
@media (max-width: 1199px) {
  .nav-icon-item {
    font-size: 20px;
  }
}

.box-nav-support {
  display: flex;
  align-items: center;
  gap: 12px;
  background-color: var(--secondary);
  padding: 20px 40px;
  margin-right: -40px;
  border-radius: 0px 100px 100px 0px;
}
.box-nav-support .ic-wrap {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--primary);
}
.box-nav-support .ic-wrap .icon {
  color: var(--white);
  font-size: 32px;
}
.box-nav-support .title {
  margin-bottom: 4px;
}

.btn-mobile-menu {
  display: flex;
  align-items: center;
  gap: 6px;
}
.btn-mobile-menu .icon {
  aspect-ratio: 1;
}

/*-- Menu Mobile --*/
.mb-menu-link {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-weight: 550;
  letter-spacing: -0.03em;
  position: relative;
  width: 100%;
  pointer-events: none;
  overflow: hidden;
  line-height: clamp(68px, 9vw, 108px);
}
.mb-menu-link > * {
  pointer-events: all;
}
.mb-menu-link .infiniteSlide_text_main {
  position: absolute;
  top: 40%;
  left: 0;
  transform: translateY(-50%);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.mb-menu-link .infiniteSlide_text_main .infiniteSlide_text {
  gap: 40px;
}
.mb-menu-link .infiniteSlide_text_main::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #000 0%, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0) 80%, rgba(255, 255, 255, 0) 100%);
  z-index: 2;
}
.mb-menu-link .text {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (min-width: 576px) {
  .mb-menu-link:hover .text {
    color: rgba(255, 255, 255, 0.6392156863);
    filter: blur(12px);
  }
  .mb-menu-link:hover .infiniteSlide_text_main {
    opacity: 1;
    visibility: visible;
    top: 50%;
  }
}

.nav-ul-mb {
  display: grid;
  gap: 4px;
}
.nav-ul-mb li {
  text-align: end;
}
.nav-ul-mb .has-sub-menu {
  display: grid;
  place-items: flex-end;
  width: 100%;
}
.nav-ul-mb .has-sub-menu .mb-menu-link {
  position: relative;
}
.nav-ul-mb .has-sub-menu .mb-menu-link .ic {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: -1;
  line-height: 1;
  display: flex;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.nav-ul-mb .has-sub-menu .mb-menu-link .ic .icon {
  aspect-ratio: 1;
  font-size: 24px;
}
.nav-ul-mb .has-sub-menu .mb-menu-link:not(.collapsed) {
  margin-bottom: 20px;
}
.nav-ul-mb .has-sub-menu .mb-menu-link:not(.collapsed) .ic {
  transform: rotate(180deg);
}
.nav-ul-mb .has-sub-menu .sub-nav-menu {
  display: grid;
  gap: 4px;
}

.nav-ul-mb-site {
  gap: 24px;
}
.nav-ul-mb-site .item {
  width: 100%;
  justify-content: flex-end;
}


.nav-site-group {
  width: min(100%, 560px);
  display: grid;
  gap: 14px;
  justify-items: flex-end;
}

.nav-site-heading {
  color: var(--white-64);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
}

.nav-site-links {
  display: grid;
  gap: 12px;
  justify-items: flex-end;
}

.nav-site-link-anchor {
  display: inline-flex;
  text-align: end;
  font-size: clamp(30px, 4.6vw, 56px);
  line-height: 0.94;
  letter-spacing: -0.04em;
  font-weight: 550;
  position: relative;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  will-change: transform, filter, opacity;
}
@media (min-width: 576px) {
  .nav-site-link-anchor:hover {
    color: var(--white-64);
  }
}

.canvas_center-site {
  width: 100%;
  min-height: clamp(420px, 68vh, 760px);
  position: relative;
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  overflow: hidden;
}

.nav-site-preview {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-40px);
  z-index: 0;
}

.nav-site-preview__media {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: var(--black);
}
.nav-site-preview__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.42) 46%, rgba(0, 0, 0, 0.78) 74%, rgba(0, 0, 0, 0.92) 100%);
  pointer-events: none;
}

.nav-site-preview__image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: left center;
     object-position: left center;
  opacity: 0;
  transform: scale(1.08);
  transform-origin: left center;
  filter: grayscale(100%);
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.nav-site-preview__image.active {
  opacity: 1;
  transform: scale(1);
}

.nav-ul-mb-site {
  position: relative;
  z-index: 1;
  width: min(100%, 560px);
  margin-left: auto;
}
@media (min-width: 992px) {
  .offcanvas-menu .canvas_center-site {
    width: min(1326px, 100%);
    margin-left: auto;
    margin-right: auto;
    min-height: clamp(380px, 56vh, 520px);
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 286px;
    align-items: stretch;
    justify-content: stretch;
    background: var(--black);
    border: 1px solid rgba(255, 255, 255, 0.16);
  }
  .offcanvas-menu .nav-site-preview {
    position: relative;
    inset: auto;
    width: 100%;
    height: 100%;
    max-width: none;
    transform: translateX(-24px);
    border-right: 1px solid rgba(255, 255, 255, 0.12);
  }
  .offcanvas-menu .nav-site-preview__media::after {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.22) 38%, rgba(0, 0, 0, 0.68) 100%);
  }
  .offcanvas-menu .nav-site-preview__image {
    filter: none;
    transform: scale(1.04);
    transform-origin: left center;
  }
  .offcanvas-menu .nav-ul-mb-site {
    position: relative;
    z-index: 1;
    width: 100%;
    margin-left: 0;
    display: grid;
    align-content: start;
    gap: 0;
    min-width: 0;
  }
  .offcanvas-menu .nav-ul-mb-site li {
    text-align: start;
  }
  .offcanvas-menu .nav-ul-mb-site .item {
    width: 100%;
    justify-content: stretch;
  }
  .offcanvas-menu .nav-site-group {
    width: 100%;
    gap: 0;
    justify-items: stretch;
    align-content: start;
  }
  .offcanvas-menu .nav-site-heading {
    padding: 18px 24px 8px;
    text-align: start;
  }
  .offcanvas-menu .nav-site-links {
    gap: 0;
    justify-items: stretch;
  }
  .offcanvas-menu .nav-site-link-anchor {
    display: block;
    width: 100%;
    padding: 18px 24px;
    text-align: start;
    font-size: 13px;
    line-height: 1.2;
    letter-spacing: 0.08em;
    font-weight: 400;
    text-transform: uppercase;
  }
  .offcanvas-menu .nav-site-link-anchor::after {
    content: "";
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 0;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.12);
  }
  .offcanvas-menu .nav-site-link-anchor:hover {
    color: var(--white);
  }
  .offcanvas-menu.is-preview-hovering .nav-site-link-anchor {
    color: rgba(255, 255, 255, 0.44);
    opacity: 0.56 !important;
    filter: blur(1.25px);
    transform: translateY(0);
  }
  .offcanvas-menu.is-preview-hovering .nav-site-link-anchor.is-preview-active {
    opacity: 1 !important;
    filter: blur(0);
    color: var(--white);
    transform: translateY(0);
  }
}

.offcanvas-menu {
  height: 100vh !important;
  backdrop-filter: blur(4px);
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5607843137);
  z-index: 3000;
}
.offcanvas-menu .offcanvas-content {
  padding-top: 36px;
  padding-bottom: 60px;
  height: 100%;
}
.offcanvas-menu .offcanvas-content_wrapin {
  display: flex;
  flex-direction: column;
  height: 100%;
  gap: 20px;
}
.offcanvas-menu .canvas_head {
  display: flex;
  justify-content: space-between;
  align-items: start;
  flex-wrap: wrap;
}
.offcanvas-menu .canvas_head .logo-site {
  width: 100%;
  max-width: 282px;
  flex: 0 1 282px;
}
.offcanvas-menu .canvas_head .logo-site .logo-site__img {
  width: 282px;
  height: 75px;
  object-fit: contain;
  object-position: left center;
  display: block;
}
.offcanvas-menu .canvas_center {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow-y: auto;
}
.offcanvas-menu .canvas_center::-webkit-scrollbar {
  width: 2px;
}
.offcanvas-menu .canvas_center::-webkit-scrollbar-thumb {
  background-color: var(--primary);
}
.offcanvas-menu .canvas_foot {
  display: flex;
  justify-content: space-between;
  align-items: end;
  flex-wrap: wrap;
  gap: 12px;
}
.offcanvas-menu .canvas_foot .left {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.offcanvas-menu .canvas_foot .right {
  display: flex;
  gap: 40px;
  align-items: center;
  flex-wrap: wrap;
}
.offcanvas-menu.style-2 .infiniteSlide_text_main {
  display: none;
}
@media (max-width: 1199px) {
  .offcanvas-menu .offcanvas-content {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .offcanvas-menu .canvas_foot .right {
    gap: 24px;
  }
}
@media only screen and (max-width: 767px) {
  .offcanvas-menu .nav-ul-mb-site {
    gap: 20px;
  }
  .offcanvas-menu .nav-site-group {
    width: 100%;
    gap: 12px;
  }
  .offcanvas-menu .nav-site-links {
    gap: 10px;
  }
}
@media (max-width: 991px) {
  .offcanvas-menu .canvas_center-site {
    display: flex !important;
    justify-content: center;
  }
  .offcanvas-menu .nav-site-preview {
    display: none;
  }
}

.offcanvas-menu {
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  top: 100%;
}
.offcanvas-menu .canvas_head {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-20px);
}
.offcanvas-menu .nav-ul-mb li {
  overflow: hidden;
}
.offcanvas-menu .nav-ul-mb .item {
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  opacity: 0;
  visibility: hidden;
  transform: translateY(100px);
  display: flex;
}
.offcanvas-menu .canvas_foot {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
}
.offcanvas-menu.show {
  top: 0;
}
.offcanvas-menu.show .canvas_head {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition-delay: 0.5s;
}
.offcanvas-menu.show .canvas_foot {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition-delay: 0.6s;
}
.offcanvas-menu.show .nav-ul-mb li .item {
  transform: translateY(0px);
  opacity: 1;
  visibility: visible;
}
.offcanvas-menu.show .nav-ul-mb li:nth-child(1) .item {
  transition-delay: 0.5s;
}
.offcanvas-menu.show .nav-ul-mb li:nth-child(1) .nav-site-heading {
  transition-delay: 0.58s;
}
.offcanvas-menu.show .nav-ul-mb li:nth-child(1) .nav-site-link-anchor:nth-child(1) {
  transition-delay: 0.64s;
}
.offcanvas-menu.show .nav-ul-mb li:nth-child(1) .nav-site-link-anchor:nth-child(2) {
  transition-delay: 0.7s;
}
.offcanvas-menu.show .nav-ul-mb li:nth-child(1) .nav-site-link-anchor:nth-child(3) {
  transition-delay: 0.76s;
}
.offcanvas-menu.show .nav-ul-mb li:nth-child(2) .item {
  transition-delay: 0.6s;
}
.offcanvas-menu.show .nav-ul-mb li:nth-child(2) .nav-site-heading {
  transition-delay: 0.68s;
}
.offcanvas-menu.show .nav-ul-mb li:nth-child(2) .nav-site-link-anchor:nth-child(1) {
  transition-delay: 0.74s;
}
.offcanvas-menu.show .nav-ul-mb li:nth-child(3) .item {
  transition-delay: 0.7s;
}
.offcanvas-menu.show .nav-ul-mb li:nth-child(3) .nav-site-heading {
  transition-delay: 0.78s;
}
.offcanvas-menu.show .nav-ul-mb li:nth-child(3) .nav-site-link-anchor:nth-child(1) {
  transition-delay: 0.84s;
}
.offcanvas-menu.show .nav-ul-mb li:nth-child(4) .item {
  transition-delay: 0.8s;
}
.offcanvas-menu.show .nav-ul-mb li:nth-child(5) .item {
  transition-delay: 1s;
}
.offcanvas-menu.show .nav-ul-mb li .nav-site-heading,
.offcanvas-menu.show .nav-ul-mb li .nav-site-link-anchor {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.offcanvas-menu.show .nav-site-preview {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
  transition-delay: 0.55s;
}

/*-- Landing --*/
.header-area {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 34px 40px 0px;
}
@media (max-width: 1199px) {
  .header-area {
    padding: 30px 15px 0px;
  }
}

.humberg-menu {
  width: 18px;
  height: 18px;
  position: relative;
  cursor: pointer;
  transition: 0.5s;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -ms-transition: 0.5s;
  -o-transition: 0.5s;
}

.humberg-menu:hover {
  transform: rotate(45deg);
}

.humberg-menu span {
  position: absolute;
  left: 0;
  top: 0;
  background: var(--dark);
  border-radius: 50%;
  width: 4px;
  height: 4px;
  background-color: var(--white);
}

.humberg-menu span:nth-child(4),
.humberg-menu span:nth-child(3) {
  top: auto;
  bottom: 0;
}

.humberg-menu span:nth-child(4),
.humberg-menu span:nth-child(2) {
  left: auto;
  right: 0;
}

.demo-box {
  border: 1px solid rgb(31, 31, 31);
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}

.demo-box .img-box {
  position: relative;
  overflow: hidden;
}
.demo-box .img-box img {
  max-height: 350px;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  transition: none;
  transition: object-position 1s ease;
}

.demo-box:hover .img-box img {
  object-position: bottom;
  transition-duration: 15s;
}

.demo-box .content-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 26px;
  background: rgb(10, 10, 10);
  border-top: 1px solid rgb(31, 31, 31);
}

.demo-box .content-box h4 {
  margin: 0 0 6px;
  font-size: 20px;
  line-height: 28px;
  letter-spacing: 0;
  font-family: var(--font_instrument);
  font-weight: 600;
  text-transform: uppercase;
}

.demo-box .content-box p {
  color: rgb(148, 148, 148);
  font-size: 18px;
  line-height: 20px;
  margin: 0;
  letter-spacing: 0;
  font-family: var(--font_instrument);
  font-weight: 500;
}

.demo-box .content-box .view {
  color: rgba(255, 255, 255, 0.75);
  letter-spacing: 0.5px;
  text-transform: uppercase;
  font-family: var(--font_instrument);
  display: block;
  line-height: 20px;
  font-weight: 500;
  background: rgb(10, 11, 11);
  border: 1px solid rgb(31, 31, 31);
  border-radius: 60px;
  backdrop-filter: blur(20px);
  padding: 10px 20px;
  font-size: 16px;
}

.menu-item.has-child {
  position: relative;
  cursor: pointer;
}
.menu-item.has-child::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% + 40px);
  height: calc(100% + 40px);
  z-index: 0;
  display: none;
}
.menu-item:hover .sub-menu {
  pointer-events: all;
  transform: translateY(0px);
  opacity: 1;
  visibility: visible;
}
.menu-item:hover.has-child > a {
  color: var(--primary);
}
.menu-item:hover.has-child::after {
  display: block;
}

.sub-menu {
  position: absolute;
  top: calc(100% + 20px);
  background-color: rgba(15, 15, 15, 0.9);
  box-shadow: rgba(0, 0, 0, 0.05) 0px 10px 20px 0px;
  min-width: 150px;
  left: -31px;
  border-radius: 8px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  padding: 12px 0px;
}
.sub-menu li > a {
  padding: 4px 16px;
}

/*------------ Blog ---------------- */
/* ---------------------------------------------------------
    * Name: Davies - Personal Portfolio HTML Template
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com 

	* Abstracts variable

    * Core CSS

    * Components
        * Blog
        * Layout
        * Header
        * Accordion
        * Animation
        * Box Icon
        * Button
        * Carousel
        * Form
        * Hover
        * Nice Select
        * Popup
        * Section
        * Slider
        * Tabs
        * Testimonial
        * Widget
        * Footer

 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
.article-blog {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--white-16);
}
.article-blog .blog-image {
  display: block;
  width: 100%;
  aspect-ratio: 1.6;
  overflow: hidden;
  flex-shrink: 0;
}
.article-blog .blog-image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.article-blog .blog-content {
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
}
.article-blog .btn-action {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  border: 1px solid var(--white-16);
  flex-shrink: 0;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.article-blog .btn-action .icon {
  font-size: 18px;
}
.article-blog .btn-action:hover {
  border-color: var(--white);
  background: var(--white);
  color: var(--black);
}
.article-blog .infor_sub {
  margin-bottom: 8px;
}
.article-blog .infor_name {
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  display: -webkit-box !important;
  overflow: hidden;
}
@media (min-width: 426px) {
  .article-blog.style-horizontal {
    display: flex;
  }
  .article-blog.style-horizontal .blog-image {
    width: 300px;
    flex: 0 0 300px;
    max-width: 300px;
    aspect-ratio: 1.5;
  }
  .article-blog.style-horizontal .blog-image img {
    aspect-ratio: auto;
  }
  .article-blog.style-horizontal .blog-content {
    display: grid;
  }
}
@media (min-width: 1200px) {
  .article-blog .btn-action {
    width: 44px;
    height: 44px;
  }
}

.wg-pagination {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
}
.wg-pagination .pagination-item {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--white-16);
}
.wg-pagination .pagination-item.active, .wg-pagination .pagination-item:hover {
  color: var(--primary);
  border-color: var(--primary);
}

.blog-sidebar {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 50px;
}
.blog-sidebar .sidebar-title {
  margin-bottom: 16px;
}
@media (min-width: 1200px) {
  .blog-sidebar {
    gap: 32px;
  }
}

.list-relatest-post .relatest-post-item:not(:last-child) {
  margin-bottom: 10px;
}

.relatest-post-item {
  display: flex;
  gap: 20px;
  align-items: center;
}
.relatest-post-item .image {
  width: 80px;
  aspect-ratio: 1;
}
.relatest-post-item .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.relatest-post-item .title {
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}

.sidebar-categories {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.sidebar-categories .item {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.list-tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.list-tags a {
  display: flex;
  align-items: center;
  padding: 5px 24px;
  border-radius: 99px;
  background: rgba(37, 37, 37, 0.5019607843);
}
.list-tags a:hover {
  background: #fff;
  color: #000;
}

.blog-single-wrap {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.blog-single-wrap .image img {
  width: 100%;
  border-radius: 16px;
}

.meta-list {
  display: flex;
  align-items: center;
  gap: 20px;
}
.meta-list .meta-item {
  display: flex;
  align-items: center;
  gap: 5px;
}
.meta-list .meta-item .icon {
  color: var(--primary);
}

.entry-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
}
.entry-footer .tags-links {
  display: flex;
  align-items: center;
  gap: 15px;
  max-width: 420px;
}

.blockquote-wrap {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  padding: 74px 39px 80px 56px;
  background-color: rgb(26, 26, 26);
  box-shadow: 0px 0px 20px 0px rgba(103, 103, 103, 0.25) inset;
}
.blockquote-wrap img {
  position: absolute;
  width: 200px;
  bottom: -50px;
  right: 56px;
  opacity: 0.1;
}
@media (max-width: 767px) {
  .blockquote-wrap {
    padding: 40px 30px 50px;
  }
}

.social-links {
  display: flex;
  gap: 8px;
}
.social-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1019607843);
  box-shadow: 0px 0px 15px 0px rgba(221, 221, 221, 0.1490196078) inset;
  backdrop-filter: blur(6px);
  font-size: 16px;
}
.social-links a:hover {
  background-color: #fff;
  color: #151515;
}

.comment-wrap .heading {
  margin-bottom: 25px;
}
.comment-wrap .author {
  position: relative;
  display: flex;
  gap: 12px;
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.comment-wrap .author:not(:last-child) {
  margin-bottom: 20px;
}
.comment-wrap .author.type-reply {
  margin-left: 20px;
}
.comment-wrap .name {
  margin-bottom: 5px;
  margin-top: -7px;
}
.comment-wrap .image {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  border-radius: 50% !important;
  overflow: hidden;
  filter: grayscale(100%);
}
.comment-wrap .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.comment-wrap .time {
  margin-bottom: 20px;
}
.comment-wrap .reply {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  gap: 5px;
  align-items: center;
}
@media (min-width: 992px) {
  .comment-wrap .author {
    gap: 18px;
  }
  .comment-wrap .author.type-reply {
    margin-left: 66px;
  }
}

.post-comment .heading {
  margin-bottom: 35px;
}
.post-comment .text {
  margin-bottom: 25px;
}
.post-comment .form-cta .form-content {
  gap: 24px;
  margin-bottom: 40px;
}
.post-comment .form-cta textarea {
  height: 100px;
}

/*------------ Element ---------------- */
/* ---------------------------------------------------------
    * Name: Davies - Personal Portfolio HTML Template
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com 

	* Abstracts variable

    * Core CSS

    * Components
        * Blog
        * Layout
        * Header
        * Accordion
        * Animation
        * Box Icon
        * Button
        * Carousel
        * Form
        * Hover
        * Nice Select
        * Popup
        * Section
        * Slider
        * Tabs
        * Testimonial
        * Widget
        * Footer

 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
@keyframes sliderShape {
  0%, 100% {
    border-radius: 42% 58% 70% 30%/45% 45% 55% 55%;
    transform: translate3d(0, 0, 0) rotateZ(0.01deg);
  }
  34% {
    border-radius: 70% 30% 46% 54%/30% 29% 71% 70%;
    transform: translate3d(0, 5px, 0) rotateZ(0.01deg);
  }
  50% {
    transform: translate3d(0, 0, 0) rotateZ(0.01deg);
  }
  67% {
    border-radius: 100% 60% 60% 100%/100% 100% 60% 60%;
    transform: translate3d(0, -3px, 0) rotateZ(0.01deg);
  }
}
@keyframes tf-animate-zoom-in-out {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes ripple-line {
  to {
    transform: scale(2);
    opacity: 0;
  }
}
@keyframes shine-reverse {
  0% {
    left: 100%;
  }
  100% {
    left: -100%;
  }
}
@-webkit-keyframes spinner-circleBounceDelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes spinner-circleBounceDelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.ani-zoom {
  animation: tf-animate-zoom-in-out 30s linear infinite;
}

@keyframes iconBounce {
  0%, 100%, 20%, 50%, 80% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-8px);
    -ms-transform: translateY(-8px);
    transform: translateY(-8px);
  }
  60% {
    -webkit-transform: translateY(-5px);
    -ms-transform: translateY(-5px);
    transform: translateY(-5px);
  }
}
@keyframes float1 {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
  }
  50% {
    transform: translateY(-5px) rotate(-5deg);
  }
}
@keyframes float2 {
  0%, 100% {
    transform: translateX(0) rotate(0deg);
  }
  50% {
    transform: translateX(5px) rotate(10deg);
  }
}
@keyframes float3 {
  0%, 100% {
    transform: scale(1) rotate(0deg);
  }
  50% {
    transform: scale(1.1) rotate(-8deg);
  }
}
@keyframes float4 {
  0%, 100% {
    opacity: 0.6;
    transform: translateY(0);
  }
  50% {
    opacity: 1;
    transform: translateY(-8px);
  }
}
@keyframes float5 {
  0%, 100% {
    transform: rotate(0deg) scale(1);
  }
  25% {
    transform: rotate(5deg) scale(1.05);
  }
  75% {
    transform: rotate(-5deg) scale(1.05);
  }
}
@keyframes bgMove {
  from {
    background-position: 200% 0;
  }
  to {
    background-position: 0% 0;
  }
}
@keyframes effect-send {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  49% {
    transform: translate3d(42px, -39px, 38px);
    opacity: 0;
  }
  50% {
    transform: translate3d(-42px, 39px, 38px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes moveUp {
  0% {
    background-position-y: 0;
  }
  100% {
    background-position-y: -1000px;
  }
}
@keyframes objPosition {
  0% {
    object-fit: top;
  }
  100% {
    object-fit: bottom;
  }
}
.effectFade {
  opacity: 0;
}

.effectFade.is-effect-visible,
.effectFade.is-kpd-visible,
.kpd-reveal-target.is-kpd-visible.effectFade,
.kpd-reveal-target.is-kpd-visible .effectFade {
  opacity: 1 !important;
  visibility: visible !important;
}

.slick-slide,
.slick-track,
.flip-image,
.element,
.textFadeUp,
.textFadeUp2,
.textFadeUp3,
.scroll-fadeZoom,
.effectFade,
.animate-box,
.image-2,
.overflow-hidden > * {
  will-change: transform, opacity;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* ---------------------------------------------------------
    * Name: Davies - Personal Portfolio HTML Template
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com 

	* Abstracts variable

    * Core CSS

    * Components
        * Blog
        * Layout
        * Header
        * Accordion
        * Animation
        * Box Icon
        * Button
        * Carousel
        * Form
        * Hover
        * Nice Select
        * Popup
        * Section
        * Slider
        * Tabs
        * Testimonial
        * Widget
        * Footer

 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
.hover-img .img-style {
  overflow: hidden;
}
.hover-img .img-style > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  -webkit-transition: opacity 0.5s ease, transform 1.5s cubic-bezier(0, 0, 0.44, 1.18);
  transition: opacity 0.5s ease, transform 1.5s cubic-bezier(0, 0, 0.44, 1.18);
}
.hover-img:hover .img-style > img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
.hover-img .img-style2 {
  overflow: hidden;
  border-radius: 10px;
}
.hover-img .img-style2 .img-hv {
  width: 100%;
  object-fit: cover;
  -webkit-transition: all 1s cubic-bezier(0.3, 1, 0.35, 1) 0s;
  transition: all 1s cubic-bezier(0.3, 1, 0.35, 1) 0s;
  transition: transform 500ms ease;
}

.hover-img2 .img-style2 {
  overflow: hidden;
  border-radius: 8px;
}
.hover-img2 .img-style2 .img2 {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.hover-img2:hover .img2 {
  transform: scale(1.1) rotate(3deg);
}

.hover-img3 .img-style3 {
  border-radius: 8px;
  overflow: hidden;
}
.hover-img3 .img-style3 img {
  width: 100%;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.hover-img3:hover img {
  transform: scale(1.075);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.hover-img4 .img-style4 {
  position: relative;
  overflow: hidden;
}
.hover-img4 .img-style4:after {
  content: "";
  position: absolute;
  width: 200%;
  height: 0%;
  left: 50%;
  top: 50%;
  background-color: rgba(255, 255, 255, 0.3);
  transform: translate(-50%, -50%) rotate(-45deg);
  z-index: 1;
  pointer-events: none;
}
.hover-img4 .img-style4 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 1s;
}
.hover-img4:hover .img-style4:after {
  height: 250%;
  transition: all 600ms linear;
  background-color: transparent;
}
.hover-img4:hover .img-style4 img {
  transform: scale(1.1);
}

.pagi2 .swiper-pagination2:hover .box-img .icon-practice,
.swiper-button-next2:hover .box-img .icon-practice,
.swiper-button-prev2:hover .box-img .icon-practice,
.hv-one:hover .box-img .icon-practice {
  opacity: 1;
  z-index: 99;
  top: 50%;
  transition-delay: 0.5s;
}
.pagi2 .swiper-pagination2:hover .img-style::before,
.swiper-button-next2:hover .img-style::before,
.swiper-button-prev2:hover .img-style::before,
.hv-one:hover .img-style::before {
  opacity: 1;
}
.pagi2 .swiper-pagination2 .img-style,
.swiper-button-next2 .img-style,
.swiper-button-prev2 .img-style,
.hv-one .img-style {
  border-radius: 10px;
  overflow: hidden;
}
.pagi2 .swiper-pagination2 .img-style::before,
.swiper-button-next2 .img-style::before,
.swiper-button-prev2 .img-style::before,
.hv-one .img-style::before {
  content: "";
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  position: absolute;
  background: rgba(0, 0, 0, 0.5019607843);
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  z-index: 99;
  opacity: 0;
  border-radius: 10px;
}
.pagi2 .swiper-pagination2 .img-style.s-one::before,
.swiper-button-next2 .img-style.s-one::before,
.swiper-button-prev2 .img-style.s-one::before,
.hv-one .img-style.s-one::before {
  border-radius: 50%;
}

.hv-one2:hover .img-style2::before {
  opacity: 1;
  visibility: visible;
}
.hv-one2 .img-style2::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.4s ease-out 0s;
  -moz-transition: all 0.4s ease-out 0s;
  -ms-transition: all 0.4s ease-out 0s;
  -o-transition: all 0.4s ease-out 0s;
  transition: all 0.4s ease-out 0s;
  opacity: 0;
  visibility: hidden;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1;
  border-radius: 10px;
}

.hv-tool {
  position: relative;
  transition: all 0.3s ease;
}

.hover-tooltip {
  position: relative;
}
.hover-tooltip .tooltip {
  position: absolute;
  white-space: nowrap;
  padding: 4px 12px;
  border-radius: 2px;
  bottom: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  visibility: hidden;
  color: var(--white);
  background-color: var(--black);
  transition: transform 0.3s ease 0.1s, opacity 0.3s ease 0.1s;
  z-index: 5;
  font-size: 12px;
  line-height: 22px;
  font-weight: 400;
  border-radius: 8px;
  text-align: center;
  font-family: var(--font-main);
  display: none;
}
.hover-tooltip .tooltip::before {
  content: "";
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  top: 26px;
  position: absolute;
  background: var(--black);
  width: 9px;
  height: 9px;
  z-index: -1;
}
@media (min-width: 1200px) {
  .hover-tooltip .tooltip {
    font-size: 16px;
    line-height: 22px;
    display: block;
  }
}
.hover-tooltip .tooltip.bg-primary::before {
  background: var(--primary);
}
.hover-tooltip:hover .tooltip {
  opacity: 1;
  visibility: visible;
}
.hover-tooltip.tooltip-bot .tooltip {
  top: calc(100% + 10px);
  bottom: unset;
}
.hover-tooltip.tooltip-bot .tooltip::before {
  top: -4px;
}
.hover-tooltip.tooltip-left .tooltip {
  right: 100%;
  bottom: auto;
  transform: translateX(0px);
  left: unset;
}
.hover-tooltip.tooltip-left .tooltip::before {
  top: 50%;
  left: auto;
  transform: translateY(-50%) rotate(45deg);
  right: -4px;
}
.hover-tooltip.tooltip-left:hover .tooltip {
  transform: translateX(-12px);
}
.hover-tooltip.tooltip-right .tooltip {
  left: 100%;
  bottom: auto;
  transform: translateX(0px);
}
.hover-tooltip.tooltip-right .tooltip::before {
  top: 50%;
  right: auto;
  transform: translateY(-50%) rotate(45deg);
  left: -4px;
}
.hover-tooltip.tooltip-right:hover .tooltip {
  transform: translateX(8px);
}

.hover-overlay {
  position: relative;
}
.hover-overlay::before {
  position: absolute;
  z-index: 2;
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.1);
  top: 0;
  left: 0;
  transition: 0.4s ease 0.1s;
  opacity: 0;
  visibility: hidden;
}
.hover-overlay:hover::before {
  opacity: 1;
  visibility: visible;
}

.hover-cursor-img .hover-image {
  display: none;
}
@media (min-width: 1200px) {
  .hover-cursor-img {
    position: relative;
  }
  .hover-cursor-img .hover-image {
    position: fixed;
    display: block;
    transform: scale(0);
    pointer-events: none;
    opacity: 0;
    transition: transform 0.3s ease, opacity 0.3s ease;
    z-index: 1000;
  }
  .hover-cursor-img .hover-image img {
    border-radius: 50%;
    max-width: 150px;
    box-shadow: 0px 10px 25px 0px rgba(43, 52, 74, 0.1215686275);
  }
}

/* ---------------------------------------------------------
    * Name: Davies - Personal Portfolio HTML Template
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com 

	* Abstracts variable

    * Core CSS

    * Components
        * Blog
        * Layout
        * Header
        * Accordion
        * Animation
        * Box Icon
        * Button
        * Carousel
        * Form
        * Hover
        * Nice Select
        * Popup
        * Section
        * Slider
        * Tabs
        * Testimonial
        * Widget
        * Footer

 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
.box-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
}

.tf-social-icon {
  display: inline-flex;
  gap: 16px;
  --facebook-cl: rgb(96, 96, 96);
  --x-cl: rgb(85, 85, 85);
  --instagram-cl: linear-gradient(#d9d9d9, #8c8c8c, #4d4d4d);
  --threads-cl: rgb(140, 140, 140);
  --youtube-cl: rgb(112, 112, 112);
  --tiktok-cl: linear-gradient(#d9d9d9, #000000, #7a7a7a);
  --tiktok-cl2: rgb(122, 122, 122);
  --pinterest-cl: rgb(92, 92, 92);
  --tumblr-cl: rgb(70, 70, 70);
  --vimeo-cl: rgb(160, 160, 160);
  --snapchat-cl: rgb(210, 210, 210);
  --whatsapp-cl: rgb(150, 150, 150);
  --linked_in-cl: rgb(130, 130, 130);
  --wechat-cl: rgb(145, 145, 145);
  --reddit-cl: rgb(120, 120, 120);
  --line-cl: rgb(110, 110, 110);
  --spotify-cl: rgb(100, 100, 100);
}
.tf-social-icon a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid;
  border-color: var(--line);
  position: relative;
}
.tf-social-icon a .icon {
  display: inline-flex;
  position: relative;
  z-index: 1;
  font-size: 16px;
}
.tf-social-icon a::after {
  content: "";
  border-radius: 50%;
  position: absolute;
  background: transparent;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  z-index: 0;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
}
.tf-social-icon.style-2 a {
  border-color: var(--line-3);
  color: var(--white);
}
.tf-social-icon .social-facebook::after {
  background: var(--facebook-cl);
}
.tf-social-icon .social-facebook:hover {
  color: var(--white);
}
.tf-social-icon .social-facebook:hover::after {
  opacity: 1;
  visibility: visible;
}
.tf-social-icon .social-instagram::after {
  background: var(--instagram-cl);
}
.tf-social-icon .social-instagram:hover {
  color: var(--white);
}
.tf-social-icon .social-instagram:hover::after {
  opacity: 1;
  visibility: visible;
}
.tf-social-icon .social-x::after {
  background: var(--x-cl);
}
.tf-social-icon .social-x:hover {
  color: var(--white);
}
.tf-social-icon .social-x:hover::after {
  opacity: 1;
  visibility: visible;
}
.tf-social-icon .social-snapchat::after {
  background: var(--snapchat-cl);
}
.tf-social-icon .social-snapchat:hover {
  color: var(--white);
}
.tf-social-icon .social-snapchat:hover::after {
  opacity: 1;
  visibility: visible;
}
.tf-social-icon .social-pinterest::after {
  background: var(--pinterest-cl);
}
.tf-social-icon .social-pinterest:hover {
  color: var(--white);
}
.tf-social-icon .social-pinterest:hover::after {
  opacity: 1;
  visibility: visible;
}
.tf-social-icon .social-linkin::after {
  background: var(--linked_in-cl);
}
.tf-social-icon .social-linkin:hover {
  color: var(--white);
}
.tf-social-icon .social-linkin:hover::after {
  opacity: 1;
  visibility: visible;
}
.tf-social-icon .social-tiktok::after {
  background: var(--tiktok-cl);
}
.tf-social-icon .social-tiktok:hover {
  color: var(--white);
}
.tf-social-icon .social-tiktok:hover::after {
  opacity: 1;
  visibility: visible;
}
.tf-social-icon.style-white a {
  color: var(--white);
  border-color: var(--line);
}

.tf-social-icon-2 {
  display: flex;
  align-items: center;
  gap: 12px;
}
.tf-social-icon-2 a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--line);
  color: var(--primary);
}
.tf-social-icon-2 a:hover {
  background-color: var(--line);
}
.tf-social-icon-2 .icon {
  font-size: 24px;
}

.tf-link-icon {
  display: flex;
  align-items: center;
  gap: 4px;
}

/* ---------------------------------------------------------
    * Name: Davies - Personal Portfolio HTML Template
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com 

	* Abstracts variable

    * Core CSS

    * Components
        * Blog
        * Layout
        * Header
        * Accordion
        * Animation
        * Box Icon
        * Button
        * Carousel
        * Form
        * Hover
        * Nice Select
        * Popup
        * Section
        * Slider
        * Tabs
        * Testimonial
        * Widget
        * Footer

 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
/*-- CSS Boostrap --*/
.offcanvas {
  border: none !important;
  color: var(--white);
  z-index: 3000;
  background-color: rgba(0, 0, 0, 0.5607843137);
}
.offcanvas .icon-close-popup {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
  background: transparent;
  font-size: 16px;
  padding: 10px;
  border: none;
  color: var(--black);
  z-index: 10;
}
.offcanvas .icon-close-popup:hover {
  color: var(--primary);
}
.offcanvas .icon-close-popup.type-right {
  top: 16px;
  right: 16px;
}
.offcanvas .offcanvas-content {
  height: 100%;
}
.offcanvas.offcanvas-center {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) !important;
  opacity: 0;
  visibility: hidden;
  max-width: calc(100vw - 30px);
}
.offcanvas.offcanvas-center.show {
  visibility: visible;
  opacity: 1;
}

.offcanvas-backdrop {
  z-index: 2999;
  cursor: url(../images/cursor-close.svg), auto;
}

.overflow-x-auto::-webkit-scrollbar,
.overflow-y-auto::-webkit-scrollbar {
  width: 0px;
}

.modal {
  cursor: url(../images/cursor-close.svg), auto;
}
.modal .icon-close-popup {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
  background: transparent;
  font-size: 16px;
  padding: 16px;
  border: none;
  color: var(--black);
  z-index: 10;
  position: absolute;
  top: 0px;
  right: 0px;
}
.modal .icon-close-popup:hover {
  color: var(--primary);
}
@media (min-width: 576px) {
  .modal .icon-close-popup {
    top: 10px;
    right: 10px;
  }
}
.modal .modal-content {
  border: 0;
}
.modal .modal-body {
  padding: 0;
}
.modal.fullRight .modal-dialog {
  transform: translate(100%, 0);
  min-width: 100%;
  height: 100%;
  margin: 0;
  transition: transform 1s ease-out;
}
.modal.fullRight .modal-dialog .modal-content {
  border-radius: 0;
  border: 0;
  margin: auto;
  overflow: hidden;
  position: absolute;
  right: 0;
  bottom: 0;
  top: 0;
  padding: 0;
}
.modal.fullRight .modal-dialog .modal-content .modal-body {
  overflow: auto;
  padding: 0;
  padding-bottom: 30px;
}
.modal.fullRight.show .modal-dialog {
  transform: none;
  transition: transform 0.4s ease-out;
}
.modal.fullLeft .modal-dialog {
  transform: translate(-100%, 0) !important;
  min-width: 100%;
  height: 100%;
  margin: 0;
  transition: all 0.3s !important;
}
.modal.fullLeft .modal-content {
  border-radius: 0;
  border: 0;
  margin: auto;
  overflow: hidden;
  position: absolute;
  left: 0;
  bottom: 0;
  top: 0;
  padding: 0;
}
.modal.fullLeft .modal-body {
  overflow: auto;
  padding: 0;
  padding-bottom: 30px;
}
.modal.fullLeft.show .modal-dialog {
  transform: translate(0, 0) !important;
}
.modal.fullBottom .modal-dialog {
  transform: translate(0, 100%);
  min-width: 100%;
  height: 100%;
  max-height: unset;
  margin: 0;
  transition: transform 0.3s linear !important;
}
.modal.fullBottom .modal-content {
  border-radius: 0;
  border: 0;
  margin: auto;
  overflow: hidden;
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 0;
  max-height: max-content;
}
.modal.fullBottom .modal-body {
  overflow: auto;
  padding: 0;
  padding-bottom: 30px;
}
.modal.fullBottom.show .modal-dialog {
  transform: translate(0, 0);
}
.modal.modalCentered .modal-dialog {
  margin: 15px auto;
  padding-left: 15px;
  padding-right: 15px;
  transform: translate(0, 0) !important;
}
.modal.fade:not(.show) {
  opacity: 0;
}
.modal .modal-content {
  cursor: default !important;
  border-radius: 0px;
}

.modal-heading {
  position: relative;
  margin-bottom: 30px;
}
.modal-heading .icon-close-popup {
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  left: unset;
  font-size: 24px;
}
@media (min-width: 992px) {
  .modal-heading {
    margin-bottom: 40px;
  }
}

.canvas-wrapper {
  padding: 0;
  isolation: isolate;
  height: 100%;
  width: 100%;
  max-height: none;
  display: grid;
  grid-auto-rows: auto minmax(0, 1fr) auto;
  align-content: start;
}

.canvas-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px;
  position: relative;
  text-transform: capitalize;
}
.canvas-header .icon-close-popup {
  height: 32px;
  width: 32px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
@media (min-width: 1200px) {
  .canvas-header {
    padding: 32px;
  }
}

.canvas-body {
  background-color: var(--white);
  padding: 10px 24px;
  overscroll-behavior-y: contain;
  overflow-y: auto;
  flex: 1;
}
.canvas-body::-webkit-scrollbar {
  width: 5px;
}
.canvas-body::-webkit-scrollbar-track {
  background-color: var(--white);
}
.canvas-body::-webkit-scrollbar-thumb {
  background: var(--primary);
  border-radius: 4px;
}
@media (min-width: 1200px) {
  .canvas-body {
    padding: 12px 32px 15px;
  }
}

.canvas-footer,
.canvas-bottom {
  padding: 16px 24px 24px;
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.1);
}

/*-- Css --*/
.offcanvas-color .offcanvas-content {
  display: flex;
  flex-direction: column;
}
.offcanvas-color .offcanvas-content,
.offcanvas-color .canvas-body {
  background-color: #191919;
}
.offcanvas-color .icon-close-popup {
  color: var(--white);
  aspect-ratio: 1;
  position: absolute;
  top: 5px;
  right: 5px;
  font-size: 20px;
}
.offcanvas-color .title {
  margin-bottom: 20px;
}
@media (min-width: 1200px) {
  .offcanvas-color {
    width: 1043px !important;
  }
  .offcanvas-color .offcanvas-content {
    padding: 134px;
  }
}
@media (max-width: 575px) {
  .offcanvas-color {
    max-width: 325px;
  }
}

/* ---------------------------------------------------------
    * Name: Davies - Personal Portfolio HTML Template
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com 

	* Abstracts variable

    * Core CSS

    * Components
        * Blog
        * Layout
        * Header
        * Accordion
        * Animation
        * Box Icon
        * Button
        * Carousel
        * Form
        * Hover
        * Nice Select
        * Popup
        * Section
        * Slider
        * Tabs
        * Testimonial
        * Widget
        * Footer

 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
.flat-animate-tab .tab-content {
  position: relative;
}
.flat-animate-tab .tab-pane {
  display: block;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  right: 0;
  -webkit-transform: translateY(30px);
  -ms-transform: translateY(30px);
  transform: translateY(30px);
  transition-timing-function: ease-in;
  transition-duration: 0.2s;
}
.flat-animate-tab .tab-pane.active {
  pointer-events: auto;
  opacity: 1;
  visibility: visible;
  position: relative;
  z-index: 2;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-delay: 0.3s;
}

.pricing-tab_btn {
  display: flex;
  align-items: center;
  justify-content: center;
}
.pricing-tab_btn li {
  width: 100%;
  white-space: nowrap;
}
.pricing-tab_btn .tf-btn-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 11px 20px;
  border: 1px solid var(--white-16);
  border-radius: 0;
  color: var(--white-64);
  text-align: center;
  font-size: 13px;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 400;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.pricing-tab_btn .tf-btn-tab.active {
  color: var(--black);
  background: var(--white);
  border-color: var(--white);
}
.pricing-tab_btn .dot-active {
  display: none;
}
@media (min-width: 576px) {
  .pricing-tab_btn {
    gap: 12px;
  }
  .pricing-tab_btn li {
    max-width: 206px;
    width: 100%;
  }
}

/* ---------------------------------------------------------
    * Name: Davies - Personal Portfolio HTML Template
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com 

	* Abstracts variable

    * Core CSS

    * Components
        * Blog
        * Layout
        * Header
        * Accordion
        * Animation
        * Box Icon
        * Button
        * Carousel
        * Form
        * Hover
        * Nice Select
        * Popup
        * Section
        * Slider
        * Tabs
        * Testimonial
        * Widget
        * Footer

 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
form {
  position: relative;
  z-index: 30;
}
form textarea,
form input[type=text],
form input[type=password],
form input[type=datetime],
form input[type=datetime-local],
form input[type=date],
form input[type=month],
form input[type=time],
form input[type=week],
form input[type=number],
form input[type=email],
form input[type=url],
form input[type=search],
form input[type=tel],
form input[type=color] {
  outline: 0;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  width: 100%;
  padding: 16px 12px 3px 0px;
  border: 0;
  background-color: transparent;
  border-bottom: 1px solid var(--white-16);
  color: var(--white);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
form textarea::placeholder,
form input[type=text]::placeholder,
form input[type=password]::placeholder,
form input[type=datetime]::placeholder,
form input[type=datetime-local]::placeholder,
form input[type=date]::placeholder,
form input[type=month]::placeholder,
form input[type=time]::placeholder,
form input[type=week]::placeholder,
form input[type=number]::placeholder,
form input[type=email]::placeholder,
form input[type=url]::placeholder,
form input[type=search]::placeholder,
form input[type=tel]::placeholder,
form input[type=color]::placeholder {
  color: var(--text-2);
}
form textarea:focus,
form input[type=text]:focus,
form input[type=password]:focus,
form input[type=datetime]:focus,
form input[type=datetime-local]:focus,
form input[type=date]:focus,
form input[type=month]:focus,
form input[type=time]:focus,
form input[type=week]:focus,
form input[type=number]:focus,
form input[type=email]:focus,
form input[type=url]:focus,
form input[type=search]:focus,
form input[type=tel]:focus,
form input[type=color]:focus {
  border-color: var(--primary);
}
form button,
form input[type=button],
form input[type=reset],
form input[type=submit] {
  background-color: transparent;
  overflow: hidden;
  padding: 0;
}
form textarea {
  height: 150px;
  border-radius: 32px;
  resize: none;
}
form .form-content {
  display: grid;
  gap: 20px;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

select {
  outline: 0;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  width: 100%;
  padding: 0;
  padding-bottom: 16px;
  padding-left: 16px;
  border: 0;
  background-color: transparent;
  border-bottom: 1px solid var(--white-16);
  color: var(--white-64);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-size: 18px;
  letter-spacing: -0.18px;
}
select option {
  background-color: var(--black);
  padding-left: 10px;
}

.password-wrapper {
  position: relative;
}
.password-wrapper .toggle-pass {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
}

.tf-check {
  position: relative;
  background: transparent;
  cursor: pointer;
  outline: 0;
  -webkit-appearance: none;
  width: 24px;
  height: 24px;
  min-width: 24px;
  border: 1px solid var(--line);
  padding: 0;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: var(--white);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.tf-check:checked {
  border-color: var(--black);
  background-color: var(--black);
}
.tf-check:checked::before {
  opacity: 1;
  transform: scale(1);
}
.tf-check::before {
  font-weight: 500;
  font-family: "icomoon";
  content: "\e930";
  position: absolute;
  color: var(--white);
  opacity: 0;
  font-size: 16px;
  transform: scale(0);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.tf-check.style-white {
  background-color: var(--black);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.checkbox-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
}
.checkbox-wrap input {
  padding: 0;
}
.checkbox-wrap label {
  cursor: pointer;
}

.tf-field {
  position: relative;
}
.tf-field .tf-lable {
  cursor: text;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-size: 14px;
  pointer-events: none;
  color: var(--white-64);
}
@media (min-width: 576px) {
  .tf-field .tf-input:not(:placeholder-shown) ~ .tf-lable, .tf-field .tf-input:focus ~ .tf-lable {
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 0;
  }
  .tf-field .tf-input::placeholder {
    color: transparent;
  }
  .tf-field .tf-lable {
    position: absolute;
    left: 0;
    top: 0;
    font-size: 18px;
    line-height: 28px;
  }
}
@media (max-width: 575px) {
  .tf-field {
    display: grid;
  }
  .tf-field .tf-lable {
    order: -1;
  }
  .tf-field .tf-input {
    padding-top: 0;
  }
}

.form-cta .form-content {
  gap: 40px;
  margin-bottom: 88px;
}
.form-cta .form-content input {
  letter-spacing: -0.01em;
}
.form-cta .tf-grid-layout {
  gap: 40px;
}
.form-cta .form-action {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
}
@media (min-width: 576px) {
  .form-cta .form-content input {
    font-size: 18px;
    line-height: 22px;
  }
  .form-cta .nice-select .current {
    color: var(--white-64);
    font-size: 18px;
    line-height: 22px;
  }
}
@media (max-width: 1199px) {
  .form-cta .form-content {
    gap: 32px;
    margin-bottom: 40px;
  }
  .form-cta .tf-grid-layout {
    gap: 32px;
  }
}
@media (max-width: 991px) {
  .form-cta .form-content {
    gap: 24px;
  }
  .form-cta .tf-grid-layout {
    gap: 24px;
  }
}
@media (max-width: 575px) {
  .form-cta .nice-select {
    padding-bottom: 3px;
  }
}

.form-search {
  position: relative;
}
.form-search fieldset input {
  padding-right: 30px;
}
.form-search button {
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%) rotateY(180deg);
}

/* ---------------------------------------------------------
    * Name: Davies - Personal Portfolio HTML Template
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com 

	* Abstracts variable

    * Core CSS

    * Components
        * Blog
        * Layout
        * Header
        * Accordion
        * Animation
        * Box Icon
        * Button
        * Carousel
        * Form
        * Hover
        * Nice Select
        * Popup
        * Section
        * Slider
        * Tabs
        * Testimonial
        * Widget
        * Footer

 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
.tf-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 44px;
  padding: 11px 20px;
  position: relative;
  color: var(--white);
  border-radius: 0;
  font-size: var(--label);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 1px solid var(--white-16);
  position: relative;
  overflow: hidden;
}
.tf-btn::before {
  content: "";
  position: absolute;
  left: -1px;
  right: -1px;
  bottom: -1px;
  top: calc(100% + 1px);
  height: 100%;
  border-radius: 0;
  background-color: var(--white);
  z-index: -1;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.tf-btn:hover {
  color: var(--black);
}
.tf-btn:hover::before {
  top: 0px;
}
.tf-btn.style-2 {
  border-radius: 0;
}
.tf-btn.style-2::before {
  border-radius: 0;
}
.tf-btn.style-fill {
  background-color: var(--primary);
  border-color: var(--primary);
  color: var(--black);
}
.tf-btn.style-fill::before {
  content: none;
}
.tf-btn.style-fill-white {
  background-color: var(--white);
  border-color: var(--white);
  color: var(--black);
}
.tf-btn.style-fill-white::before {
  content: none;
}

.animate-btn {
  position: relative;
  overflow: hidden;
}
.animate-btn:hover::after {
  animation: shine-reverse 1s forwards;
}

.animate-btn:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(120deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0) 70%);
  top: 0;
  left: -100%;
  opacity: 0.6;
}

button.animate-btn::after,
.animate-btn.tf-btn::after {
  background-image: linear-gradient(120deg, rgba(0, 0, 0, 0) 20%, rgba(255, 255, 255, 0.4), rgba(0, 0, 0, 0) 70%);
}

.animate-btn.animate-dark::after {
  background-image: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.25), transparent);
}

.tf-loading {
  font-size: 14px;
  line-height: 20px;
  width: auto;
  height: 42px;
  min-width: 118px;
  padding: 10px;
}
.tf-loading.loadmore .spinner-circle {
  display: none;
}
.tf-loading.loadmore.loading .spinner-circle {
  display: block;
}
.tf-loading.loadmore.loading .text {
  display: none;
}
.tf-loading.loadmore:hover .spinner-child::before {
  background-color: var(--white);
}
.tf-loading.loadmore .spinner-child::before {
  background-color: var(--main);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.spinner-circle {
  width: 24px;
  height: 24px;
  position: relative;
}
.spinner-circle .spinner-child {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.spinner-circle .spinner-child::before {
  content: "";
  display: block;
  margin: 0 auto;
  width: 20%;
  height: 20%;
  background-color: var(--white);
  border-radius: 100%;
  -webkit-animation: spinner-circleBounceDelay 1s infinite ease-in-out both;
  animation: spinner-circleBounceDelay 1s infinite ease-in-out both;
}
.spinner-circle .spinner-circle2 {
  -webkit-transform: rotate(40deg);
  -ms-transform: rotate(40deg);
  transform: rotate(40deg);
}
.spinner-circle .spinner-circle2::before {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}
.spinner-circle .spinner-circle3 {
  -webkit-transform: rotate(80deg);
  -ms-transform: rotate(80deg);
  transform: rotate(80deg);
}
.spinner-circle .spinner-circle3::before {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}
.spinner-circle .spinner-circle4 {
  -webkit-transform: rotate(120deg);
  -ms-transform: rotate(120deg);
  transform: rotate(120deg);
}
.spinner-circle .spinner-circle4::before {
  -webkit-animation-delay: -0.7s;
  animation-delay: -0.7s;
}
.spinner-circle .spinner-circle5 {
  -webkit-transform: rotate(160deg);
  -ms-transform: rotate(160deg);
  transform: rotate(160deg);
}
.spinner-circle .spinner-circle5::before {
  -webkit-animation-delay: -0.6s;
  animation-delay: -0.6s;
}
.spinner-circle .spinner-circle6 {
  -webkit-transform: rotate(200deg);
  -ms-transform: rotate(200deg);
  transform: rotate(200deg);
}
.spinner-circle .spinner-circle6::before {
  -webkit-animation-delay: -0.5s;
  animation-delay: -0.5s;
}
.spinner-circle .spinner-circle7 {
  -webkit-transform: rotate(240deg);
  -ms-transform: rotate(240deg);
  transform: rotate(240deg);
}
.spinner-circle .spinner-circle7::before {
  -webkit-animation-delay: -0.4s;
  animation-delay: -0.4s;
}
.spinner-circle .spinner-circle8 {
  -webkit-transform: rotate(280deg);
  -ms-transform: rotate(280deg);
  transform: rotate(280deg);
}
.spinner-circle .spinner-circle8::before {
  -webkit-animation-delay: -0.3s;
  animation-delay: -0.3s;
}
.spinner-circle .spinner-circle9 {
  -webkit-transform: rotate(320deg);
  -ms-transform: rotate(320deg);
  transform: rotate(320deg);
}
.spinner-circle .spinner-circle9::before {
  -webkit-animation-delay: -0.2s;
  animation-delay: -0.2s;
}

.tf-btn-line {
  font-weight: 600;
  color: var(--primary);
  position: relative;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: linear-gradient(to right, var(--primary-2) 50%, var(--primary) 50%);
  background-size: 200% 100%;
  background-position: right;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: background-position 0.3s linear;
  cursor: pointer;
  padding-bottom: 4px;
}
.tf-btn-line::after {
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  bottom: 0px;
  height: 2px;
  background-color: var(--primary);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.tf-btn-line::before {
  position: absolute;
  content: "";
  left: 0;
  width: 0;
  bottom: 0px;
  height: 2px;
  background-color: var(--primary-2);
  transition: width 0.3s linear;
  z-index: 1;
}
.tf-btn-line.style-white {
  color: var(--white);
  background: linear-gradient(to right, var(--primary-2) 50%, var(--white) 50%);
  background-size: 200% 100%;
  background-position: right;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: background-position 0.3s linear;
}
.tf-btn-line.style-white::after {
  background-color: var(--white);
}
.tf-btn-line:hover {
  background-position: left;
}
.tf-btn-line:hover::before {
  width: 100%;
}
.tf-btn-line.active {
  background-position: left;
}
.tf-btn-line.active::before {
  width: 100%;
}

.tf-btn-2 {
  width: 80px;
  height: 80px;
  font-size: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.56), rgba(0, 0, 0, 0.56)), linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0) 100%), radial-gradient(65.62% 65.62% at 50% 50%, rgba(0, 0, 0, 0.32) 0%, rgba(0, 0, 0, 0) 100%);
  box-shadow: 0px 0.5px 0.5px 0px rgba(255, 255, 255, 0.3215686275) inset, 0px 1px 0.5px 0px rgba(255, 255, 255, 0.1215686275) inset, 0px 4px 16px 0px rgba(255, 255, 255, 0.1607843137) inset, 0px -12px 16px 0px rgba(255, 255, 255, 0.0588235294) inset, 0px 0px 0px 1px rgba(0, 0, 0, 0.5607843137), 0px 3px 6px 0px rgba(0, 0, 0, 0.1882352941), 0px 10px 10px 0px rgba(0, 0, 0, 0.0588235294), 0px 12px 16px 0px rgba(0, 0, 0, 0.0588235294), 0px 23px 14px 0px rgba(0, 0, 0, 0.0588235294);
  backdrop-filter: blur(12px);
}
@media (min-width: 1200px) {
  .tf-btn-2 {
    width: 120px;
    height: 120px;
    font-size: 48px;
  }
}

/* ---------------------------------------------------------
    * Name: Davies - Personal Portfolio HTML Template
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com 

	* Abstracts variable

    * Core CSS

    * Components
        * Blog
        * Layout
        * Header
        * Accordion
        * Animation
        * Box Icon
        * Button
        * Carousel
        * Form
        * Hover
        * Nice Select
        * Popup
        * Section
        * Slider
        * Tabs
        * Testimonial
        * Widget
        * Footer

 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
.tf-list {
  display: flex;
  gap: 4px;
}
.tf-list.vertical {
  display: grid;
}

.s-header {
  padding-bottom: 56px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}
@media (max-width: 1439px) {
  .s-header {
    padding-bottom: 32px;
  }
}

.section-hero-v1 {
  padding-top: 120px;
  padding-bottom: 60px;
  min-height: 100vh;
  min-height: 100svh;
  position: relative;
  display: flex;
  align-items: end;
}
.section-hero-v1 .davies-large {
  font-size: clamp(80px, 16vw, 200px);
  line-height: clamp(96px, 14vw, 176px);
  font-weight: 550;
  letter-spacing: -0.06em;
  line-height: 0;
}
.section-hero-v1 .davies-large img {
  width: min(100%, clamp(96px, 13vw, 180px));
  height: auto;
  display: block;
}
.section-hero-v1 .hero-tagline {
  margin-top: 22px;
  margin-bottom: 0;
  letter-spacing: 0.02em;
  font-size: 24px;
  line-height: 30px;
  font-weight: 400;
}
.section-hero-v1 .overlay {
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  z-index: 0;
  height: 200px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 100%);
}
.section-hero-v1 .bg-video {
  position: absolute;
  inset: 0;
  z-index: -1;
}
.section-hero-v1 .bg-video video {
  filter: none;
}
.section-hero-v1 .bg-video .video-overlay {
  display: none;
}
.section-hero-v1 .bg-video .video-overlay-2 {
  position: absolute;
  inset: 0;
  background-color: #000000;
  opacity: 0.4;
}
.section-hero-v1 .content-wrap {
  width: 100%;
  position: relative;
  z-index: 1;
}
.section-hero-v1 .content-wrap .container {
  height: 100%;
}
.section-hero-v1 .col-left .tf-list {
  margin-bottom: 273px;
}
.section-hero-v1 .col-right .top {
  margin-bottom: 303px;
}
.section-hero-v1 .col-right .desc {
  margin-bottom: 40px;
}
.section-hero-v1 .hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
}
.section-hero-v1 .col-left,
.section-hero-v1 .col-right {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
@media (min-width: 1200px) {
  .section-hero-v1 .col-right .top {
    padding-top: 24px;
  }
}
@media (max-width: 1599px) {
  .section-hero-v1 .col-left .tf-list {
    margin-bottom: 150px;
  }
  .section-hero-v1 .col-right .top {
    margin-bottom: 150px;
  }
  .section-hero-v1 .col-right .desc {
    margin-bottom: 24px;
  }
}
@media (max-width: 767px) {
  .section-hero-v1 .col-left {
    margin-bottom: 50px;
    height: unset;
  }
  .section-hero-v1 .col-left .tf-list {
    margin-bottom: 30px;
  }
  .section-hero-v1 .col-right .top {
    margin-bottom: 30px;
  }
  .section-hero-v1 .hero-tagline {
    margin-top: 18px;
  }
}
@media (max-width: 575px) {
  .section-hero-v1 {
    min-height: 100vh;
    min-height: 100svh;
  }
}
body.home-video-intro-experience .tf-header,
body.home-video-intro-experience .section-hero-v1 .content-wrap {
  transition: opacity 0.8s ease, visibility 0.8s ease, transform 0.8s ease;
}
body.home-video-intro-experience .section-hero-v1 .overlay,
body.home-video-intro-experience .section-hero-v1 .bg-video .video-overlay,
body.home-video-intro-experience .section-hero-v1 .bg-video .video-overlay-2 {
  transition: opacity 0.8s ease, visibility 0.8s ease;
}
html.home-video-intro-active,
body.home-video-intro-active {
  overflow: hidden;
}
body.home-video-intro-active .tf-header,
body.home-video-intro-active .section-hero-v1 .content-wrap {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(0, 24px, 0);
}
body.home-video-intro-active .section-hero-v1 .overlay,
body.home-video-intro-active .section-hero-v1 .bg-video .video-overlay,
body.home-video-intro-active .section-hero-v1 .bg-video .video-overlay-2 {
  opacity: 0;
  visibility: hidden;
}
body.home-video-intro-active .section-hero-v1 .bg-video video {
  filter: none;
}

@media (min-width: 1200px) {
  body.home-page-body .section-selected-work,
  body.home-page-body .section-service-2,
  body.home-page-body .section-process,
  body.home-page-body .section-brand,
  body.home-page-body .section-award,
  body.home-page-body .section-testimonial,
  body.home-page-body .section-cta {
    min-height: 100vh;
    min-height: 100svh;
  }
  body.home-page-body .section-process,
  body.home-page-body .section-brand,
  body.home-page-body .section-award,
  body.home-page-body .section-testimonial,
  body.home-page-body .section-cta {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  body.home-page-body .section-selected-work .content-wrap-2 {
    padding-bottom: 0;
  }
  body.home-page-body .section-selected-work .content-wrap-2::before {
    display: none;
  }
}

@media (min-width: 1200px) {
  body.story-page-body .section-story-atlas,
  body.story-page-body .section-story-ledger,
  body.story-page-body .section-story-values,
  body.story-page-body .section-story-invest,
  body.story-page-body .section-villa23-overview,
  body.story-page-body .section-villa23-gallery,
  body.story-page-body .section-villa23-amenities,
  body.story-page-body .section-project-location,
  body.story-page-body .section-project-plans,
  body.story-page-body .project-cta,
  body.story-page-body .section-contact-routes,
  body.story-page-body .section-contact-locations,
  body.story-page-body .section-contact-inquiry,
  body.project-page-body .section-story-atlas,
  body.project-page-body .section-story-ledger,
  body.project-page-body .section-story-values,
  body.project-page-body .section-story-invest,
  body.project-page-body .section-villa23-overview,
  body.project-page-body .section-villa23-gallery,
  body.project-page-body .section-villa23-amenities,
  body.project-page-body .section-project-location,
  body.project-page-body .section-project-plans,
  body.project-page-body .project-cta,
  body.project-page-body .section-contact-routes,
  body.project-page-body .section-contact-locations,
  body.project-page-body .section-contact-inquiry,
  body.contact-page-body .section-story-atlas,
  body.contact-page-body .section-story-ledger,
  body.contact-page-body .section-story-values,
  body.contact-page-body .section-story-invest,
  body.contact-page-body .section-villa23-overview,
  body.contact-page-body .section-villa23-gallery,
  body.contact-page-body .section-villa23-amenities,
  body.contact-page-body .section-project-location,
  body.contact-page-body .section-project-plans,
  body.contact-page-body .project-cta,
  body.contact-page-body .section-contact-routes,
  body.contact-page-body .section-contact-locations,
  body.contact-page-body .section-contact-inquiry {
    min-height: 100vh;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}

.section-hero-v2 {
  padding-top: 100px;
  position: relative;
}

/* Site section mirror backgrounds:
   Tune blur strength, image scale, overlay opacity, and transition timing here. */
.home-mirror-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-color: var(--black);
}
.home-mirror-section > :not(.home-section-mirror-bg):not(.bg-image-list):not(.bg-img):not(.wrap-flip-image) {
  position: relative;
  z-index: 1;
}
.home-mirror-section > .wrap-flip-image {
  position: absolute;
  z-index: 1;
}
.home-section-mirror-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  background: var(--black);
}
.home-section-mirror-bg::before,
.home-section-mirror-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
}
.home-section-mirror-bg::before {
  background: rgba(0, 0, 0, 0.74);
}
.home-section-mirror-bg::after {
  background: linear-gradient(118deg, rgba(255, 255, 255, 0.13) 0%, rgba(255, 255, 255, 0.04) 34%, rgba(255, 255, 255, 0) 66%);
  mix-blend-mode: screen;
  opacity: 0.38;
}
.home-section-mirror-bg__item {
  position: absolute;
  inset: -8%;
  opacity: 0;
  transform: scale(1.1);
  filter: blur(26px) saturate(0.88) contrast(1.08) brightness(0.66);
  transition: opacity 700ms cubic-bezier(0.22, 1, 0.36, 1);
}
.home-section-mirror-bg__item.is-active {
  opacity: 1;
}
.home-mirror-section--default .home-section-mirror-bg__item {
  opacity: 1;
  transition: none;
}
.home-section-mirror-bg__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.section-cta.home-mirror-section .home-section-mirror-bg::before,
.tf-footer.home-mirror-section .home-section-mirror-bg::before {
  background: rgba(0, 0, 0, 0.72);
}
.section-cta.home-mirror-section .home-section-mirror-bg::before {
  background: rgba(0, 0, 0, 0.84);
}
.section-cta.home-mirror-section .home-section-mirror-bg::after,
.tf-footer.home-mirror-section .home-section-mirror-bg::after {
  opacity: 0.3;
}
.section-cta.home-mirror-section .home-section-mirror-bg__item,
.tf-footer.home-mirror-section .home-section-mirror-bg__item {
  filter: blur(22px) saturate(0.86) contrast(1.1) brightness(0.74);
}
.tf-footer.home-mirror-section .home-section-mirror-bg::before {
  background: rgba(0, 0, 0, 0.76);
}
.tf-footer.home-mirror-section .home-section-mirror-bg__item {
  filter: blur(24px) saturate(0.86) contrast(1.1) brightness(0.7);
}
.section-selected-work.home-mirror-section .home-section-mirror-bg__item {
  inset: -16%;
  transform: scale(1.18);
  filter: blur(30px) saturate(0.88) contrast(1.08) brightness(0.58);
}
.section-selected-work.home-mirror-section .home-section-mirror-bg__item img {
  object-position: center 58%;
}
.section-selected-work.home-mirror-section .content-wrap-2::before {
  top: -180px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.26) 48%, rgba(0, 0, 0, 0.72) 100%);
  pointer-events: none;
}
.section-service-2:not(.project-amenities-section) .bg-image-list .bg-image {
  opacity: 0;
  transition: opacity 700ms cubic-bezier(0.22, 1, 0.36, 1);
}
.section-service-2:not(.project-amenities-section) .bg-image-list .bg-image:first-child {
  opacity: 1;
}
.section-service-2:not(.project-amenities-section) .bg-image-list .bg-image > img {
  transform: scale(1.12);
  filter: blur(24px) saturate(0.88) contrast(1.08) brightness(0.68);
}
.section-service-2:not(.project-amenities-section) .bg-image-list .bg-image .img-item {
  background: rgba(0, 0, 0, 0.74);
}
@media (max-width: 767px) {
  .home-section-mirror-bg__item {
    inset: -6%;
    filter: blur(18px) saturate(0.88) contrast(1.06) brightness(0.64);
  }
}

body.home-page-body .section-hero-statement,
body.home-page-body .section-brand {
  background: #000000;
}

body.home-page-body .experience-center-section,
body.home-page-body .section-testimonial {
  background: #141414;
}

body.home-page-body .section-hero-statement > .home-section-mirror-bg,
body.home-page-body .section-brand > .home-section-mirror-bg,
body.home-page-body .section-testimonial > .home-section-mirror-bg {
  display: none !important;
}

body.home-page-body .experience-center-section::before,
body.home-page-body .experience-center-section::after,
body.home-page-body .experience-center-section .experience-center-overlay {
  display: none;
}

.section-hero-v2 .image-wrap {
  display: flex;
  align-items: center;
  flex-direction: column;
  position: relative;
  margin-bottom: 60px;
}
.section-hero-v2 .image-wrap .img-item {
  overflow: hidden;
  display: flex;
  z-index: 1;
}
.section-hero-v2 .image-wrap .image-child {
  opacity: 0.32;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
.section-hero-v2 .image-wrap .image-child img {
  width: 100%;
  object-fit: cover;
}
.section-hero-v2 .img-item-2 {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 0;
}
.section-hero-v2 .img-item-2 img {
  object-fit: cover;
}
.section-hero-v2 .img-item-2::after {
  display: none;
  content: "";
  position: absolute;
  background-color: var(--primary);
  bottom: 0;
  right: 0;
  width: clamp(32px, 10.8vw, 140px);
  height: clamp(7px, 2.4vw, 31px);
}
.section-hero-v2 .overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.7215686275);
  z-index: -1;
}
.section-hero-v2 .bg-video {
  position: absolute;
  inset: 0;
  z-index: -2;
}
.section-hero-v2 .bottom {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 24px 32px;
  flex-wrap: wrap;
}
.section-hero-v2 .image {
  margin-bottom: 60px;
}
.section-hero-v2 .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.section-hero-v2 .tf-list {
  flex-wrap: wrap;
  gap: 12px 24px;
}
.section-hero-v2 .img-item-2::after {
  display: block;
}
@media (min-width: 1200px) {
  .section-hero-v2 {
    padding-top: 71px;
  }
  .section-hero-v2 .tf-list {
    gap: 40px;
  }
  .section-hero-v2 .image,
  .section-hero-v2 .image-wrap {
    margin-bottom: 94px;
  }
}
@media (max-width: 575px) {
  .section-hero-v2 .image-wrap .img-item {
    width: 300px;
  }
}
@media (max-width: 425px) {
  .section-hero-v2 .image-wrap .img-item {
    width: 280px;
  }
}

@media (min-width: 1200px) {
  .section-process .swiper-process {
    overflow: visible;
    padding-left: 100px;
  }
  .section-process .swiper-wrapper {
    display: flex;
  }
  .section-process .swiper-wrapper > * {
    flex: 1;
  }
  .section-process .swiper-slide {
    z-index: 1;
  }
  .section-process .swiper-slide:not(:first-child) {
    left: -5%;
  }
  .section-process .swiper-slide:nth-child(2) {
    margin-top: 72px;
    left: -5%;
  }
  .section-process .swiper-slide:nth-child(3) {
    margin-top: 144px;
    left: -10%;
  }
  .section-process .swiper-slide:hover {
    z-index: 2;
  }
  .section-process .wg-process {
    max-width: 509px;
  }
  .section-process .wg-process:hover {
    transform: translateY(-10px);
  }
}
@media (min-width: 1440px) {
  .section-process .process-list {
    padding-right: 23px;
  }
  .section-process .swiper-process {
    padding-left: 0;
  }
  .section-process .swiper-slide {
    min-width: 509px;
  }
  .section-process .swiper-slide:not(:first-child) {
    left: -139px;
  }
  .section-process .swiper-slide:nth-child(2) {
    margin-top: 72px;
    left: -139px;
  }
  .section-process .swiper-slide:nth-child(3) {
    margin-top: 144px;
    left: -278px;
  }
}
@media (max-width: 1199px) {
  .section-process .swiper-slide {
    height: auto;
  }
  .section-process .swiper-slide > * {
    height: 100%;
  }
}

.section-about-me {
  position: relative;
}
.section-about-me .s-img-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
}
.section-about-me .s-img-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.section-about-me .s-img-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4392156863);
  z-index: 1;
}
.section-about-me .col-left {
  position: relative;
  margin-bottom: 50px;
}
.section-about-me .col-left .badget {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  border-radius: 50%;
  box-shadow: 0px 0.25px 0.25px 0px rgba(255, 255, 255, 0.3215686275) inset, 0px 0.75px 0.25px 0px rgba(255, 255, 255, 0.1215686275) inset, 0px 4px 16px 0px rgba(255, 255, 255, 0.1607843137) inset, 0px -12px 16px 0px rgba(255, 255, 255, 0.0588235294) inset, 0px 0px 0px 0.75px rgba(0, 0, 0, 0.5607843137), 0px 3px 6px 0px rgba(0, 0, 0, 0.1882352941), 0px 10px 10px 0px rgba(0, 0, 0, 0.0588235294), 0px 12px 16px 0px rgba(0, 0, 0, 0.0588235294), 0px 23px 14px 0px rgba(0, 0, 0, 0.0588235294);
  backdrop-filter: blur(6px);
  overflow: hidden;
}
.section-about-me .col-left .badget img {
  animation: spin 10s linear infinite;
}
.section-about-me .col-left .signature {
  position: absolute;
  left: 15px;
  right: 15px;
  bottom: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}
.section-about-me .davies-video {
  position: relative;
  display: flex;
}
.section-about-me .davies-video .video {
  background-blend-mode: luminosity;
  max-height: 666px;
  aspect-ratio: 0.8003003003;
  filter: grayscale(100%);
}
.section-about-me .davies-video .overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}
.section-about-me .davies-video .overlay.mark-1 {
  background: linear-gradient(270deg, #000 0%, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0) 80%, #000 100%);
}
.section-about-me .davies-video .overlay.mark-2 {
  background: linear-gradient(180deg, #000 0%, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0) 80%, #000 100%);
}
.section-about-me .col-right .br-line {
  background-color: rgba(255, 255, 255, 0.1607843137);
  display: flex;
  margin-bottom: 40px;
  margin-top: 40px;
}
@media (min-width: 1200px) {
  .section-about-me .col-left .badget {
    transform: translate(50%, -50%);
    right: 0;
  }
  .section-about-me .col-left .signature {
    bottom: 40px;
  }
  .section-about-me .col-right .br-line {
    margin-bottom: 88px;
    margin-top: 88px;
  }
}
@media (max-width: 1199px) {
  .section-about-me .badget {
    max-width: 100px;
  }
}

.experience-list {
  display: grid;
  gap: 16px;
}
.experience-list li {
  letter-spacing: -0.01em;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}
.experience-list li:first-child {
  color: var(--white-64);
}
.experience-list .exp_name {
  flex: 1;
}
.experience-list .exp_year {
  color: var(--white-64);
  min-width: 109px;
  text-align: end;
}

.section-about-me-v2 .davies-video {
  position: relative;
  display: flex;
}
.section-about-me-v2 .davies-video .video {
  background-blend-mode: luminosity;
  min-height: 500px;
  aspect-ratio: 1.7777777778;
  filter: grayscale(100%);
  z-index: 0;
}
.section-about-me-v2 .davies-video .overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}
.section-about-me-v2 .davies-video .overlay.mark {
  background: linear-gradient(270deg, #000 0%, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0) 80%, #000 100%), linear-gradient(180deg, #000 0%, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0) 80%, #000 100%);
}
.section-about-me-v2 .davies-video .overlay.bg-effect {
  background: var(--white);
  mix-blend-mode: color-burn;
}
.section-about-me-v2 .about-main {
  position: relative;
}
.section-about-me-v2 .about-main .content {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.section-about-me-v2 .about-main .top {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 24px;
}
.section-about-me-v2 .about-main .text-color-change {
  max-width: 642px;
}
.section-about-me-v2 .award-main {
  display: flex;
  justify-content: space-between;
  align-items: end;
  flex-wrap: wrap;
  gap: 12px;
}
.section-about-me-v2 .award-main .badget img {
  animation: spin 10s linear infinite;
}
.section-about-me-v2 .award-main .experience-list {
  max-width: 533px;
  width: 100%;
}

.mini-title {
  margin-bottom: 24px;
}
@media (min-width: 1200px) {
  .mini-title {
    margin-bottom: 40px;
  }
}

.section-brand .tf-grid-layout {
  gap: 0;
}
.section-brand .img-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  padding: 20px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0.64;
}
.section-brand .img-brand img {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  transform: scale(1);
}
.section-brand .img-brand:hover {
  opacity: 1;
}
.section-brand .img-brand:hover img {
  transform: scale(1.1);
}
.section-brand .brand-list {
  display: grid;
}
.section-brand .brand-list .img-brand {
  border-bottom: 1px solid var(--white-16);
  border-right: 1px solid var(--white-16);
}
.section-brand .brand-list.type-line-2 .img-brand {
  border-color: #C4C4C4 !important;
}
@media (min-width: 768px) {
  .section-brand .brand-list {
    grid-template-columns: repeat(5, 1fr);
  }
  .section-brand .brand-list .img-brand:nth-child(-n+5) {
    border-top: 1px solid var(--white-16);
  }
  .section-brand .brand-list .img-brand:nth-child(5n+1) {
    border-left: 1px solid var(--white-16);
  }
}
.section-brand {
  /*-- min, between, max --*/
}
@media (min-width: 576px) and (max-width: 767px) {
  .section-brand .brand-list {
    grid-template-columns: repeat(3, 1fr);
  }
  .section-brand .brand-list .img-brand:nth-child(-n+3) {
    border-top: 1px solid var(--white-16);
  }
  .section-brand .brand-list .img-brand:nth-child(3n+1) {
    border-left: 1px solid var(--white-16);
  }
}
@media (max-width: 575px) {
  .section-brand .brand-list {
    grid-template-columns: repeat(2, 1fr);
  }
  .section-brand .brand-list .img-brand:nth-child(-n+2) {
    border-top: 1px solid var(--white-16);
  }
  .section-brand .brand-list .img-brand:nth-child(2n+1) {
    border-left: 1px solid var(--white-16);
  }
}

.section-award {
  position: relative;
  overflow: hidden;
}
.section-award .col-right {
  padding-bottom: 492px;
}
.section-award .award-list {
  display: grid;
  gap: 4px;
}
.section-award .award-list li {
  display: flex;
  align-items: center;
  gap: 8px;
}
.section-award .award-item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--white-32);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.section-award .tf-swiper {
  height: 152px;
}
.section-award .tf-swiper .swiper-slide.swiper-slide-active .award-item {
  color: var(--white);
}
.section-award .tf-swiper.swiper-t2 .award-item {
  color: var(--black-32);
}
.section-award .tf-swiper.swiper-t2 .swiper-slide.swiper-slide-active .award-item {
  color: var(--black);
}
@media (max-width: 767px) {
  .section-award .tf-swiper {
    height: 86px;
  }
}
@media (max-width: 425px) {
  .section-award .col-right {
    padding-bottom: 400px;
  }
}

.section-story-full {
  min-height: clamp(520px, 72vh, 860px);
  display: flex;
  align-items: center;
  padding-top: 56px;
  padding-bottom: 64px;
}
.section-story-full .story-bg,
.section-story-full .story-shade {
  position: absolute;
  inset: 0;
}
.section-story-full .story-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.section-story-full .story-shade {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.58) 52%, rgba(0, 0, 0, 0.82) 100%), linear-gradient(180deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.72) 100%);
}
.section-story-full .container {
  position: relative;
  z-index: 2;
}
.section-story-full .col-right {
  padding-bottom: 0;
  max-width: 980px;
}
.section-story-full .text-color-change {
  line-height: 1.14;
}
@media (max-width: 767px) {
  .section-story-full {
    min-height: auto;
    padding-top: 40px;
    padding-bottom: 48px;
  }
}

.story-page-body .section-story-atlas.flat-spacing {
  padding-top: 72px;
  padding-bottom: 72px;
}
.story-page-body .section-story-atlas .col-right {
  padding-bottom: 0;
}
.story-page-body .story-atlas-focus {
  max-width: 100%;
}
.story-page-body .story-atlas-focus-text {
  width: 100%;
  max-width: none;
  margin: 0;
  font-size: clamp(40px, 4.6vw, 68px);
  line-height: 1.06;
  letter-spacing: -0.04em;
}
.story-page-body .section-story-ledger.flat-spacing {
  padding-top: 0;
  padding-bottom: 72px;
}
.story-page-body .section-story-values.flat-spacing {
  padding-top: 72px;
  padding-bottom: 0;
}
.story-page-body .section-story-invest.flat-spacing {
  padding-top: 0;
  padding-bottom: 88px;
}
.story-page-body .section-story-closure.flat-spacing {
  padding-top: 0;
  padding-bottom: 72px;
}

.story-page-body .story-atlas-title {
  margin: 0;
  max-width: 16ch;
  font-size: 36px;
  line-height: 42px;
  font-weight: 400;
  letter-spacing: -0.04em;
}

.story-page-body .story-atlas-card {
  align-self: stretch;
  display: grid;
  align-content: center;
  gap: 18px;
  min-height: 100%;
}
.story-page-body .story-atlas-card h3 {
  margin: 0;
  max-width: 13ch;
  font-size: clamp(24px, 2.1vw, 34px);
  line-height: 1.04;
  letter-spacing: -0.03em;
}
.story-page-body .story-atlas-card p {
  margin: 0;
  max-width: 34ch;
  color: var(--white-64);
}

.story-page-body .story-sequence-layout {
  display: grid;
  grid-template-columns: minmax(320px, 0.82fr) minmax(620px, 1.18fr);
  gap: clamp(40px, 5vw, 88px);
  min-height: auto;
  align-items: start;
}

.story-page-body .story-sequence-copy,
.story-page-body .story-sequence-stage {
  position: static;
}

.story-page-body .story-sequence-copy {
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 16px;
  max-width: none;
  align-self: start;
  padding-top: 0;
}

.story-page-body .story-sequence-kicker {
  position: static;
  margin: 0;
}

.story-page-body .story-sequence-sentence {
  margin: 0;
  max-width: 12.5ch;
  font-size: 36px;
  line-height: 42px;
  letter-spacing: -0.04em;
  opacity: 1;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
  text-wrap: balance;
}

.story-page-body .story-sequence-stage {
  height: auto;
  display: block;
}

.story-page-body .story-sequence-layout--values {
  --story-values-shell-height: auto;
  min-height: auto;
}

.story-page-body .story-sequence-layout--values .story-sequence-copy,
.story-page-body .story-sequence-layout--values .story-sequence-stage {
  top: auto;
  height: auto;
}

.story-page-body .story-sequence-layout--values .story-sequence-copy {
  width: 100%;
  min-height: 0;
  align-self: start;
  gap: 16px;
}

.story-page-body .story-sequence-layout--values .story-sequence-kicker {
  position: static;
}

.story-page-body .story-sequence-layout--values .story-sequence-sentence {
  max-width: 13ch;
  font-size: 36px;
  line-height: 42px;
  letter-spacing: -0.035em;
}

.story-page-body .story-sequence-layout--values .story-sequence-stage {
  height: auto;
}

.story-page-body .story-sequence-stack {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.story-page-body .story-sequence-card {
  position: relative;
  isolation: isolate;
  display: grid;
  align-content: start;
  gap: 16px;
  min-height: auto;
  padding: 24px 28px 28px;
  overflow: hidden;
  border: 1px solid var(--white-16);
  background: rgba(255, 255, 255, 0.03);
  transition: background-color 0.32s ease, border-color 0.32s ease, box-shadow 0.32s ease, transform 0.32s ease;
}
.story-page-body .story-sequence-card:hover {
  border-color: var(--white-32);
  transform: translateY(-2px);
}
.story-page-body .story-sequence-card::before, .story-page-body .story-sequence-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.34s ease, transform 0.48s ease;
}
.story-page-body .story-sequence-card::before {
  z-index: 0;
  background-image: var(--story-card-image);
  background-size: cover;
  background-position: center;
  filter: grayscale(1) contrast(1.08);
  transform: scale(1.04);
}
.story-page-body .story-sequence-card::after {
  z-index: 1;
  background: linear-gradient(90deg, rgba(188, 188, 184, 0.5), rgba(188, 188, 184, 0.18)), radial-gradient(circle at 70% 54%, rgba(255, 255, 255, 0.28), transparent 38%);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}
.story-page-body .story-sequence-card > * {
  position: relative;
  z-index: 2;
}
.story-page-body .story-sequence-card .story-sequence-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.story-page-body .story-sequence-card h3 {
  margin: 0;
  max-width: 14ch;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.03em;
}
.story-page-body .story-sequence-card .story-sequence-card__body {
  display: grid;
}
.story-page-body .story-sequence-card .story-sequence-card__body[hidden] {
  display: none;
}
.story-page-body .story-sequence-card p {
  margin: 0;
  max-width: 32ch;
  font-size: 17px;
  line-height: 1.55;
  color: var(--white-64);
}

.story-page-body .story-sequence-card.is-active {
  background: rgba(176, 176, 172, 0.18);
  border-color: rgba(255, 255, 255, 0.48);
  -webkit-backdrop-filter: blur(18px) saturate(1.08);
  backdrop-filter: blur(18px) saturate(1.08);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.24);
}
.story-page-body .story-sequence-card.is-active::before {
  opacity: 0.82;
  transform: scale(1);
}
.story-page-body .story-sequence-card.is-active::after {
  opacity: 1;
}
.story-page-body .story-sequence-card.is-active h3,
.story-page-body .story-sequence-card.is-active .story-sequence-index {
  color: #111111;
}
.story-page-body .story-sequence-card.is-active p {
  color: rgba(255, 255, 255, 0.86);
}

.story-page-body .story-sequence-toggle {
  min-height: 38px;
  padding: 9px 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--white-16);
  background: transparent;
  color: var(--white-64);
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  flex-shrink: 0;
  transition: color 0.28s ease, border-color 0.28s ease, background-color 0.28s ease;
}
.story-page-body .story-sequence-toggle:hover, .story-page-body .story-sequence-toggle:focus-visible {
  color: var(--white);
  border-color: var(--white-32);
}
.story-page-body .story-sequence-card.is-active .story-sequence-toggle {
  color: var(--white);
  border-color: rgba(17, 17, 17, 0.92);
  background: rgba(17, 17, 17, 0.92);
}

.story-page-body .story-sequence-index {
  display: inline-flex;
  margin-bottom: 0;
  color: var(--white-32);
  font-size: 12px;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

.story-page-body .story-ledger-frame {
  position: relative;
  overflow: hidden;
  min-height: 620px;
  border: 1px solid var(--white-16);
  background: #050505;
}

.story-page-body .story-ledger-backgrounds,
.story-page-body .story-ledger-shade {
  position: absolute;
  inset: 0;
}

.story-page-body .story-ledger-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transform: scale(1.02);
  transition: opacity 0.45s ease, transform 0.7s ease;
}
.story-page-body .story-ledger-bg.is-active {
  opacity: 1;
  transform: scale(1);
}

.story-page-body .story-ledger-shade {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.72) 100%), linear-gradient(90deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.18) 55%, rgba(0, 0, 0, 0.52) 100%);
}

.story-page-body .story-ledger-head,
.story-page-body .story-ledger-stack {
  position: relative;
  z-index: 2;
}

.story-page-body .story-ledger-head {
  padding: 24px 24px 0;
}

.story-page-body .story-ledger-stamp {
  display: inline-flex;
  padding: 10px 14px;
  border: 1px solid var(--white-16);
  background: rgba(0, 0, 0, 0.28);
}
.story-page-body .story-ledger-stamp span {
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.story-page-body .story-ledger-stack {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: end;
  min-height: 100%;
  padding: 128px 0 0;
}

.story-page-body .story-ledger-card {
  display: flex;
  min-height: 490px;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(24px, 2.5vw, 40px);
  border-right: 1px solid var(--white-16);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.04) 0%, rgba(0, 0, 0, 0.34) 100%);
  cursor: pointer;
  transition: background-color 0.35s ease, background 0.35s ease;
}
.story-page-body .story-ledger-card:last-child {
  border-right: 0;
}
.story-page-body .story-ledger-card h3 {
  max-width: 16ch;
  margin-bottom: 0;
  transition: margin-bottom 0.35s ease;
}
.story-page-body .story-ledger-card p {
  max-width: 32ch;
  margin: 0;
  color: var(--white-64);
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(12px);
  transition: max-height 0.4s ease, opacity 0.3s ease, transform 0.3s ease;
}

.story-page-body .story-ledger-label {
  display: block;
  margin-bottom: 18px;
}

.story-page-body .story-ledger-card.is-active,
.story-page-body .story-ledger-card:hover,
.story-page-body .story-ledger-card:focus-visible {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.02) 0%, rgba(0, 0, 0, 0.2) 100%);
}
.story-page-body .story-ledger-card.is-active h3,
.story-page-body .story-ledger-card:hover h3,
.story-page-body .story-ledger-card:focus-visible h3 {
  margin-bottom: 16px;
}
.story-page-body .story-ledger-card.is-active p,
.story-page-body .story-ledger-card:hover p,
.story-page-body .story-ledger-card:focus-visible p {
  max-height: 160px;
  opacity: 1;
  transform: translateY(0);
}
.story-page-body .story-ledger-card:focus-visible {
  outline: 1px solid var(--white-32);
  outline-offset: -1px;
}

.story-page-body .story-values-head {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 24px;
  align-items: end;
  margin-bottom: 24px;
}

.story-page-body .story-values-title {
  max-width: 14ch;
  font-size: 36px;
  line-height: 42px;
  font-weight: 400;
  letter-spacing: -0.04em;
}

.story-page-body .story-values-list {
  border-top: 1px solid var(--white-16);
}

.story-page-body .story-value-row {
  display: grid;
  grid-template-columns: 100px minmax(0, 0.7fr) minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  padding: 26px 0;
  border-bottom: 1px solid var(--white-16);
  transition: background-color 0.3s ease, padding-right 0.3s ease, padding-left 0.3s ease;
}
.story-page-body .story-value-row:hover {
  padding-right: 14px;
  padding-left: 14px;
  background: rgba(255, 255, 255, 0.015);
}

.story-page-body .story-value-index {
  padding-top: 8px;
  color: var(--white-32);
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.story-page-body .story-value-name,
.story-page-body .story-value-copy {
  margin: 0;
}

.story-page-body .story-value-copy {
  max-width: 36ch;
  color: var(--white-64);
}

.story-page-body .story-closure-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 40px;
  padding-top: 32px;
  border-top: 1px solid var(--white-16);
}

.story-page-body .story-closure-title {
  max-width: 14ch;
  margin: 0;
}

.story-page-body .story-closure-links {
  display: grid;
  align-content: start;
}

.story-page-body .story-closure-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid var(--white-16);
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.story-page-body .story-closure-link:first-child {
  border-top: 1px solid var(--white-16);
}
.story-page-body .story-closure-link i {
  transition: transform 0.3s ease;
}
.story-page-body .story-closure-link:hover i {
  transform: translateX(6px);
}

.story-page-body .story-invest-cta {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
  gap: clamp(32px, 4vw, 72px);
  align-items: stretch;
  padding-top: 0;
  border-top: 0;
}
.story-page-body .story-invest-copy {
  display: grid;
  align-content: center;
  gap: 22px;
  min-height: 100%;
}
.story-page-body .story-invest-kicker {
  margin: 0;
}
.story-page-body .story-invest-title {
  max-width: none;
  margin: 0;
  font-size: clamp(42px, 4.2vw, 64px);
  line-height: 0.98;
  font-weight: 400;
  letter-spacing: -0.05em;
  text-wrap: balance;
}
.story-page-body .story-invest-summary {
  margin: 0;
  max-width: 42ch;
  color: var(--white-64);
}
.story-page-body .story-invest-benefits {
  margin-top: 2px;
  max-width: 46ch;
}
.story-page-body .story-invest-form-shell {
  display: grid;
}
.story-page-body .story-invest-form {
  height: 100%;
}
.story-page-body .story-invest-form .form-content {
  margin-bottom: 40px;
}
.story-page-body .story-invest-form .form-action {
  align-items: flex-start;
}

@media (max-width: 1199px) {
  .story-page-body .story-sequence-layout {
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
    gap: 40px;
    min-height: auto;
  }
  .story-page-body .story-sequence-copy,
  .story-page-body .story-sequence-stage {
    position: static;
  }
  .story-page-body .story-sequence-copy {
    max-width: none;
    min-height: 0;
    padding-top: 0;
  }
  .story-page-body .story-sequence-stage {
    height: auto;
  }
  .story-page-body .story-sequence-layout--values {
    min-height: auto;
  }
  .story-page-body .story-sequence-layout--values .story-sequence-copy,
  .story-page-body .story-sequence-layout--values .story-sequence-stage {
    top: auto;
    height: auto;
  }
  .story-page-body .story-ledger-frame {
    min-height: 0;
  }
  .story-page-body .story-ledger-stack {
    grid-template-columns: 1fr;
    padding-top: 112px;
  }
  .story-page-body .story-ledger-card {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid var(--white-16);
  }
  .story-page-body .story-ledger-card:last-child {
    border-bottom: 0;
  }
  .story-page-body .story-values-head,
  .story-page-body .story-closure-wrap,
  .story-page-body .story-invest-cta {
    grid-template-columns: 1fr;
  }
  .story-page-body .story-value-row {
    grid-template-columns: 72px minmax(0, 0.8fr) minmax(0, 1fr);
  }
  .story-page-body .story-invest-title {
    font-size: clamp(38px, 4.2vw, 54px);
  }
  .story-page-body .story-invest-summary,
  .story-page-body .story-invest-benefits {
    max-width: none;
  }
}
@media (max-width: 767px) {
  .story-page-body .story-sequence-layout {
    gap: 28px;
    min-height: 0;
    grid-template-columns: 1fr;
  }
  .story-page-body .story-sequence-copy {
    max-width: 100%;
    align-self: start;
    min-height: 0;
    padding-top: 0;
    gap: 16px;
    justify-content: flex-start;
  }
  .story-page-body .story-sequence-kicker {
    position: static;
  }
  .story-page-body .story-sequence-sentence {
    max-width: 100%;
    font-size: clamp(34px, 8vw, 52px);
  }
  .story-page-body .story-sequence-layout--values .story-sequence-copy,
  .story-page-body .story-sequence-layout--values .story-sequence-stage {
    position: static;
    height: auto;
    top: auto;
  }
  .story-page-body .story-sequence-layout--values .story-sequence-copy {
    gap: 12px;
  }
  .story-page-body .story-sequence-layout--values .story-sequence-sentence {
    font-size: 36px;
    line-height: 42px;
  }
  .story-page-body .section-story-invest.flat-spacing {
    padding-bottom: 64px;
  }
  .story-page-body .story-invest-cta {
    gap: 28px;
  }
  .story-page-body .story-invest-copy {
    gap: 16px;
  }
  .story-page-body .story-invest-title {
    max-width: 14ch;
    font-size: clamp(34px, 7vw, 46px);
    line-height: 1;
  }
  .story-page-body .story-sequence-card {
    min-height: auto;
    padding: 20px 20px 22px;
    gap: 12px;
  }
  .story-page-body .story-sequence-card .story-sequence-card__top {
    align-items: flex-start;
  }
  .story-page-body .story-sequence-card p {
    max-width: none;
  }
  .story-page-body .story-atlas-title {
    max-width: 100%;
    font-size: 36px;
    line-height: 42px;
  }
  .story-page-body .story-ledger-head {
    padding: 20px 20px 0;
  }
  .story-page-body .story-ledger-stack {
    padding-top: 96px;
  }
  .story-page-body .story-ledger-card {
    padding: 22px 20px;
  }
  .story-page-body .story-value-row {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .story-page-body .story-value-index {
    padding-top: 0;
  }
}

.section-leadership-message {
  position: relative;
  z-index: 1;
}
.section-leadership-message .container {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  align-items: end;
  gap: clamp(32px, 4vw, 72px);
}

.leadership-message-copy,
.leadership-message-portrait {
  position: relative;
}

.leadership-message-copy {
  max-width: none;
}

.leadership-message-eyebrow {
  margin-bottom: 28px;
  color: var(--white-64);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.leadership-message-quote {
  margin-bottom: 36px;
  color: var(--white);
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: -0.02em;
  font-weight: 400;
  max-width: 28ch;
}

.leadership-message-name {
  margin-bottom: 8px;
  color: var(--white);
  font-size: 28px;
  line-height: 1.1;
  letter-spacing: -0.04em;
}

.leadership-message-role {
  margin-bottom: 0;
  color: var(--white-64);
  font-size: 14px;
  line-height: 1.45;
  letter-spacing: 0.02em;
}

.leadership-message-portrait {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}
.leadership-message-portrait img {
  display: block;
  width: 100%;
  max-width: 360px;
  height: auto;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 30px 48px rgba(0, 0, 0, 0.34));
}

.leadership-page-body .section-leadership-team.flat-spacing {
  padding-top: 56px;
}
.leadership-page-body .section-leadership-message.flat-spacing {
  padding-top: 88px;
  padding-bottom: 40px;
}

.section-leadership-team .s-header {
  margin-bottom: 32px;
}

.leadership-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.leadership-card {
  position: relative;
  min-height: 640px;
  overflow: hidden;
  border: 1px solid var(--white-16);
  background: var(--black);
  isolation: isolate;
  cursor: default;
  outline: none;
}
.leadership-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.48) 50%, rgba(0, 0, 0, 0.92) 100%);
  transition: background 0.45s ease;
}
.leadership-card:hover::before,
.leadership-card:focus-visible::before,
.leadership-card:focus-within::before {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.22) 0%, rgba(0, 0, 0, 0.76) 44%, rgba(0, 0, 0, 0.98) 100%);
}
.leadership-card:hover .leadership-card-media img,
.leadership-card:focus-visible .leadership-card-media img,
.leadership-card:focus-within .leadership-card-media img {
  transform: scale(1.04);
  filter: grayscale(100%) brightness(0.84);
}
.leadership-card:hover .leadership-card-role,
.leadership-card:focus-visible .leadership-card-role,
.leadership-card:focus-within .leadership-card-role {
  color: var(--white);
}
.leadership-card:hover .leadership-card-bio,
.leadership-card:focus-visible .leadership-card-bio,
.leadership-card:focus-within .leadership-card-bio {
  max-height: 220px;
  opacity: 1;
  transform: translateY(0);
  margin-top: 10px;
}

.leadership-card-media {
  position: absolute;
  inset: 0;
  background: #080808;
}
.leadership-card-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%);
  transition: transform 0.6s ease, filter 0.6s ease;
}

.leadership-card-content {
  position: relative;
  z-index: 2;
  min-height: 640px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 10px;
  padding: 28px;
}

.leadership-card-index {
  margin-bottom: auto;
  color: var(--white-64);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.leadership-card-name {
  margin-bottom: 0;
  font-size: 24px;
  line-height: 30px;
  letter-spacing: -0.03em;
}

.leadership-card-role {
  margin-bottom: 0;
  color: var(--white-64);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: color 0.35s ease;
}

.leadership-card-bio {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transform: translateY(18px);
  transition: max-height 0.5s ease, opacity 0.35s ease, transform 0.5s ease, margin-top 0.5s ease;
}
.leadership-card-bio p {
  margin-bottom: 0;
  color: var(--white-64);
}

@media (max-width: 1199px) {
  .section-leadership-message .container {
    grid-template-columns: minmax(0, 1.65fr) minmax(280px, 1fr);
    align-items: center;
  }
  .leadership-message-quote {
    max-width: 26ch;
  }
  .leadership-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .leadership-card,
  .leadership-card-content {
    min-height: 580px;
  }
}
@media only screen and (max-width: 767px) {
  .section-leadership-message .container {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .leadership-message-copy {
    max-width: none;
  }
  .leadership-message-quote {
    max-width: none;
    margin-bottom: 28px;
    font-size: 24px;
  }
  .leadership-message-portrait {
    justify-content: center;
  }
  .leadership-message-portrait img {
    width: min(100%, 420px);
    max-width: none;
  }
  .leadership-grid {
    grid-template-columns: 1fr;
  }
  .leadership-card,
  .leadership-card-content {
    min-height: 520px;
  }
  .leadership-card-bio {
    max-height: none;
    opacity: 1;
    transform: none;
    margin-top: 10px;
  }
}
@media only screen and (max-width: 575px) {
  .leadership-page-body .section-leadership-message.flat-spacing {
    padding-top: 72px;
    padding-bottom: 28px;
  }
  .leadership-message-eyebrow {
    margin-bottom: 20px;
  }
  .leadership-message-quote {
    font-size: 22px;
    line-height: 1.45;
  }
  .leadership-message-name {
    font-size: 24px;
  }
  .leadership-message-role {
    font-size: 13px;
  }
  .leadership-card,
  .leadership-card-content {
    min-height: 460px;
  }
  .leadership-card-content {
    padding: 24px 20px;
  }
}

.wrap-flip-image {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.wrap-flip-image .container {
  height: 100%;
}
@media (max-width: 425px) {
  .wrap-flip-image {
    padding-top: 120px;
  }
}

.flip-image-list {
  position: relative;
  height: 100%;
}

.flip-image {
  width: 300px;
  height: 300px;
  border-radius: 16px;
  background-size: cover;
  background-position: center;
  transform: translateX(150vw);
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: all;
}
.flip-image img {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.flip-image:hover img {
  transform: translateY(-20px);
}
@media (max-width: 767px) {
  .flip-image {
    width: 150px;
    height: 150px;
  }
}

@media (min-width: 992px) {
  .section-service {
    position: relative;
    overflow: hidden;
  }
  .section-service .services-wrapper {
    display: flex;
    flex-direction: row;
    width: 300%;
  }
  .section-service .wg-service {
    width: 100vw;
    flex-shrink: 0;
  }
}

.indicator-wrap {
  position: relative;
  padding-bottom: 30px;
  overflow: hidden;
}
.indicator-wrap .container {
  position: relative;
  z-index: 1;
}
.indicator-wrap .wg-indicator {
  margin-bottom: 40px;
}
.indicator-wrap .bg-img {
  position: absolute;
  inset: 0;
  display: flex;
  opacity: 0.5;
  z-index: 0;
  pointer-events: none;
}
.indicator-wrap .bg-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 75%;
}
@media (min-width: 992px) {
  .indicator-wrap {
    padding-bottom: 90px;
  }
}

.indicator-wrap--cards .indicator-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.indicator-wrap--cards .indicator-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 24px;
}
.indicator-wrap--cards .indicator-card {
  margin-bottom: 0;
  min-height: 180px;
  padding: 28px 20px;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--white-16);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.015) 100%);
  backdrop-filter: blur(10px);
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  transform: translateY(0);
  transition: transform 0.35s ease, border-color 0.35s ease, background 0.35s ease, box-shadow 0.35s ease;
}
.indicator-wrap--cards .indicator-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top, rgba(194, 255, 54, 0.16), transparent 58%);
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none;
}
.indicator-wrap--cards .indicator-card .indicate-counter {
  position: relative;
  z-index: 1;
  margin-bottom: 14px;
  transition: transform 0.35s ease;
}
.indicator-wrap--cards .indicator-card .indicate-title {
  position: relative;
  z-index: 1;
  margin-bottom: 0;
  max-width: 14ch;
  color: var(--white-64);
  transition: color 0.35s ease;
}
.indicator-wrap--cards .indicator-card:hover {
  transform: translateY(-8px);
  border-color: rgba(194, 255, 54, 0.45);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.075) 0%, rgba(194, 255, 54, 0.045) 100%);
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.24);
}
.indicator-wrap--cards .indicator-card:hover::before {
  opacity: 1;
}
.indicator-wrap--cards .indicator-card:hover .indicate-counter {
  transform: translateY(-2px) scale(1.02);
}
.indicator-wrap--cards .indicator-card:hover .indicate-title {
  color: var(--white);
}
@media (min-width: 768px) {
  .indicator-wrap--cards .indicator-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1200px) {
  .indicator-wrap--cards .indicator-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .indicator-wrap--cards .indicator-card {
    min-height: 200px;
    padding: 32px 18px;
  }
  .indicator-wrap--cards .indicator-card .indicate-counter {
    margin-bottom: 18px;
  }
}
@media (max-width: 575px) {
  .indicator-wrap--cards .indicator-grid {
    grid-template-columns: 1fr;
  }
  .indicator-wrap--cards .indicator-actions {
    justify-content: flex-start;
  }
}

.section-pricing {
  position: relative;
}
.section-pricing .bg-img {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -1;
  display: flex;
  justify-content: center;
  align-items: end;
}
.section-pricing .bg-img img {
  width: 100%;
  transform: translateY(25%);
}
.section-pricing .pricing-tab_btn {
  margin-bottom: 88px;
}
.section-pricing .tf-grid-layout {
  gap: 24px;
}
@media (min-width: 1440px) {
  .section-pricing {
    padding-top: 150px;
    padding-bottom: 300px;
  }
  .section-pricing.type-2 {
    padding-bottom: 120px;
  }
}
@media (max-width: 1199px) {
  .section-pricing .pricing-tab_btn {
    margin-bottom: 40px;
  }
  .section-pricing .tf-grid-layout {
    gap: 30px 12px;
  }
}
@media (max-width: 991px) {
  .section-pricing .wg-plan:last-child {
    grid-column: 1/-1;
  }
}

.section-cta {
  position: relative;
}
.section-cta .row > .col-lg-8.mx-auto {
  max-width: 100%;
  flex: 0 0 100%;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.section-cta .bg-img {
  position: absolute;
  z-index: -1;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  left: 0;
  right: 0;
}
.section-cta .bg-img img {
  width: 100%;
  transform: translateY(-35%);
}
@media (min-width: 1440px) {
  .section-cta {
    padding-bottom: 180px;
  }
}

.logo-custom {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.0509803922);
  position: relative;
}
.logo-custom .logo-site {
  display: flex;
  justify-content: center;
  flex-shrink: 0;
  width: 34px;
}
.logo-custom .line-vertical {
  width: 1px;
  height: 254px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(255, 255, 255, 0.32) 50%, rgba(0, 0, 0, 0) 100%);
}
.logo-custom .line-vertical.left {
  left: 0;
}
.logo-custom .line-vertical.right {
  right: 0;
}
.logo-custom .line-horizontal {
  width: 254px;
  height: 1px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(255, 255, 255, 0.32) 50%, rgba(0, 0, 0, 0) 100%);
}
.logo-custom .line-horizontal.top {
  top: 0;
}
.logo-custom .line-horizontal.bottom {
  bottom: 0;
}
@media (max-width: 991px) {
  .logo-custom .line-vertical {
    height: 127px;
  }
  .logo-custom .line-horizontal {
    width: 127px;
  }
}

.section-selected-work {
  position: relative;
}
.section-selected-work .btn-thumbs-group.stt-2 .btn-thumbs {
  display: none;
}
.section-selected-work .btn-thumbs-group.stt-2.number-order-3 .btn-thumbs:last-child {
  display: block;
}
.section-selected-work .swiper-btn-hor {
  max-height: 258px;
}
.section-selected-work .bg-img {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: end;
  justify-content: center;
  z-index: 2;
  pointer-events: none;
}
.section-selected-work .bg-img img {
  width: 100%;
  object-fit: cover;
}
.section-selected-work .group-btn-slider {
  margin-top: 24px;
}
.section-selected-work .content-wrap-1 .col-left,
.section-selected-work .content-wrap-1 .col-right {
  margin-bottom: 35px;
}
.section-selected-work .selected-project-details {
  position: relative;
  margin-top: 28px;
  min-height: 170px;
}
.section-selected-work .selected-project-detail {
  display: none;
  gap: 20px;
  align-content: start;
}
.section-selected-work .selected-project-detail.is-active {
  display: grid;
  animation: selectedProjectDetailReveal 0.45s ease;
}
.section-selected-work .selected-project-detail__copy {
  margin-bottom: 0;
  max-width: 34ch;
  line-height: 1.55;
}
.section-selected-work .selected-project-detail__button {
  justify-self: start;
}
.section-selected-work .content-wrap-2 {
  position: relative;
  z-index: 2;
  padding-bottom: 20px;
}
.section-selected-work .content-wrap-2::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 100%);
  z-index: 0;
}
.section-selected-work .content-wrap-2 .col-right {
  display: flex;
  justify-content: end;
}
.section-selected-work .group-btn {
  gap: 8px 16px;
  flex-wrap: wrap;
}
.section-selected-work .slick-for {
  width: 100%;
}
.section-selected-work .slick-for .slick-list,
.section-selected-work .slick-for .slick-track,
.section-selected-work .slick-for .slick-slide,
.section-selected-work .slick-for .slick-slide > div {
  height: 100%;
}
.section-selected-work .slick-for .image {
  aspect-ratio: 1.6;
  overflow: hidden;
  background: #080808;
  box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, 0.0509803922) inset;
}
.section-selected-work .slick-for .image a {
  display: block;
  width: 100%;
  height: 100%;
}
.section-selected-work .slick-for .image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 1200px) {
  .section-selected-work {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .section-selected-work .group-btn-slider {
    gap: 40px;
    justify-content: flex-end;
  }
  .section-selected-work .content-wrap-2 .col-right {
    transform: translateY(-50%);
  }
}
@media (max-width: 767px) {
  .section-selected-work .group-btn-slider {
    justify-content: flex-start;
    margin: 0;
  }
  .section-selected-work .content-wrap-2 .row {
    align-items: center;
  }
  .section-selected-work .selected-project-details {
    min-height: 0;
  }
}

@keyframes selectedProjectDetailReveal {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.work-wheel {
  position: relative;
  overflow: hidden;
}
.work-wheel li {
  color: var(--white-64);
  transition: color 0.3s ease;
}
.work-wheel li span {
  display: block;
}
.work-wheel li.active {
  color: var(--white);
}
.work-wheel li.style-2 {
  transform: matrix(1, 0, -0.53, 0.85, 0, 0);
}
.work-wheel li.style-2 span {
  transform: matrix(1, 0, 0.53, 1, 0, 0);
}
.work-wheel li.style-3 {
  transform: matrix(1, 0, -0.71, 0.7, 0, 0);
}
.work-wheel li.style-3 span {
  transform: matrix(1, 0, 0.71, 1, 0, 0);
}
.work-wheel.number-order-3 {
  margin-bottom: 40px;
}
.work-wheel::before {
  content: "";
  inset: 0;
  position: absolute;
  z-index: 2;
  pointer-events: none;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.work-wheel.number-order-1::before {
  background: linear-gradient(0deg, #000000 0%, rgba(0, 0, 0, 0.08) 100%);
}
.work-wheel.number-order-2::before {
  background: linear-gradient(180deg, #000000 0%, rgba(0, 0, 0, 0.08) 50%, #000000 100%);
}
.work-wheel.number-order-3::before {
  background: linear-gradient(180deg, #000000 0%, rgba(0, 0, 0, 0.08) 100%);
}

.work-tag {
  display: none;
}

.smooth-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.smooth-content {
  position: absolute;
  width: 100%;
}

.section-selected-work-v2 {
  padding-top: 60px;
}
.section-selected-work-v2 .work-list {
  margin-bottom: 60px;
}
.section-selected-work-v2 .work-list .element:not(:last-child) {
  margin-bottom: 60px;
}
@media (min-width: 1200px) {
  .section-selected-work-v2 .work-list {
    margin-bottom: 88px;
  }
  .section-selected-work-v2 .work-list .element:not(:last-child) {
    margin-bottom: 88px;
  }
}

.infiniteSlide_select_work > * {
  margin-left: 12px;
  margin-right: 12px;
}
@media (max-width: 991px) {
  .infiniteSlide_select_work .icon-app {
    max-width: 80px;
  }
}

.section-tech-stack {
  padding-top: 60px;
}

.section-tech-stack-v2 .tf-grid-layout {
  gap: 12px;
  place-items: center;
}
.section-tech-stack-v2 .wg-tech-v2 {
  max-width: 400px;
  width: 100%;
}
@media (min-width: 1200px) {
  .section-tech-stack-v2 .tf-grid-layout {
    gap: 24px;
    padding-right: 24px;
    padding-left: 24px;
  }
}

@media (min-width: 1440px) {
  .section-feature {
    padding-top: 180px;
  }
}

.section-testimonial {
  padding-bottom: 0;
  position: relative;
}
.section-testimonial .bg-img-item {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 60px;
  display: flex;
  justify-content: center;
  z-index: -1;
  opacity: 0.5;
}
.section-testimonial .bg-img-item img {
  width: 100%;
}
@media (min-width: 992px) {
  .section-testimonial {
    padding-bottom: 60px;
  }
}

.section-service-v2 .br-line {
  margin-bottom: 40px;
}

.section-blog .tf-grid-layout {
  gap: 30px;
}

.news-page-body .section-project-hero .project-title {
  max-width: 8ch;
}

.news-page-body .legacy-hero-bg img {
  object-position: center center;
}

.section-news-atlas {
  position: relative;
  overflow: hidden;
  padding-top: clamp(54px, 5vw, 72px);
  padding-bottom: clamp(84px, 8vw, 128px);
  background: #050505;
}
.section-news-atlas::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 14% 12%, rgba(188, 146, 88, 0.12), transparent 24%), radial-gradient(circle at 82% 10%, rgba(71, 104, 148, 0.12), transparent 28%), linear-gradient(180deg, rgba(255, 255, 255, 0.015) 0%, rgba(255, 255, 255, 0) 18%);
  pointer-events: none;
  z-index: 0;
}
.section-news-atlas .container {
  position: relative;
  z-index: 1;
}

.news-atlas-intro {
  max-width: 1180px;
  margin-bottom: clamp(28px, 3vw, 40px);
}

.news-atlas-intro__summary {
  margin: 0;
  max-width: 78ch;
  color: var(--white);
}

.news-atlas-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.news-atlas-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 360px;
  padding: 24px 24px 22px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.035) 0%, rgba(255, 255, 255, 0.015) 100%), rgba(10, 10, 10, 0.92);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.18);
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}

.news-atlas-card--accent {
  background: linear-gradient(180deg, rgba(84, 132, 79, 0.28) 0%, rgba(16, 20, 16, 0.92) 100%), rgba(10, 10, 10, 0.96);
  border-color: rgba(120, 174, 116, 0.28);
}

.news-atlas-card__meta {
  margin-bottom: 18px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.news-atlas-card__title {
  margin-bottom: 18px;
  font-size: clamp(24px, 2vw, 34px);
  line-height: 1.12;
  font-weight: 400;
  letter-spacing: -0.04em;
}

.news-atlas-card__copy {
  margin-bottom: 0;
}

.news-atlas-card__action {
  margin-top: auto;
  align-self: flex-start;
}

.news-atlas-card:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 255, 255, 0.2);
  box-shadow: 0 28px 72px rgba(0, 0, 0, 0.24);
}

@media (max-width: 991px) {
  .news-atlas-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .news-atlas-card {
    min-height: 330px;
  }
}

@media (max-width: 767px) {
  .section-news-atlas {
    padding-top: 42px;
    padding-bottom: 72px;
  }
  .news-atlas-intro {
    margin-bottom: 24px;
  }
  .news-atlas-intro__summary {
    max-width: 100%;
  }
  .news-atlas-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .news-atlas-card {
    min-height: 0;
    padding: 22px 20px;
  }
}

.events-page-body .section-project-hero .project-title {
  max-width: 6ch;
}

.events-page-body .legacy-hero-bg img {
  object-position: center center;
}

.developments-page-body .section-project-hero .project-title {
  max-width: 8ch;
}

.developments-page-body .legacy-hero-bg img {
  object-position: center center;
}

.section-events-schedule {
  position: relative;
  overflow: hidden;
  padding-top: clamp(54px, 5vw, 72px);
  padding-bottom: clamp(84px, 8vw, 128px);
  background: #050505;
}
.section-events-schedule::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 16% 16%, rgba(188, 146, 88, 0.12), transparent 24%), radial-gradient(circle at 84% 12%, rgba(71, 104, 148, 0.12), transparent 28%), linear-gradient(180deg, rgba(255, 255, 255, 0.015) 0%, rgba(255, 255, 255, 0) 18%);
  pointer-events: none;
  z-index: 0;
}
.section-events-schedule .container {
  position: relative;
  z-index: 1;
}

.events-schedule-intro {
  max-width: 1120px;
  margin-bottom: clamp(32px, 3.4vw, 44px);
}

.events-schedule-intro__summary {
  margin: 0;
  max-width: 76ch;
  color: var(--white);
}

.events-schedule-block + .events-schedule-block {
  margin-top: clamp(56px, 6vw, 84px);
}

.events-schedule-block__head {
  margin-bottom: 24px;
}

.events-schedule-block__eyebrow {
  margin-bottom: 10px;
}

.events-schedule-block__title {
  margin: 0;
  font-size: clamp(34px, 4vw, 56px);
  line-height: 0.96;
  font-weight: 400;
  letter-spacing: -0.05em;
}

.events-schedule-grid {
  display: grid;
  gap: 22px;
}
.events-schedule-grid--upcoming {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.events-schedule-grid--past {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.event-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-height: 320px;
  padding: 24px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.035) 0%, rgba(255, 255, 255, 0.015) 100%), rgba(10, 10, 10, 0.94);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.18);
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}
.event-card:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 255, 255, 0.18);
  box-shadow: 0 28px 72px rgba(0, 0, 0, 0.24);
}

.event-card--accent {
  background: linear-gradient(180deg, rgba(84, 132, 79, 0.28) 0%, rgba(16, 20, 16, 0.92) 100%), rgba(10, 10, 10, 0.96);
  border-color: rgba(120, 174, 116, 0.28);
}

.event-card__visual {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.03);
}
.event-card__visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.event-card:hover .event-card__visual img {
  transform: scale(1.03);
}

.event-card__content {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 14px;
}

.event-card__meta {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.event-card__title {
  margin: 0;
  font-size: clamp(28px, 2.6vw, 40px);
  line-height: 1.05;
  font-weight: 400;
  letter-spacing: -0.04em;
}

.event-card__details,
.event-card__location {
  margin: 0;
}

.event-card__actions,
.event-card__archive-action {
  margin-top: auto;
}

.event-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.event-card--past {
  min-height: 280px;
}

.events-recap-grid {
  gap: 22px;
}

.event-recap-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.035) 0%, rgba(255, 255, 255, 0.015) 100%), rgba(10, 10, 10, 0.94);
}
.event-recap-card .blog-content {
  display: grid;
  align-items: start;
  justify-content: start;
  gap: 16px;
}
.event-recap-card .infor_name {
  -webkit-line-clamp: 2;
}

.event-recap-action {
  width: max-content;
}

.event-recap-trigger {
  cursor: pointer;
}

.event-recap-gallery {
  display: none;
}

.event-recap-modal {
  position: fixed;
  inset: 0;
  z-index: 4000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px;
  background: rgba(0, 0, 0, 0.82);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.28s ease, visibility 0.28s ease;
}
.event-recap-modal[hidden] {
  display: none;
}
.event-recap-modal.is-open {
  opacity: 1;
  visibility: visible;
}

.event-recap-modal__backdrop {
  position: absolute;
  inset: 0;
}

.event-recap-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(1120px, 100%);
  max-height: min(92vh, 960px);
  padding: clamp(22px, 2.4vw, 32px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.015) 100%), rgba(5, 5, 5, 0.96);
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.32);
  overflow: hidden;
}

.event-recap-modal__close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.04);
  color: var(--white);
  transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}
.event-recap-modal__close:hover {
  border-color: var(--white);
  background: var(--white);
  color: var(--black);
}

.event-recap-modal__head {
  margin-bottom: 20px;
  padding-right: 64px;
}

.event-recap-modal__eyebrow {
  margin-bottom: 10px;
}

.event-recap-modal__title {
  margin: 0;
  font-size: clamp(32px, 3vw, 48px);
  line-height: 0.96;
  font-weight: 400;
  letter-spacing: -0.05em;
}

.event-recap-modal__stage {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
}

.event-recap-modal__nav {
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.04);
  color: var(--white);
  transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}
.event-recap-modal__nav:hover {
  border-color: var(--white);
  background: var(--white);
  color: var(--black);
}

.event-recap-modal__viewport {
  position: relative;
  min-height: clamp(360px, 64vh, 680px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.02);
}

.event-recap-modal__slide {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  opacity: 0;
  transform: translateX(18px);
  pointer-events: none;
  transition: opacity 0.32s ease, transform 0.32s ease;
}
.event-recap-modal__slide.is-active {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}
.event-recap-modal__slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.event-recap-modal__slide figcaption {
  padding: 14px 18px 0;
  color: var(--white-64);
}

.event-recap-modal__foot {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-top: 18px;
}

.event-recap-modal__caption,
.event-recap-modal__counter {
  margin: 0;
}

.event-recap-modal__caption {
  max-width: 68ch;
}

@media (max-width: 991px) {
  .events-schedule-grid--upcoming,
  .events-schedule-grid--past {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .event-card--upcoming {
    min-height: 0;
  }
  .event-recap-modal {
    padding: 18px;
  }
  .event-recap-modal__stage {
    grid-template-columns: 1fr;
  }
  .event-recap-modal__nav {
    position: absolute;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
  }
  .event-recap-modal__nav--prev {
    left: 18px;
  }
  .event-recap-modal__nav--next {
    right: 18px;
  }
}

@media (max-width: 767px) {
  .section-events-schedule {
    padding-top: 42px;
    padding-bottom: 72px;
  }
  .events-schedule-intro {
    margin-bottom: 24px;
  }
  .events-schedule-intro__summary {
    max-width: 100%;
  }
  .events-schedule-block + .events-schedule-block {
    margin-top: 48px;
  }
  .events-schedule-grid--upcoming,
  .events-schedule-grid--past {
    grid-template-columns: 1fr;
  }
  .event-card {
    min-height: 0;
    padding: 22px 20px;
  }
  .event-card__title {
    font-size: clamp(24px, 7vw, 34px);
  }
  .events-recap-grid {
    gap: 18px;
  }
  .event-recap-card .blog-content {
    gap: 14px;
  }
  .event-recap-modal__dialog {
    padding: 20px;
  }
  .event-recap-modal__head {
    padding-right: 52px;
  }
  .event-recap-modal__title {
    font-size: clamp(28px, 8vw, 38px);
  }
  .event-recap-modal__nav {
    width: 44px;
    height: 44px;
  }
  .event-recap-modal__nav--prev {
    left: 12px;
  }
  .event-recap-modal__nav--next {
    right: 12px;
  }
  .event-recap-modal__viewport {
    min-height: 300px;
  }
  .event-recap-modal__foot {
    flex-direction: column;
  }
}

.section-development-directory {
  position: relative;
  overflow: hidden;
  padding-bottom: clamp(84px, 8vw, 128px);
  background: #050505;
}
.section-development-directory::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 16% 20%, rgba(188, 146, 88, 0.16), transparent 26%), radial-gradient(circle at 82% 12%, rgba(71, 104, 148, 0.14), transparent 28%), radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.02), transparent 48%);
  pointer-events: none;
  z-index: 0;
}
.section-development-directory .container {
  position: relative;
  z-index: 1;
}

.development-directory-hero {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  min-height: clamp(460px, 60vw, 760px);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.development-directory-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.34) 34%, rgba(0, 0, 0, 0.72) 100%), linear-gradient(90deg, rgba(0, 0, 0, 0.38) 0%, rgba(0, 0, 0, 0.08) 42%, rgba(0, 0, 0, 0.48) 100%);
  z-index: 1;
}
.development-directory-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 18% 24%, rgba(255, 255, 255, 0.08), transparent 24%), linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0) 24%);
  mix-blend-mode: screen;
  pointer-events: none;
  z-index: 1;
}
.development-directory-hero .container {
  width: 100%;
  height: 100%;
}

.development-directory-hero__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.development-directory-hero__content {
  position: relative;
  z-index: 2;
  max-width: 760px;
  padding: clamp(138px, 13vw, 200px) 0 clamp(54px, 6vw, 88px);
}

.development-directory-back {
  gap: 10px;
  margin-bottom: 22px;
}

.development-directory-eyebrow {
  margin: 0 0 14px;
}

.development-directory-hero__title {
  margin: 0;
  max-width: 8.5ch;
  font-size: clamp(48px, 7vw, 96px);
  line-height: 0.92;
  font-weight: 400;
  letter-spacing: -0.06em;
}

.development-directory-shell {
  width: min(1320px, 100%);
  margin: 0 auto;
  padding-top: clamp(72px, 7vw, 108px);
}

.development-directory-intro {
  display: grid;
  gap: 18px;
  max-width: 980px;
  margin-bottom: clamp(60px, 6vw, 92px);
}

.development-directory-intro__title {
  margin: 0;
  max-width: 10ch;
  font-size: clamp(46px, 5.6vw, 84px);
  line-height: 0.94;
  font-weight: 400;
  letter-spacing: -0.06em;
}

.development-directory-intro__summary {
  margin: 0;
  max-width: 58ch;
}

.development-directory-features {
  display: grid;
  gap: 0;
}

.development-feature {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(34px, 4vw, 72px);
  align-items: center;
  padding: clamp(34px, 4vw, 48px) 0;
}

.development-feature--reverse {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.development-feature--reverse .development-feature__copy {
  order: 2;
}
.development-feature--reverse .development-feature__media {
  order: 1;
}

.development-feature + .development-feature {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.development-feature__copy {
  display: grid;
  gap: 14px;
  align-content: center;
}

.development-feature__eyebrow {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.development-feature__title {
  margin: 0;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 0.96;
  font-weight: 400;
  letter-spacing: -0.05em;
}

.development-feature__text {
  margin: 0;
  max-width: 37ch;
}

.development-feature__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}

.development-feature__action--disabled {
  color: rgba(255, 255, 255, 0.54);
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.04);
  pointer-events: none;
}
.development-feature__action--disabled::before {
  content: none;
}

.development-feature__media {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16/10;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.03);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.22);
}
.development-feature__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.development-feature:hover .development-feature__media img {
  transform: scale(1.03);
}

@media (max-width: 991px) {
  .development-directory-intro__title {
    max-width: 12ch;
  }
  .development-feature,
  .development-feature--reverse {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .development-feature__copy,
  .development-feature--reverse .development-feature__copy {
    order: 2;
  }
  .development-feature__media,
  .development-feature--reverse .development-feature__media {
    order: 1;
  }
}

@media (max-width: 767px) {
  .section-development-directory {
    padding-bottom: 72px;
  }
  .development-directory-shell {
    padding-top: 54px;
  }
  .development-directory-intro {
    gap: 16px;
    margin-bottom: 52px;
  }
  .development-directory-intro__title {
    max-width: none;
    font-size: clamp(34px, 9.6vw, 52px);
  }
  .development-directory-intro__summary,
  .development-feature__text {
    max-width: 100%;
  }
  .development-directory-features {
    gap: 0;
  }
  .development-feature {
    padding: 24px 0;
  }
  .development-feature__title {
    font-size: clamp(30px, 8.6vw, 42px);
  }
  .development-feature__actions {
    gap: 10px;
  }
  .development-feature__actions .tf-btn {
    padding-inline: 16px;
  }
}

.investor-guide-section-head h2 {
  margin: 0;
  font-size: clamp(34px, 4vw, 52px);
  line-height: 0.98;
  font-weight: 400;
  letter-spacing: -0.05em;
}

.investor-guide-section-head p {
  margin: 0;
  max-width: 56ch;
}

.section-news-snippet,
.section-investor-guide-drivers,
.section-investor-guide-yields,
.section-investor-guide-advantages,
.section-investor-guide-opportunities {
  position: relative;
  background: #050505;
}

.section-news-snippet {
  overflow: hidden;
}

.news-snippet-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(280px, 0.82fr);
  gap: clamp(24px, 3vw, 40px);
  align-items: start;
}

.news-snippet-main {
  display: grid;
  gap: 22px;
}

.news-snippet-image {
  overflow: hidden;
  border: 1px solid var(--white-16);
  background: rgba(255, 255, 255, 0.03);
}

.news-snippet-image img {
  display: block;
  width: 100%;
  height: auto;
}

.news-snippet-meta {
  gap: 18px 24px;
  margin-bottom: 0;
}

.news-snippet-copy {
  display: grid;
  gap: 18px;
}

.news-snippet-copy p {
  margin: 0;
}

.news-snippet-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.news-snippet-source-card {
  position: sticky;
  top: 120px;
  padding: 28px;
  border: 1px solid var(--white-16);
  background: rgba(255, 255, 255, 0.03);
}

.news-snippet-source-card__eyebrow {
  margin: 0 0 12px;
}

.news-snippet-source-card__title {
  margin: 0 0 12px;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1;
  font-weight: 400;
  letter-spacing: -0.04em;
}

.news-snippet-source-card p {
  margin: 0;
}

.investor-guide-page-body .section-project-hero .project-title {
  max-width: 7ch;
}

.investor-guide-page-body .legacy-hero-bg img {
  object-position: center center;
}

.section-investor-guide-intro {
  position: relative;
  background: #050505;
}

.investor-guide-intro__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
  gap: clamp(24px, 3vw, 40px);
  align-items: start;
}

.investor-guide-intro__copy {
  display: grid;
  gap: 18px;
  max-width: 720px;
}

.investor-guide-intro__title {
  margin: 0;
  font-size: clamp(36px, 4.4vw, 58px);
  line-height: 0.98;
  font-weight: 400;
  letter-spacing: -0.05em;
}

.investor-guide-intro__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}

.investor-guide-intro__stats {
  display: grid;
  gap: 16px;
}

.investor-guide-stat-card,
.investor-guide-side-card,
.investor-guide-driver-card,
.investor-guide-opportunity-card {
  border: 1px solid var(--white-16);
  background: rgba(10, 10, 10, 0.7);
  backdrop-filter: blur(16px);
}

.investor-guide-stat-card {
  padding: 20px 22px;
}

.investor-guide-stat-card__label,
.investor-guide-opportunity-card__eyebrow {
  display: inline-block;
  margin-bottom: 10px;
  color: var(--white-64);
  font-size: 12px;
  line-height: 18px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.investor-guide-stat-card strong {
  display: block;
  margin-bottom: 10px;
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1;
  font-weight: 400;
  letter-spacing: -0.04em;
}

.investor-guide-stat-card p,
.investor-guide-driver-card p,
.investor-guide-opportunity-card p {
  margin: 0;
  color: var(--white-64);
}

.investor-guide-inquiry {
  display: grid;
  grid-template-columns: minmax(260px, 0.7fr) minmax(0, 1.3fr);
  gap: 26px;
  margin-top: clamp(40px, 5vw, 64px);
  padding: clamp(24px, 3vw, 32px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(10, 10, 10, 0.82);
  backdrop-filter: blur(18px);
}

.investor-guide-inquiry__eyebrow {
  margin: 0 0 12px;
}

.investor-guide-inquiry__title {
  margin: 0;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 0.98;
  font-weight: 400;
  letter-spacing: -0.04em;
}

.investor-guide-inquiry__form {
  display: grid;
  gap: 18px;
}

.investor-guide-inquiry__actions {
  display: flex;
}

.investor-guide-section-head {
  display: grid;
  gap: 14px;
  margin-bottom: clamp(28px, 3vw, 40px);
}

.investor-guide-section-head p:first-child {
  margin: 0;
}

.investor-guide-drivers__grid,
.investor-guide-advantage-grid,
.investor-guide-opportunity-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.2vw, 28px);
}

.investor-guide-drivers__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.investor-guide-driver-card,
.investor-guide-opportunity-card {
  padding: 24px;
}

.investor-guide-driver-card__index {
  display: inline-block;
  margin-bottom: 18px;
  color: var(--white-64);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.investor-guide-driver-card h3,
.investor-guide-opportunity-card h3,
.investor-guide-side-card h3 {
  margin: 0 0 12px;
  font-size: 24px;
  line-height: 30px;
  font-weight: 400;
  letter-spacing: -0.04em;
}

.investor-guide-yields__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: clamp(24px, 3vw, 36px);
  align-items: start;
}

.investor-guide-yields__table-shell,
.investor-guide-side-card {
  padding: 28px;
  border: 1px solid var(--white-16);
  background: rgba(255, 255, 255, 0.03);
}

.investor-guide-yields__aside {
  display: grid;
  gap: 18px;
}

.investor-guide-yield-table {
  display: grid;
  gap: 0;
}

.investor-guide-yield-table__head,
.investor-guide-yield-table__row {
  display: grid;
  grid-template-columns: minmax(140px, 0.8fr) minmax(200px, 1.2fr) minmax(180px, 0.9fr);
  gap: 16px;
  align-items: center;
}

.investor-guide-yield-table__head {
  padding: 14px 18px;
  background: rgba(190, 148, 88, 0.16);
  color: var(--white-64);
  font-size: 12px;
  line-height: 18px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.investor-guide-yield-table__row {
  padding: 18px;
  border-bottom: 1px solid var(--white-12);
}

.investor-guide-yield-table__row:last-child {
  border-bottom: 0;
}

.investor-guide-yield-bar {
  display: flex;
  align-items: center;
  gap: 14px;
}

.investor-guide-yield-bar::before {
  content: "";
  flex: 1 1 auto;
  order: 2;
}

.investor-guide-yield-bar em {
  order: 3;
  min-width: 46px;
  color: var(--white-64);
  font-style: normal;
}

.investor-guide-yield-bar__fill {
  position: relative;
  order: 1;
  display: block;
  width: 100%;
  max-width: 180px;
  height: 6px;
  background: linear-gradient(90deg, rgba(190, 148, 88, 0.85), rgba(255, 255, 255, 0.28));
}

.investor-guide-yield-bar__fill::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.08);
  transform: translateX(100%);
}

.investor-guide-yield-trend {
  color: var(--white-64);
}

.investor-guide-yield-trend.is-up {
  color: #9bd78f;
}

.investor-guide-advantage-card {
  overflow: hidden;
  border: 1px solid var(--white-16);
  background: rgba(255, 255, 255, 0.03);
}

.investor-guide-advantage-card img {
  display: block;
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
}

.investor-guide-advantage-card__body {
  padding: 20px 22px 24px;
}

.investor-guide-advantage-card__body h3 {
  margin: 0 0 10px;
  font-size: 24px;
  line-height: 30px;
  font-weight: 400;
  letter-spacing: -0.04em;
}

.investor-guide-advantage-card__body p {
  margin: 0;
  color: var(--white-64);
}

.investor-guide-opportunity-card {
  display: grid;
  gap: 12px;
  align-content: start;
}

.investor-guide-opportunity-card .tf-btn {
  width: max-content;
  margin-top: 6px;
}

@media (max-width: 1199px) {
  .investor-guide-drivers__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  .news-snippet-layout,
  .investor-guide-intro__layout,
  .investor-guide-yields__layout,
  .investor-guide-inquiry {
    grid-template-columns: 1fr;
  }

  .investor-guide-intro__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .news-snippet-source-card {
    position: static;
  }

  .investor-guide-advantage-grid,
  .investor-guide-opportunity-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .investor-guide-section-head h2 {
    font-size: clamp(32px, 9vw, 44px);
  }

  .investor-guide-inquiry__title {
    font-size: clamp(30px, 8.4vw, 40px);
  }

  .investor-guide-drivers__grid,
  .investor-guide-intro__stats {
    grid-template-columns: 1fr;
  }

  .investor-guide-yield-table__head,
  .investor-guide-yield-table__row {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .investor-guide-yield-table__head {
    display: none;
  }

  .investor-guide-yield-table {
    gap: 12px;
  }

  .investor-guide-yield-table__row {
    padding: 18px;
    border: 1px solid var(--white-12);
  }
}

.section-page-title {
  padding-top: 60px;
}
.section-page-title .page-title {
  margin-bottom: 20px;
}
.section-page-title .breadcrumbs {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.section-404 .title {
  margin-bottom: 40px;
}
.section-404 .desc {
  margin-bottom: 30px;
}
.section-404 .tf-btn {
  max-width: 180px;
  width: 100%;
}

.section-faq.type-2 .s-header .text {
  gap: 0px 16px;
  display: inline-flex;
  align-items: center;
}
@media (max-width: 767px) {
  .section-faq.type-2 .s-header .title {
    display: grid;
    place-items: center;
  }
  .section-faq.type-2 .s-header .title br {
    display: none;
  }
  .section-faq.type-2 .s-header .text {
    gap: 8px;
  }
  .section-faq.type-2 .s-header .icon {
    width: 40px;
    aspect-ratio: 1;
  }
}

.main-mouse-hover {
  position: relative;
}
.main-mouse-hover .tf-mouse {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
}
.main-mouse-hover .tf-mouse.hover {
  opacity: 1;
}

@media (min-width: 992px) {
  .stack-element-2 {
    position: relative;
    height: 100vh;
    overflow: hidden;
  }
  .stack-element-2 .stack {
    position: relative;
    width: 100%;
    height: 100%;
  }
  .stack-element-2 .element {
    position: absolute;
    inset: 0;
  }
  .stack-element-2 .element1 {
    z-index: 1;
  }
  .stack-element-2 .element2 {
    z-index: 2;
  }
.stack-element-2 .element3 {
  z-index: 3;
}
}

.experience-center-section {
  --experience-center-bg-image: url("../images/KPD Experience Center/hq/2.jpg");
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.experience-center-section .container {
  position: relative;
  z-index: 3;
}
.experience-center-section::before {
  content: "";
  position: absolute;
  inset: -8%;
  background-image: var(--experience-center-bg-image);
  background-size: cover;
  background-position: center;
  filter: blur(26px) saturate(0.88) contrast(1.08) brightness(0.66);
  opacity: 1;
  transform: scale(1.1);
  transition: background-image 700ms cubic-bezier(0.22, 1, 0.36, 1);
}
.experience-center-section::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.74);
  pointer-events: none;
  z-index: 1;
}
.experience-center-section .experience-center-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(118deg, rgba(255, 255, 255, 0.13) 0%, rgba(255, 255, 255, 0.04) 34%, rgba(255, 255, 255, 0) 66%);
  mix-blend-mode: screen;
  opacity: 0.38;
}

.experience-center-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.experience-center-head .text-display-2 {
  margin-bottom: 0;
}

.experience-center-head__cta {
  margin-left: auto;
  white-space: nowrap;
}

.experience-center-shell {
  position: relative;
  display: block;
  width: 100%;
  max-width: var(--kpd-container-width, 1440px);
  margin-right: auto;
  margin-left: auto;
  z-index: 2;
}
.experience-center-shell > .wg-service-2 {
  display: none;
}

.experience-center-stage {
  position: relative;
  width: 100%;
  margin: 0;
  height: auto;
  aspect-ratio: 16 / 9;
  border: 0;
  background: transparent;
  overflow: hidden;
  z-index: 3;
}
.experience-center-stage::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 180px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.78) 100%);
  pointer-events: none;
  z-index: 1;
}

.experience-center-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transform: none;
  transition: opacity 0.5s ease;
}
.experience-center-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.experience-center-slide.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

.experience-center-thumbs {
  position: absolute;
  left: 50%;
  bottom: 24px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: max-content;
  min-width: max-content;
  max-width: max-content;
  overflow: hidden;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(14px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
  transform: translateX(-50%);
}

.experience-center-thumb {
  display: block;
  width: 144px;
  min-width: 144px;
  max-width: 144px;
  height: 60px;
  flex: 0 0 auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--white-64);
  transition: color 0.3s ease, order 0.45s ease;
}
.experience-center-thumb:hover, .experience-center-thumb:focus-visible, .experience-center-thumb.is-active {
  color: var(--white);
}
.experience-center-thumb:hover .experience-center-thumb__media, .experience-center-thumb:focus-visible .experience-center-thumb__media, .experience-center-thumb.is-active .experience-center-thumb__media {
  border-color: rgba(255, 255, 255, 0.92);
  opacity: 1;
  transform: translateY(-4px);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3);
}

.experience-center-thumb__media {
  width: 144px;
  min-width: 144px;
  max-width: 144px;
  height: 60px;
  box-sizing: border-box;
  overflow: hidden;
  border: 2px solid rgba(255, 255, 255, 0.14);
  opacity: 0.68;
  transition: border-color 0.3s ease, opacity 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}
.experience-center-thumb__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.experience-center-thumb__label {
  display: none;
}

.experience-center-arrow {
  position: absolute;
  top: 50%;
  z-index: 3;
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(14px);
  color: var(--white);
  transform: translateY(-50%);
  transition: border-color 0.3s ease, background-color 0.3s ease, transform 0.3s ease;
}
.experience-center-arrow:hover, .experience-center-arrow:focus-visible {
  border-color: rgba(255, 255, 255, 0.4);
  background: rgba(0, 0, 0, 0.34);
}
.experience-center-arrow span {
  font-size: 24px;
  line-height: 1;
}
.experience-center-arrow.is-prev {
  left: 24px;
}
.experience-center-arrow.is-next {
  right: 24px;
}

@media (min-width: 1200px) {
  .experience-center-stage {
    height: auto;
    max-height: calc(100svh - 110px);
  }
}
@media (max-width: 991px) {
  .experience-center-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .experience-center-head__cta {
    margin-left: 0;
  }
  .experience-center-stage {
    height: auto;
    max-height: calc(100svh - 140px);
  }
  .experience-center-thumbs {
    max-width: calc(100% - 96px);
    padding: 8px 10px;
  }
}
@media (max-width: 767px) {
  .experience-center-stage {
    height: auto;
    max-height: calc(100svh - 150px);
  }
  .experience-center-thumbs {
    max-width: calc(100% - 32px);
    bottom: 20px;
    gap: 6px;
    padding: 6px 8px;
  }
  .experience-center-arrow {
    width: 42px;
    height: 42px;
  }
  .experience-center-arrow span {
    font-size: 20px;
  }
  .experience-center-arrow.is-prev {
    left: 12px;
  }
  .experience-center-arrow.is-next {
    right: 12px;
  }
}

.section-service-2 {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.section-service-2 .wrap-control {
  position: relative;
}
.section-service-2 .bg-image-list {
  position: absolute;
  inset: 0;
}
.section-service-2 .bg-image-list .bg-image {
  position: absolute;
  inset: 0;
  z-index: -1;
}
.section-service-2 .bg-image-list .bg-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}
.section-service-2 .bg-image-list .bg-image .img-item {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: rgba(0, 0, 0, 0.5607843137);
  backdrop-filter: blur(24px);
}
@media (min-width: 1200px) {
  .section-service-2 .wg-service-2:not(:first-child) {
    position: absolute;
    inset: 0;
  }
}

.wg-service-2 {
  display: flex;
  gap: 121px;
  position: relative;
}
.wg-service-2 .main-image {
  position: relative;
  max-width: 424px;
  width: 100%;
}
.wg-service-2 .main-image .image {
  aspect-ratio: 0.8;
  overflow: hidden;
  background: #080808;
}
.wg-service-2 .title {
  margin-bottom: 16px;
}
.wg-service-2 .desc {
  margin-bottom: 40px;
}
.wg-service-2 .br-line {
  margin-bottom: 40px;
}
.wg-service-2 .tf-list {
  margin-bottom: 60px;
  gap: 16px;
}
.wg-service-2 .image-simu {
  width: 212px;
  aspect-ratio: 0.8;
  flex-shrink: 0;
  align-self: center;
  background-color: var(--white);
  display: none;
}
.wg-service-2 .image-2 {
  aspect-ratio: 0.8;
  overflow: hidden;
  background: #080808;
  align-self: center;
  display: none;
}
.wg-service-2 .image-2 img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 1200px) {
  .wg-service-2 .image-2 {
    width: 212px;
    position: absolute;
    left: calc(100% - 212px);
    top: 50%;
    transform: translateY(-50%);
    display: block;
  }
  .wg-service-2 .image-simu {
    display: block;
  }
}
@media (max-width: 1439px) {
  .wg-service-2 {
    gap: 80px;
  }
}
@media (max-width: 1199px) {
  .wg-service-2:not(:last-child) {
    margin-bottom: 60px;
  }
  .wg-service-2 {
    gap: 60px;
  }
  .wg-service-2 .image {
    height: 100%;
  }
  .wg-service-2 .br-line {
    margin-bottom: 32px;
  }
  .wg-service-2 .tf-list {
    margin-bottom: 40px;
    gap: 8px;
  }
  .wg-service-2 .main-image {
    max-width: unset;
    width: 50%;
  }
  .wg-service-2 .main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .wg-service-2 .center {
    width: 50%;
    align-self: center;
  }
}
@media (max-width: 767px) {
  .wg-service-2 .desc {
    margin-bottom: 28px;
  }
  .wg-service-2 .br-line {
    margin-bottom: 28px;
  }
  .wg-service-2 .tf-list {
    margin-bottom: 32px;
  }
}
@media (max-width: 575px) {
  .wg-service-2 {
    flex-direction: column;
    gap: 30px;
  }
  .wg-service-2:not(:last-child) {
    margin-bottom: 50px;
  }
  .wg-service-2 > * {
    width: 100% !important;
  }
  .wg-service-2 .desc {
    margin-bottom: 20px;
  }
  .wg-service-2 .br-line {
    margin-bottom: 20px;
  }
  .wg-service-2 .tf-list {
    margin-bottom: 20px;
  }
  .wg-service-2 .image img {
    max-height: 350px;
  }
}
.wg-service-2 {
  /*-- min, between, max --*/
}
@media (min-width: 576px) and (max-width: 1199px) {
  .wg-service-2 .desc {
    margin-bottom: 32px;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }
}

.project-page-body {
  background-color: var(--black);
}

.section-project-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: flex-end;
  padding: 170px 0 72px;
  overflow: hidden;
}
.section-project-hero .project-hero-bg,
.section-project-hero .project-hero-grid,
.section-project-hero .project-hero-shade {
  position: absolute;
  inset: 0;
}
.section-project-hero .project-hero-bg {
  z-index: -3;
}
.section-project-hero .project-hero-bg img,
.section-project-hero .project-hero-bg video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%);
  transform: scale(1.06);
}
.section-project-hero .project-hero-grid {
  z-index: -2;
  opacity: 0.12;
}
.section-project-hero .project-hero-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.section-project-hero .project-hero-shade {
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.4) 56%, rgba(0, 0, 0, 0.92) 100%),
    radial-gradient(circle at 72% 26%, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 34%);
}

.project-hero-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px 24px;
  margin-bottom: 48px;
  flex-wrap: wrap;
}

.project-title {
  font-size: var(--display-xl);
  line-height: 1.05;
  letter-spacing: -0.03em;
  font-weight: 300 !important;
  margin-bottom: 16px;
}

.project-summary {
  color: var(--white-64);
  max-width: 650px;
  margin-bottom: 32px;
}

.project-hero-actions {
  display: flex;
  gap: 12px 16px;
  flex-wrap: wrap;
}

.project-hero-indicators {
  position: relative;
  margin-top: 56px;
  padding: 32px 24px 0;
  overflow: hidden;
}
.project-hero-indicators .row {
  position: relative;
  z-index: 1;
}
.project-hero-indicators .bg-img {
  position: absolute;
  inset: 0;
  display: flex;
  opacity: 0.38;
  pointer-events: none;
}
.project-hero-indicators .bg-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 75%;
}
.project-hero-indicators .wg-indicator {
  margin-bottom: 40px;
}

.project-indicator-wrap .bg-img {
  opacity: 0.38;
}

.project-amenities-section {
  position: relative;
  z-index: 1;
}
@media (min-width: 1200px) {
  .project-amenities-section .wrap-control {
    display: grid;
    align-items: start;
  }
  .project-amenities-section .wg-service-2 {
    grid-area: 1/1;
    align-self: start;
  }
  .project-amenities-section .wg-service-2:not(:first-child) {
    position: relative;
    inset: auto;
  }
}

.project-fact-panel {
  display: grid;
  gap: 18px;
  padding: 32px;
  border: 1px solid var(--white-16);
  background: rgba(0, 0, 0, 0.58);
  backdrop-filter: blur(18px);
  box-shadow: 0px 24px 60px rgba(0, 0, 0, 0.28);
}

.project-fact-row {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 16px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--white-16);
}
.project-fact-row .label {
  color: var(--white-64);
}
.project-fact-row .value {
  max-width: 230px;
  text-align: end;
  font-weight: 500;
  letter-spacing: -0.02em;
}
.project-fact-row:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.project-hero-metrics {
  margin-top: 48px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.project-metric-card {
  display: grid;
  gap: 8px;
  padding: 20px 22px;
  border: 1px solid var(--white-16);
  background: rgba(255, 255, 255, 0.03);
  backdrop-filter: blur(10px);
}
.project-metric-card .metric-value {
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1;
  letter-spacing: -0.05em;
  font-weight: 600;
}
.project-metric-card .metric-label {
  color: var(--white-64);
  letter-spacing: -0.01em;
}

.project-anchor-nav {
  position: sticky;
  top: 0;
  z-index: 40;
  backdrop-filter: blur(18px);
  background: rgba(0, 0, 0, 0.72);
  border-top: 1px solid var(--white-16);
  border-bottom: 1px solid var(--white-16);
}
.project-anchor-nav ul {
  display: flex;
  align-items: center;
  gap: 16px 32px;
  overflow-x: auto;
  white-space: nowrap;
  padding: 16px 0;
  margin-bottom: 0;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.project-anchor-nav ul::-webkit-scrollbar {
  display: none;
}
.project-anchor-nav a {
  color: var(--white-64);
}
.project-anchor-nav a:hover {
  color: var(--white);
}

.section-legacy-hero .legacy-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: none;
}

.section-story-hero .story-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%);
}

.story-hero-copy {
  max-width: 920px;
  display: grid;
  gap: 22px;
}

.story-hero-summary {
  max-width: 720px;
  color: var(--white-64);
  margin-bottom: 0;
}

.section-story-narrative,
.section-story-philosophy,
.section-story-values,
.section-story-manifesto {
  position: relative;
}

.story-editorial {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  gap: 28px;
  align-items: start;
}

.story-editorial-copy {
  display: grid;
  gap: 22px;
}
.story-editorial-copy p {
  color: var(--white-64);
  margin-bottom: 0;
}

.story-card,
.story-value-card,
.story-manifesto-card,
.story-quote-card {
  border: 1px solid var(--white-16);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.025) 0%, rgba(255, 255, 255, 0.01) 100%);
}

.story-card,
.story-value-card,
.story-manifesto-card {
  padding: 30px;
}

.story-quote-card {
  display: grid;
  gap: 18px;
  padding: 32px;
}
.story-quote-card h3 {
  font-size: 24px;
  line-height: 30px;
  letter-spacing: -0.03em;
  margin-bottom: 0;
}
.story-quote-card p {
  color: var(--white-64);
  margin-bottom: 0;
}

.story-panel-label {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--white-64);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.story-panel-label::before {
  content: "";
  width: 18px;
  height: 1px;
  background: var(--white);
}

.story-philosophy-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.story-card {
  display: grid;
  gap: 16px;
}
.story-card h3 {
  font-size: 24px;
  line-height: 30px;
  letter-spacing: -0.03em;
  margin-bottom: 0;
}
.story-card p {
  color: var(--white-64);
  margin-bottom: 0;
}

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

.story-value-card {
  display: grid;
  gap: 14px;
}
.story-value-card h3 {
  font-size: 24px;
  line-height: 30px;
  letter-spacing: -0.03em;
  margin-bottom: 0;
}
.story-value-card p {
  color: var(--white-64);
  margin-bottom: 0;
}

.story-value-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 54px;
  min-height: 54px;
  border: 1px solid var(--white-16);
  color: var(--white);
  font-size: 14px;
  letter-spacing: 0.08em;
}

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

.story-manifesto-card {
  display: grid;
  gap: 18px;
}
.story-manifesto-card h3 {
  font-size: 24px;
  line-height: 30px;
  letter-spacing: -0.03em;
  margin-bottom: 0;
}
.story-manifesto-card p {
  color: var(--white-64);
  margin-bottom: 0;
}

.section-contact-routes {
  overflow: hidden;
}
.section-contact-routes .s-header {
  margin-bottom: clamp(32px, 5vw, 72px);
}

.contact-process-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}

.contact-process-item {
  min-width: 0;
  height: 100%;
}

.contact-process-link {
  display: block;
  height: 100%;
  overflow: hidden;
  color: var(--white);
}
.contact-process-link:hover {
  color: var(--white);
  transform: translateY(-10px);
}
.contact-process-link .content {
  min-height: 100%;
}
.contact-process-link .img-icon {
  width: clamp(82px, 7vw, 120px);
  aspect-ratio: 1;
}
.contact-process-link .img-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.contact-process-link .title {
  max-width: 320px;
}
.contact-process-link .bot {
  align-items: flex-end;
}
.contact-process-link .desc {
  margin-bottom: 0;
}

.contact-process-number {
  flex-shrink: 0;
  min-width: clamp(70px, 8vw, 104px);
  color: var(--white);
  font-size: clamp(54px, 7.2vw, 86px);
  font-weight: 400;
  line-height: 0.85;
  letter-spacing: -0.08em;
}

.contact-process-copy {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.contact-process-meta {
  color: var(--white-40);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.45;
  text-transform: uppercase;
}

.section-contact-locations {
  overflow: hidden;
}

.contact-location-stack {
  display: grid;
  gap: 18px;
}

.contact-location-card {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-height: clamp(520px, 68vh, 720px);
  border: 1px solid var(--white-16);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.015) 0%, rgba(255, 255, 255, 0.006) 100%), var(--black);
}

.contact-location-card--office {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contact-location-copy,
.contact-location-media {
  min-width: 0;
  width: 100%;
}

.contact-location-copy {
  display: grid;
  align-content: space-between;
  gap: 36px;
  padding: clamp(28px, 4vw, 56px);
}

.contact-location-copy__top {
  display: grid;
  gap: 22px;
  max-width: 460px;
}

.contact-location-kicker {
  margin-bottom: 0;
  color: var(--white-40);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.contact-location-title {
  margin-bottom: 0;
  font-size: 36px;
  font-weight: 400;
  line-height: 42px;
  letter-spacing: -0.04em;
}

.contact-location-text {
  margin-bottom: 0;
  color: var(--white-64);
  font-size: 18px;
  line-height: 1.58;
}

.contact-location-detail-list {
  display: grid;
  border-top: 1px solid var(--white-16);
}

.contact-location-row {
  display: grid;
  gap: 8px;
  padding: 18px 0;
  border-bottom: 1px solid var(--white-16);
}
.contact-location-row span {
  color: var(--white-40);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.contact-location-row strong {
  font-size: 18px;
  font-weight: 400;
  letter-spacing: -0.03em;
}

.contact-location-media {
  position: relative;
  overflow: hidden;
  background: var(--black);
  border-left: 1px solid var(--white-16);
}
.contact-location-media iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  filter: grayscale(1) saturate(0) contrast(1.03) brightness(0.88);
}

.contact-location-card--office .contact-location-media {
  border-left: 0;
  border-right: 1px solid var(--white-16);
}

.section-contact-inquiry .bg-img {
  opacity: 0.22;
}

@media (max-width: 1199px) {
}
@media only screen and (max-width: 991px) {
  .contact-process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .contact-location-card,
  .contact-location-card--office {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .contact-location-media {
    min-height: 420px;
    border-left: 0;
    border-top: 1px solid var(--white-16);
  }
  .contact-location-card--office .contact-location-media {
    border-top: 0;
    border-right: 0;
    border-bottom: 1px solid var(--white-16);
  }
}
@media only screen and (max-width: 767px) {
  .contact-process-grid {
    grid-template-columns: 1fr;
  }
  .contact-process-link {
    min-height: 360px;
  }
  .contact-process-link .bot {
    align-items: flex-start;
  }
  .contact-location-copy {
    padding: 24px 20px;
  }
  .contact-location-media {
    min-height: 360px;
  }
}
@media only screen and (max-width: 575px) {
  .contact-location-copy__top {
    max-width: none;
  }
  .contact-location-copy {
    padding: 20px 16px;
  }
  .contact-process-link {
    padding: 20px 16px;
  }
  .contact-process-link .bot {
    gap: 16px;
  }
  .contact-process-number {
    min-width: 58px;
    font-size: 48px;
  }
  .contact-location-media {
    min-height: 300px;
  }
  .contact-location-title {
    font-size: 36px;
  }
  .contact-location-text {
    font-size: 16px;
  }
}

.legacy-series-nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.legacy-series-item,
.legacy-year-pill {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid var(--white-16);
  background: rgba(255, 255, 255, 0.03);
  color: var(--white);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: all 0.3s ease;
}

.legacy-series-item.is-active {
  border-color: var(--white);
  background: rgba(255, 255, 255, 0.08);
}
.legacy-series-item.is-disabled {
  color: var(--white-64);
}

.legacy-year-pill {
  color: var(--white-64);
}
.legacy-year-pill:hover {
  color: var(--white);
  border-color: var(--white);
  background: rgba(255, 255, 255, 0.08);
}

.section-legacy-timeline {
  position: relative;
  overflow: hidden;
}

.legacy-timeline-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px 48px;
  margin-bottom: 48px;
  flex-wrap: wrap;
}

.legacy-timeline-copy {
  max-width: 760px;
  display: grid;
  gap: 18px;
}
.legacy-timeline-copy p:last-child {
  margin-bottom: 0;
}

.legacy-year-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
}

.legacy-timeline {
  position: relative;
  padding-top: 8px;
  --legacy-line-progress: 0%;
}
.legacy-timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background: linear-gradient(180deg, transparent 0%, var(--white-16) 12%, var(--white-16) 88%, transparent 100%);
  z-index: 0;
}
.legacy-timeline::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 1px;
  height: var(--legacy-line-progress);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.25) 0%, var(--white) 30%, rgba(255, 255, 255, 0.45) 100%);
  z-index: 0;
  transition: height 0.18s ease-out;
}

.legacy-timeline-item {
  position: relative;
  z-index: 1;
  width: calc(50% - 48px);
  margin-bottom: 32px;
  border: 1px solid var(--white-16);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.025) 0%, rgba(255, 255, 255, 0.01) 100%);
  backdrop-filter: blur(18px);
  transition: border-color 0.3s ease, background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
  transform: translateZ(0);
}
.legacy-timeline-item.is-right {
  margin-left: auto;
}
.legacy-timeline-item::before {
  content: "";
  position: absolute;
  top: 34px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--white);
  box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.05);
}
.legacy-timeline-item::after {
  content: "";
  position: absolute;
  top: 41px;
  width: 40px;
  height: 1px;
  background: var(--white-16);
}
.legacy-timeline-item.is-left::before {
  right: -55px;
}
.legacy-timeline-item.is-left::after {
  right: -40px;
}
.legacy-timeline-item.is-right::before {
  left: -55px;
}
.legacy-timeline-item.is-right::after {
  left: -40px;
}
.legacy-timeline-item.is-current {
  border-color: var(--white-32);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.045) 0%, rgba(255, 255, 255, 0.015) 100%);
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.2);
}
.legacy-timeline-item.is-current::before {
  box-shadow: 0 0 0 12px rgba(255, 255, 255, 0.08);
}
.legacy-timeline-item.is-current summary {
  transform: translateY(-2px);
}
.legacy-timeline-item summary {
  list-style: none;
  cursor: pointer;
  padding: 28px;
  display: grid;
  gap: 14px;
  transition: transform 0.3s ease;
}
.legacy-timeline-item summary::-webkit-details-marker {
  display: none;
}
.legacy-timeline-item summary p {
  color: var(--white-64);
  margin-bottom: 0;
}

.legacy-react-trigger {
  width: 100%;
  list-style: none;
  cursor: pointer;
  padding: 28px;
  display: grid;
  gap: 14px;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  font: inherit;
  transition: transform 0.3s ease;
}

.legacy-react-trigger p {
  color: var(--white-64);
  margin-bottom: 0;
}

.legacy-react-trigger:focus-visible {
  outline: 1px solid var(--white);
  outline-offset: -8px;
}

.legacy-timeline-item h3 {
  font-size: 24px;
  line-height: 30px;
  letter-spacing: -0.03em;
  margin-bottom: 0;
}

.legacy-year {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--white-64);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.legacy-year::before {
  content: "";
  width: 22px;
  height: 1px;
  background: var(--white);
}

.legacy-toggle {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--white);
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.legacy-toggle-icon {
  position: relative;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid var(--white-16);
  background: rgba(255, 255, 255, 0.03);
}
.legacy-toggle-icon::before, .legacy-toggle-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: var(--white);
  transform: translate(-50%, -50%);
  transition: all 0.3s ease;
}
.legacy-toggle-icon::before {
  width: 12px;
  height: 1px;
}
.legacy-toggle-icon::after {
  width: 1px;
  height: 12px;
}

.legacy-timeline-item[open] .legacy-toggle-icon::after {
  transform: translate(-50%, -50%) scaleY(0);
}

.legacy-react-card.is-current .legacy-toggle-icon::after {
  transform: translate(-50%, -50%) scaleY(0);
}

.legacy-react-panel {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition:
    grid-template-rows 720ms cubic-bezier(0.16, 1, 0.3, 1),
    opacity 420ms ease;
  will-change: grid-template-rows, opacity;
  transform: translateZ(0);
}

.legacy-react-card.is-current .legacy-react-panel {
  grid-template-rows: 1fr;
  opacity: 1;
}

.legacy-react-panel-inner {
  min-height: 0;
  overflow: hidden;
}

.legacy-timeline-body {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 1fr);
  gap: 24px;
  padding: 24px 28px 28px;
  border-top: 1px solid var(--white-16);
  box-sizing: border-box;
  overflow: hidden;
  transform: translateZ(0);
  backface-visibility: hidden;
}

.legacy-timeline-media {
  aspect-ratio: 0.8888888889;
  overflow: hidden;
  background: #080808;
}
.legacy-timeline-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: none;
}

.legacy-timeline-content {
  display: grid;
  align-content: start;
  gap: 18px;
}
.legacy-timeline-content p {
  color: var(--white-64);
  margin-bottom: 0;
}

.legacy-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.legacy-tag-list li {
  padding: 9px 14px;
  border: 1px solid var(--white-16);
  color: var(--white);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.section-legacy-next {
  position: relative;
}

.legacy-next-card {
  height: 100%;
  display: grid;
  gap: 16px;
  padding: 32px;
  border: 1px solid var(--white-16);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.025) 0%, rgba(255, 255, 255, 0.01) 100%);
}
.legacy-next-card h3 {
  font-size: clamp(30px, 4vw, 46px);
  letter-spacing: -0.05em;
  margin-bottom: 0;
}
.legacy-next-card p {
  color: var(--white-64);
  margin-bottom: 0;
}

.legacy-next-index,
.legacy-next-status {
  color: var(--white-64);
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.project-section-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 24px 40px;
  margin-bottom: 40px;
  flex-wrap: wrap;
}

.project-section-head--filters {
  align-items: center;
}

.project-section-copy {
  max-width: 470px;
  color: var(--white-64);
}

.project-overview-card,
.project-spec-card,
.project-gallery-card,
.project-map-card,
.proximity-card,
.project-neighbourhood-card,
.project-plan-card,
.project-lead-shell,
.project-accordion-item {
  border: 1px solid var(--white-16);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.025) 0%, rgba(255, 255, 255, 0.01) 100%);
}

.project-overview-card {
  padding: 36px;
  margin-bottom: 24px;
  display: grid;
  gap: 24px;
}

.project-overview-text {
  color: var(--white-64);
}

.project-progress {
  display: grid;
  gap: 16px;
}

.project-progress-item {
  display: flex;
  gap: 16px;
  align-items: start;
  padding-top: 16px;
  border-top: 1px solid var(--white-16);
}
.project-progress-item .step {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid var(--white-16);
  display: grid;
  place-items: center;
  color: var(--white-64);
  font-size: 12px;
  flex-shrink: 0;
}
.project-progress-item .label {
  margin-bottom: 2px;
  color: var(--white-64);
}
.project-progress-item .value {
  letter-spacing: -0.02em;
}

.project-spec-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.project-spec-card {
  padding: 28px;
  min-height: 204px;
  display: grid;
  align-content: start;
  gap: 12px;
}
.project-spec-card .label {
  color: var(--white-64);
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.08em;
}
.project-spec-card h5 {
  line-height: 1.1;
  letter-spacing: -0.03em;
}
.project-spec-card p {
  color: var(--white-64);
}

.project-gallery-stage {
  position: relative;
}

.project-gallery-card {
  padding: 20px;
  height: 100%;
}
.project-gallery-card .image {
  margin-bottom: 24px;
  aspect-ratio: 1.6;
  overflow: hidden;
  position: relative;
  box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, 0.0509803922) inset;
}
.project-gallery-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s ease;
}
.project-gallery-card h5 {
  margin-bottom: 10px;
  letter-spacing: -0.03em;
}
.project-gallery-card p {
  color: var(--white-64);
}

.swiper-project-gallery {
  overflow: visible;
}
.swiper-project-gallery .swiper-slide-active .project-gallery-card img,
.swiper-project-gallery .swiper-slide-duplicate-active .project-gallery-card img {
  transform: scale(1.03);
}

.project-gallery-meta {
  display: grid;
  gap: 8px;
}

.caption-tag,
.location-chip {
  display: none;
}

.project-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}
.project-chip-list li {
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid var(--white-16);
  color: var(--white-64);
}

.project-accordion-list {
  display: grid;
  gap: 16px;
}

.project-accordion-item {
  padding: 0 24px;
}

.project-accordion-trigger {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 24px 0;
}
.project-accordion-trigger > div {
  display: grid;
  gap: 10px;
}
.project-accordion-trigger .icon {
  transform: rotate(180deg);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.project-accordion-trigger.collapsed .icon {
  transform: rotate(0deg);
}
.project-accordion-trigger h5 {
  letter-spacing: -0.03em;
  margin-bottom: 0;
}

.project-accordion-content {
  padding: 0 0 24px;
  display: grid;
  gap: 18px;
}
.project-accordion-content p {
  color: var(--white-64);
}

.project-detail-list {
  display: grid;
  gap: 12px;
}
.project-detail-list li {
  position: relative;
  padding-left: 18px;
  color: var(--white-64);
}
.project-detail-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 8px;
  height: 1px;
  background: var(--white);
}

.project-map-card {
  position: sticky;
  top: 112px;
  padding: 36px;
  overflow: hidden;
  display: grid;
  gap: 20px;
}
.project-map-card img {
  position: absolute;
  right: -12%;
  bottom: -12%;
  width: 86%;
  opacity: 0.14;
  pointer-events: none;
}
.project-map-card > * {
  position: relative;
  z-index: 1;
}

.project-location-points {
  display: grid;
  gap: 12px;
}
.project-location-points li {
  position: relative;
  padding-left: 18px;
}
.project-location-points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--white);
}

.proximity-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-bottom: 20px;
}

.proximity-card,
.project-neighbourhood-card {
  padding: 24px;
}

.proximity-card {
  display: grid;
  gap: 6px;
}
.proximity-card .time {
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1;
  font-weight: 600;
  letter-spacing: -0.05em;
}
.proximity-card h6 {
  letter-spacing: -0.02em;
}
.proximity-card p {
  color: var(--white-64);
}

.project-neighbourhood-card {
  display: grid;
  gap: 10px;
}
.project-neighbourhood-card p {
  color: var(--white-64);
}

.section-project-location {
  overflow-x: clip;
}

.location-explorer-shell {
  --layout-edge: max(15px, calc((100vw - 1326px) / 2 + 15px));
  width: 100%;
  padding: 28px 0 0;
  border: 0;
  background: transparent;
}

.location-explorer-stage {
  display: grid;
  position: relative;
  overflow: clip;
}

.project-gallery-selected {
  position: relative;
  z-index: 2;
  isolation: isolate;
  background: var(--black);
  overflow: hidden;
}
.project-gallery-selected .content-wrap-1,
.project-gallery-selected .content-wrap-2 {
  position: relative;
}
.project-gallery-selected .content-wrap-1 {
  z-index: 2;
}
.project-gallery-selected .content-wrap-2 {
  z-index: 3;
}
.project-gallery-selected .slick-nav {
  perspective: none;
}
.project-gallery-selected .slick-nav .slick-list {
  overflow: visible;
}
.project-gallery-selected .slick-nav .slick-track {
  transform: none !important;
}
.project-gallery-selected .slick-nav .slick-slide,
.project-gallery-selected .slick-nav .slick-slide:not(.slick-current),
.project-gallery-selected .slick-nav .slick-current + .slick-slide,
.project-gallery-selected .slick-nav .slick-current ~ .slick-slide:last-child {
  transform: none;
}
.project-gallery-selected .slick-nav .slick-slide {
  opacity: 0.32;
  transition: opacity 0.3s ease;
}
.project-gallery-selected .slick-nav .slick-current {
  opacity: 1;
}
.project-gallery-selected .slick-nav .slick-slide:not(.slick-center) .text-slide {
  color: var(--white-32);
}

.location-explorer-toolbar {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  max-width: 1440px;
  padding: 0 32px;
  margin: 0 auto 24px;
}

.location-explorer-toolbar--head {
  flex: 1 1 560px;
  justify-content: flex-end;
  max-width: none;
  padding: 0;
  margin: 0;
}

.route-filter {
  min-width: 104px;
  min-height: 44px;
  padding: 11px 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  border: 1px solid var(--white-16);
  background: transparent;
  color: var(--white-64);
  font-size: 13px;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 400;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.route-filter:hover, .route-filter.is-active {
  color: var(--black);
  background: var(--white);
  border-color: var(--white);
}

.route-map-shell {
  position: relative;
  min-height: clamp(700px, 82vh, 980px);
  overflow: hidden;
  border: 1px solid var(--white-16);
  border-left: 0;
  border-right: 0;
  background: #0b0b0b;
  isolation: isolate;
}
.route-map-shell::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.2) 28%, rgba(0, 0, 0, 0.08) 50%, rgba(0, 0, 0, 0.16) 100%), linear-gradient(180deg, rgba(0, 0, 0, 0.04) 0%, rgba(0, 0, 0, 0.18) 100%);
  pointer-events: none;
  z-index: 1;
}

.route-map-embed {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  filter: grayscale(1) saturate(0) contrast(0.92) brightness(1.04);
  z-index: 0;
}

.route-project-badge {
  position: absolute;
  left: 46%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  display: inline-flex;
  align-items: flex-end;
  gap: 14px;
  pointer-events: none;
}

.route-project-badge.is-right {
  flex-direction: row-reverse;
}

.route-project-badge__marker {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 26px;
  height: 26px;
}

.route-project-badge__ring,
.route-project-badge__core {
  position: absolute;
  border-radius: 999px;
}

.route-project-badge__ring {
  inset: -11px;
  background: rgba(0, 0, 0, 0.16);
  animation: routePinPulse 2.4s ease-out infinite;
}

.route-project-badge__core {
  inset: 0;
  display: inline-grid;
  place-items: center;
  background: var(--black);
  color: var(--white);
  box-shadow: 0px 14px 28px rgba(0, 0, 0, 0.24);
}
.route-project-badge__core svg {
  width: 13px;
  height: 13px;
  display: block;
  fill: currentColor;
}

.route-project-badge__card {
  min-width: 190px;
  display: grid;
  gap: 3px;
  padding: 12px 16px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0px 22px 48px rgba(0, 0, 0, 0.18);
  color: var(--black);
}
.route-project-badge__card strong {
  font-size: 18px;
  line-height: 1.1;
  letter-spacing: -0.03em;
}

.route-project-badge__label,
.route-project-badge__coords {
  font-size: 11px;
  line-height: 1.35;
}

.route-project-badge__label {
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(0, 0, 0, 0.54);
}

.route-project-badge__coords {
  color: rgba(0, 0, 0, 0.7);
}

@keyframes routePinPulse {
  0% {
    transform: scale(0.72);
    opacity: 0.85;
  }
  70% {
    transform: scale(1.4);
    opacity: 0;
  }
  100% {
    transform: scale(1.4);
    opacity: 0;
  }
}
.route-map-surface,
.route-map-svg {
  position: absolute;
  inset: 0;
}

.route-map-surface {
  background: linear-gradient(140deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.01) 36%, rgba(255, 255, 255, 0.02) 100%), radial-gradient(circle at 18% 16%, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0) 24%), radial-gradient(circle at 82% 58%, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0) 22%), #0b0b0b;
}

.route-map-water,
.route-map-park,
.route-map-block {
  position: absolute;
  border-radius: 28px;
  opacity: 0.5;
}

.route-map-water {
  width: 34%;
  height: 30%;
  left: -6%;
  top: -6%;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.06));
  filter: blur(0px);
}

.route-map-park {
  background: rgba(255, 255, 255, 0.06);
}

.route-map-park-a {
  width: 18%;
  height: 21%;
  right: 14%;
  top: 9%;
}

.route-map-park-b {
  width: 16%;
  height: 18%;
  right: 6%;
  bottom: 10%;
}

.route-map-block {
  border: 1px solid rgba(255, 255, 255, 0.05);
  background: rgba(255, 255, 255, 0.02);
}

.route-map-block-a {
  width: 17%;
  height: 19%;
  left: 12%;
  top: 19%;
}

.route-map-block-b {
  width: 13%;
  height: 17%;
  left: 34%;
  bottom: 16%;
}

.route-map-block-c {
  width: 22%;
  height: 15%;
  right: 22%;
  bottom: 22%;
}

.route-map-svg {
  width: 100%;
  height: 100%;
}

.map-road {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.map-road-primary {
  stroke: rgba(255, 255, 255, 0.18);
  stroke-width: 18;
}

.map-road-secondary {
  stroke: rgba(255, 255, 255, 0.12);
  stroke-width: 10;
}

.map-road-tertiary {
  stroke: rgba(255, 255, 255, 0.08);
  stroke-width: 6;
  stroke-dasharray: 8 18;
}

.route-line {
  fill: none;
  stroke: var(--white);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 1;
  stroke-dashoffset: 0;
  filter: drop-shadow(0px 0px 18px rgba(255, 255, 255, 0.35));
}

.route-marker {
  position: absolute;
  transform: translate(-50%, -50%);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid var(--white-16);
  background: rgba(0, 0, 0, 0.8);
  color: var(--white-64);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.route-marker:hover, .route-marker.is-active {
  background: var(--white);
  color: var(--black);
  border-color: var(--white);
}
.route-marker.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.route-marker-origin {
  z-index: 2;
  background: var(--white);
  color: var(--black);
  border-color: var(--white);
}

.route-marker-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
}

.route-marker-label {
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.route-map-label {
  position: absolute;
  color: rgba(255, 255, 255, 0.38);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.route-map-label-jvc {
  left: 44%;
  top: 46%;
}

.route-map-label-al-khail {
  left: 13%;
  bottom: 18%;
}

.route-map-label-hessa {
  right: 12%;
  top: 46%;
}

.route-sidebar {
  display: grid;
  gap: 20px;
  z-index: 3;
  position: absolute;
  top: 34px;
  right: var(--layout-edge);
  left: auto;
  width: min(390px, 100vw - var(--layout-edge) * 2);
  max-height: calc(100% - 68px);
  overflow-y: auto;
  padding-right: 4px;
}

.route-summary-card,
.route-destination-item {
  border: 1px solid var(--white-16);
  background: rgba(8, 8, 8, 0.88);
  backdrop-filter: blur(18px);
}

.route-summary-card {
  padding: 28px;
  display: grid;
  gap: 18px;
}

.route-summary-title {
  letter-spacing: -0.03em;
}

.route-summary-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.route-summary-stat {
  padding: 16px;
  border: 1px solid var(--white-16);
  background: rgba(255, 255, 255, 0.02);
  display: grid;
  gap: 6px;
}
.route-summary-stat .label {
  color: var(--white-64);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.route-summary-stat strong {
  font-size: 22px;
  letter-spacing: -0.03em;
}

.route-destination-list {
  display: grid;
  gap: 12px;
}

.route-destination-item {
  padding: 18px;
  text-align: left;
  display: grid;
  gap: 6px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.route-destination-item .name {
  letter-spacing: -0.02em;
}
.route-destination-item .meta {
  color: var(--white-64);
  font-size: 14px;
}
.route-destination-item:hover, .route-destination-item.is-active {
  border-color: var(--white);
  background: rgba(255, 255, 255, 0.08);
  transform: translateX(4px);
}
.route-destination-item.is-hidden {
  display: none;
}

.project-plans-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px 40px;
  margin-bottom: 32px;
  flex-wrap: wrap;
}

.project-plans-controls {
  flex: 1 1 720px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px 16px;
  flex-wrap: wrap;
}

.project-tab-nav {
  margin-bottom: 32px;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
}
.project-tab-nav li {
  width: auto;
  max-width: none;
}
.project-tab-nav .tf-btn-tab {
  min-width: 104px;
  min-height: 44px;
  padding: 11px 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  border: 1px solid var(--white-16);
  background: transparent;
  color: var(--white-64);
  font-size: 13px;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 400;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.project-tab-nav .tf-btn-tab:hover, .project-tab-nav .tf-btn-tab.active {
  color: var(--black);
  background: var(--white);
  border-color: var(--white);
}

.project-plans-controls .project-tab-nav {
  margin-bottom: 0;
  justify-content: flex-end;
}

.project-plans-controls > .tf-btn {
  flex-shrink: 0;
}

.section-project-plans .tab-pane .row {
  align-items: stretch;
}

.project-plan-visual {
  padding: 0;
  border: 0;
  background: transparent;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1.3333333333;
  overflow: hidden;
}
.project-plan-visual img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.project-plan-card {
  padding: 32px;
  display: grid;
  gap: 24px;
  height: 100%;
}
.project-plan-card h4 {
  letter-spacing: -0.04em;
}

.plan-stat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 20px;
}
.plan-stat-grid > div {
  padding: 0 0 14px;
  border-bottom: 1px solid var(--white-16);
  background: transparent;
  display: grid;
  gap: 6px;
}
.plan-stat-grid .label {
  color: var(--white-64);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.plan-stat-grid strong {
  font-size: 18px;
  letter-spacing: -0.03em;
}

.plan-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
}

.section-project-lead {
  padding-top: 0;
}

.project-cta {
  padding-top: 0;
}

.project-lead-shell {
  padding: 40px;
}

.project-lead-benefits {
  display: grid;
  gap: 16px;
  margin-top: 28px;
}
.project-lead-benefits li {
  padding-bottom: 16px;
  border-bottom: 1px solid var(--white-16);
}

.form-project-lead {
  height: 100%;
}
.form-project-lead .form-content {
  margin-bottom: 32px;
}

@media (min-width: 1200px) {
  .project-section-intro {
    position: sticky;
    top: 140px;
  }
}
@media (max-width: 1199px) {
  .section-project-hero {
    padding-top: 150px;
  }
  .story-editorial {
    grid-template-columns: 1fr;
  }
  .story-philosophy-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .legacy-timeline-body {
    grid-template-columns: 1fr;
  }
  .project-hero-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .project-map-card {
    position: relative;
    top: 0;
  }
}
@media (max-width: 991px) {
  .project-title {
    font-size: 46px;
    line-height: 52px;
  }
  .story-card,
  .story-value-card,
  .story-manifesto-card,
  .story-quote-card {
    padding: 24px;
  }
  .legacy-timeline-item {
    width: calc(50% - 28px);
  }
  .legacy-timeline-item::before {
    top: 28px;
  }
  .legacy-timeline-item::after {
    top: 35px;
    width: 22px;
  }
  .legacy-timeline-item.is-left::before {
    right: -35px;
  }
  .legacy-timeline-item.is-left::after {
    right: -22px;
  }
  .legacy-timeline-item.is-right::before {
    left: -35px;
  }
  .legacy-timeline-item.is-right::after {
    left: -22px;
  }
  .legacy-timeline-item summary {
    padding: 24px 22px;
  }
  .legacy-timeline-body {
    padding: 22px;
  }
  .project-overview-card,
  .project-fact-panel,
  .project-map-card,
  .project-plan-card,
  .project-lead-shell {
    padding: 28px 20px;
  }
  .project-spec-grid,
  .proximity-grid,
  .plan-stat-grid,
  .route-summary-stats {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767px) {
  .section-project-hero {
    padding: 130px 0 56px;
    min-height: auto;
  }
  .story-philosophy-grid,
  .story-values-grid,
  .story-manifesto-grid {
    grid-template-columns: 1fr;
  }
  .story-card,
  .story-value-card,
  .story-manifesto-card,
  .story-quote-card {
    padding: 22px 20px;
  }
  .legacy-series-nav {
    margin-top: 22px;
  }
  .legacy-timeline-head {
    margin-bottom: 36px;
  }
  .legacy-year-nav {
    justify-content: flex-start;
  }
  .legacy-timeline::before {
    left: 18px;
  }
  .legacy-timeline::after {
    left: 18px;
  }
  .legacy-timeline-item,
  .legacy-timeline-item.is-right {
    width: calc(100% - 52px);
    margin-left: 52px;
  }
  .legacy-timeline-item::before,
  .legacy-timeline-item.is-right::before {
    left: -41px;
    right: auto;
    top: 26px;
  }
  .legacy-timeline-item::after,
  .legacy-timeline-item.is-right::after {
    left: -30px;
    right: auto;
    top: 33px;
    width: 30px;
  }
  .legacy-timeline-item summary,
  .legacy-timeline-item.is-right summary {
    padding: 22px 20px;
  }
  .legacy-timeline-body {
    grid-template-columns: 1fr;
    padding: 20px;
  }
  .legacy-next-card {
    padding: 24px 20px;
  }
  .project-hero-indicators {
    margin-top: 40px;
    padding: 24px 0 0;
  }
  .location-explorer-shell {
    padding-top: 18px;
  }
  .location-explorer-stage {
    gap: 20px;
  }
  .route-map-shell {
    min-height: 520px;
  }
  .location-explorer-toolbar {
    padding: 0 18px;
    margin-bottom: 18px;
  }
  .route-sidebar {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    width: auto;
    max-height: unset;
    overflow: visible;
    margin: 20px 18px 0;
    padding-right: 0;
  }
  .route-project-badge {
    left: 50%;
    top: 54%;
    gap: 10px;
  }
  .route-project-badge__card {
    min-width: 170px;
    padding: 10px 14px;
  }
  .project-hero-top,
  .project-section-head,
  .project-plans-head {
    margin-bottom: 32px;
  }
  .project-anchor-nav {
    top: 0;
  }
  .project-accordion-item {
    padding: 0 18px;
  }
}
@media (max-width: 575px) {
  .legacy-year-pill,
  .legacy-series-item {
    min-height: 40px;
    padding: 9px 14px;
  }
  .project-hero-metrics {
    grid-template-columns: 1fr;
  }
  .project-fact-row {
    flex-direction: column;
  }
  .project-fact-row .value {
    text-align: start;
    max-width: unset;
  }
  .project-overview-card,
  .project-spec-card,
  .project-gallery-card,
  .project-map-card,
  .proximity-card,
  .project-neighbourhood-card,
  .project-plan-card,
  .project-lead-shell,
  .route-summary-card,
  .route-destination-item {
    padding: 20px 16px;
  }
  .project-plan-visual {
    height: auto;
    aspect-ratio: 1.3333333333;
  }
  .project-plan-visual img {
    height: 100%;
    aspect-ratio: auto;
  }
  .route-filter {
    min-width: unset;
    flex: 1 1 calc(50% - 12px);
  }
  .location-explorer-toolbar--head,
  .project-plans-controls,
  .project-plans-controls .project-tab-nav {
    justify-content: flex-start;
  }
  .route-map-shell {
    min-height: 420px;
  }
  .route-summary-stats {
    grid-template-columns: 1fr;
  }
  .route-project-badge {
    left: 50%;
    top: 56%;
    flex-direction: column;
    align-items: flex-start;
  }
  .route-project-badge__card {
    min-width: auto;
  }
}
/* ---------------------------------------------------------
    * Name: Davies - Personal Portfolio HTML Template
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com 

	* Abstracts variable

    * Core CSS

    * Components
        * Blog
        * Layout
        * Header
        * Accordion
        * Animation
        * Box Icon
        * Button
        * Carousel
        * Form
        * Hover
        * Nice Select
        * Popup
        * Section
        * Slider
        * Tabs
        * Testimonial
        * Widget
        * Footer

 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
.sw-dot-default {
  margin-top: 24px;
  display: inline-flex;
}
.sw-dot-default .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background-color: var(--white);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0.32;
  margin-left: 4px;
  margin-right: 4px;
}
.sw-dot-default .swiper-pagination-bullet.swiper-pagination-bullet-active {
  opacity: 1;
}
.sw-dot-default.style-white .swiper-pagination-bullet.swiper-pagination-bullet-active {
  border: 1px solid var(--white);
}
.sw-dot-default.style-white .swiper-pagination-bullet.swiper-pagination-bullet-active::before {
  background-color: var(--white);
}
.sw-dot-default.style-white .swiper-pagination-bullet::before {
  background-color: rgba(255, 255, 255, 0.6);
}
@media (min-width: 1200px) {
  .sw-dot-default {
    margin-top: 40px;
  }
}

.group-btn-slider {
  margin-top: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
}
.group-btn-slider .sw-dot-default {
  width: auto;
  margin: 0;
}
.group-btn-slider .nav-prev-swiper.swiper-button-disabled,
.group-btn-slider .nav-next-swiper.swiper-button-disabled {
  opacity: 0.32;
}
@media (max-width: 1199px) {
  .group-btn-slider {
    margin-top: 24px;
    gap: 24px;
  }
}

.btn-thumbs {
  cursor: pointer;
}

.btn-nav-swiper {
  display: flex;
  align-items: center;
  gap: 6px;
}

.hover-wrap {
  position: absolute;
  top: 0;
  bottom: 40px;
  z-index: 2;
  overflow: hidden;
}
.hover-wrap .action {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
  opacity: 0;
}
.hover-wrap .action.hover {
  opacity: 1;
}
.hover-wrap .action:not(.hover) {
  opacity: 0;
}
.hover-wrap.left {
  right: 50%;
  left: 0;
}
.hover-wrap.right {
  right: 0;
  left: 50%;
}
@media (max-width: 1199px) {
  .hover-wrap {
    display: none;
  }
}

.swiper-testimonial .swiper-slide .testimonial-v01 {
  position: relative;
  z-index: 1;
}
.swiper-testimonial .swiper-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.0039215686);
  backdrop-filter: blur(2px);
  z-index: 2;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
}
.swiper-testimonial .swiper-slide:not(.swiper-slide-active)::before {
  opacity: 1;
  visibility: visible;
}

.slider_effect_fade .swiper-slide.swiper-slide-active .fade-item {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}
.slider_effect_fade .swiper-slide.swiper-slide-active .scale-item {
  transform: scale(1);
}
.slider_effect_fade .swiper-slide.swiper-slide-active .width-item {
  width: 100%;
}
.slider_effect_fade .fade-item {
  transform: translateY(100px);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.slider_effect_fade .fade-item.fade-box {
  transition-delay: 0.4s;
  transform: translateY(0px);
}
.slider_effect_fade .fade-item.fade-item-1 {
  transition-delay: 0.5s;
}
.slider_effect_fade .fade-item.fade-item-2 {
  transition-delay: 0.6s;
}
.slider_effect_fade .fade-item.fade-item-3 {
  transition-delay: 0.7s;
}
.slider_effect_fade .fade-item.fade-item-4 {
  transition-delay: 0.8s;
}
.slider_effect_fade .scale-item {
  transform: scale(1.2);
  transition: all 0.5s linear;
}
.slider_effect_fade .scale-item.scale-item-1 {
  transition-delay: 0.3s;
}
.slider_effect_fade .width-item {
  width: 1%;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.slider_effect_fade .width-item.width-item-3 {
  transition-delay: 0.7s;
}

/*-- Slick Slide --*/
.slick-list {
  padding: 0 !important;
  /* xóa padding auto */
}

.slick-nav .slick-slide {
  border: 0;
}
.slick-nav .slick-slide .text-slide {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.slick-nav .slick-slide:not(.slick-center) .text-slide {
  color: var(--white-32);
}

.slick-nav {
  perspective: 1000px;
}
.slick-nav .slick-slide {
  transition: transform 0.6s, opacity 0.6s;
  transform-origin: center center;
  opacity: 0.4;
  transform: rotateX(0deg) translateZ(0px);
}
.slick-nav .slick-slide:not(.slick-current) {
  transform: rotateX(45deg) translateY(-120px) translateZ(-120px);
}
.slick-nav .slick-current {
  opacity: 1;
}
.slick-nav .slick-current + .slick-slide {
  transform: rotateX(45deg) translateY(-120px) translateZ(-120px);
}
.slick-nav .slick-current ~ .slick-slide:last-child {
  transform: rotateX(-45deg) translateY(120px) translateZ(-120px);
}

/* ---------------------------------------------------------
    * Name: Davies - Personal Portfolio HTML Template
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com 

	* Abstracts variable

    * Core CSS

    * Components
        * Blog
        * Layout
        * Header
        * Accordion
        * Animation
        * Box Icon
        * Button
        * Carousel
        * Form
        * Hover
        * Nice Select
        * Popup
        * Section
        * Slider
        * Tabs
        * Testimonial
        * Widget
        * Footer

 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
.testimonial-v01 {
  padding: 48px;
  border: 1px solid var(--white-16);
  display: grid;
  gap: 40px;
}
.testimonial-v01 .tes-author {
  position: relative;
}
.testimonial-v01 .author_image {
  position: relative;
  aspect-ratio: 1.3323170732;
  overflow: hidden;
  background: #080808;
}
.testimonial-v01 .author_image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(270deg, #000 0%, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0) 80%, #000 100%), linear-gradient(180deg, #000 0%, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0) 80%, #000 100%);
  mix-blend-mode: luminosity;
}
.testimonial-v01 .author_image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.testimonial-v01 .author_info {
  position: absolute;
  bottom: 0;
  left: 15px;
  right: 15px;
  text-align: center;
}
.testimonial-v01 .tes-text {
  text-align: center;
}
@media (max-width: 1199px) {
  .testimonial-v01 {
    padding: 30px;
    gap: 30px;
  }
}
@media (max-width: 991px) {
  .testimonial-v01 {
    padding: 20px 15px;
    gap: 24px;
  }
}

/* ---------------------------------------------------------
    * Name: Davies - Personal Portfolio HTML Template
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com 

	* Abstracts variable

    * Core CSS

    * Components
        * Blog
        * Layout
        * Header
        * Accordion
        * Animation
        * Box Icon
        * Button
        * Carousel
        * Form
        * Hover
        * Nice Select
        * Popup
        * Section
        * Slider
        * Tabs
        * Testimonial
        * Widget
        * Footer

 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
.group-btn {
  display: flex;
  align-items: center;
}

.text-has-dot {
  display: flex;
  align-items: center;
  gap: 6px;
}
@media (min-width: 1200px) {
  .text-has-dot {
    gap: 12px;
  }
}

.wg-feature-v01 {
  box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, 0.0509803922) inset;
  position: relative;
  display: grid;
}
.wg-feature-v01 .feature-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 20px 28px 28px 28px;
  display: flex;
  justify-content: space-between;
  align-items: end;
}
.wg-feature-v01 .feature-content .tag {
  margin-bottom: 8px;
}
.wg-feature-v01 .feature-content > * {
  position: relative;
  z-index: 1;
}
.wg-feature-v01 .feature-content::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 100%);
  backdrop-filter: blur(2px);
  z-index: 0;
}

.wg-process {
  border: 1px solid var(--white-16);
  padding: 28px;
  position: relative;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  background-color: var(--black);
}
.wg-process .bg-img {
  position: absolute;
  inset: 0;
  z-index: 0;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  display: flex;
}
.wg-process .bg-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wg-process .img-icon {
  margin-bottom: 30px;
}
.wg-process .title {
  margin-bottom: 24px;
}
.wg-process .br-line {
  background-color: var(--white-16);
  display: flex;
  margin-bottom: 24px;
}
.wg-process .bot {
  display: flex;
  align-items: end;
  gap: 24px;
}
.wg-process .bot .img-item {
  flex-shrink: 0;
}
.wg-process .content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.wg-process:hover {
  border-color: var(--primary);
}
.wg-process:hover .bg-img {
  opacity: 1;
  visibility: visible;
}
@media (min-width: 992px) {
  .wg-process .desc {
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }
  .wg-process .content {
    height: 100%;
  }
}
@media (min-width: 1200px) {
  .wg-process {
    aspect-ratio: 1;
  }
}
@media (max-width: 1199px) {
  .wg-process .img-icon {
    max-width: 80px;
  }
  .wg-process {
    padding: 20px 15px;
  }
}
@media (max-width: 767px) {
  .wg-process .bot {
    flex-wrap: wrap;
    gap: 12px;
  }
}

.wg-service {
  position: relative;
}
.wg-service .bg-image {
  position: absolute;
  inset: 0;
  z-index: -1;
}
.wg-service .bg-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}
.wg-service .bg-image .img-item {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: rgba(0, 0, 0, 0.5607843137);
  backdrop-filter: blur(24px);
}
.wg-service .image {
  position: relative;
}
.wg-service .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  max-height: 530px;
}
.wg-service .image,
.wg-service .image-2 {
  box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, 0.0509803922) inset;
}
.wg-service .action {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(50%, -50%);
}
.wg-service .action.active-2 {
  right: 100%;
}
.wg-service .title {
  margin-bottom: 16px;
}
.wg-service .br-line {
  margin-top: 40px;
  margin-bottom: 40px;
}
.wg-service .tf-list {
  gap: 16px;
  margin-bottom: 60px;
}
@media (max-width: 1199px) {
  .wg-service .br-line {
    margin-top: 24px;
    margin-bottom: 24px;
  }
  .wg-service .tf-list {
    margin-bottom: 40px;
  }
}
@media (max-width: 991px) {
  .wg-service .image {
    margin-bottom: 30px;
  }
  .wg-service .action {
    right: 55px;
  }
}
@media (max-width: 575px) {
  .wg-service .image img {
    max-height: 300px;
  }
}

.wg-tech {
  padding: 24px 0px 23px;
  border-bottom: 1px solid var(--white-16);
  position: relative;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.wg-tech .tech_text {
  color: var(--white-32);
  display: flex;
  justify-content: center;
  gap: 8px;
}
.wg-tech > .tech_text {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 1;
  visibility: visible;
}
.wg-tech .infiniteSlide_tech_main {
  position: absolute;
  inset: 0;
  background: rgba(var(--primary-rgb), 0.08);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  display: flex;
  align-items: center;
}
.wg-tech .infiniteSlide_tech > * {
  margin-left: 20px;
  margin-right: 20px;
}
.wg-tech .infiniteSlide_tech .tech_text .text {
  color: var(--white);
}
.wg-tech .infiniteSlide_tech .tech_text .process {
  color: var(--primary);
}
.wg-tech .app_icon {
  box-shadow: 0px 0.5px 0.5px 0px rgba(255, 255, 255, 0.3215686275) inset, 0px 1px 0.5px 0px rgba(255, 255, 255, 0.1215686275) inset, 0px 4px 16px 0px rgba(255, 255, 255, 0.1607843137) inset, 0px -12px 16px 0px rgba(255, 255, 255, 0.0588235294) inset, 0px 0px 0px 1px rgba(0, 0, 0, 0.5607843137), 0px 3px 6px 0px rgba(0, 0, 0, 0.1882352941), 0px 10px 10px 0px rgba(0, 0, 0, 0.0588235294), 0px 12px 16px 0px rgba(0, 0, 0, 0.0588235294), 0px 23px 14px 0px rgba(0, 0, 0, 0.0588235294);
  backdrop-filter: blur(12px);
  border-radius: 999px;
}
.wg-tech:hover, .wg-tech.active {
  border-color: rgba(var(--primary-rgb), 0.16);
}
.wg-tech:hover .infiniteSlide_tech_main, .wg-tech.active .infiniteSlide_tech_main {
  opacity: 1;
  visibility: visible;
}
.wg-tech:hover > .tech_text, .wg-tech.active > .tech_text {
  opacity: 0;
  visibility: hidden;
}
@media (max-width: 991px) {
  .wg-tech .infiniteSlide_tech > * {
    margin-left: 10px;
    margin-right: 10px;
  }
}

.wg-indicator {
  text-align: center;
}
.wg-indicator .indicate-title {
  margin-bottom: 24px;
}
.wg-indicator .indicate-counter {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 4px;
}
@media (min-width: 1200px) {
  .wg-indicator .indicate-title {
    margin-bottom: 40px;
  }
}

.wg-plan {
  padding: 48px;
  padding-top: 0;
  position: relative;
}
.wg-plan .br-line {
  display: flex;
  height: 2px;
  margin-bottom: 26px;
}
.wg-plan .plan-name,
.wg-plan .plan-desc,
.wg-plan .btn-action {
  margin-bottom: 40px;
}
.wg-plan .plan-price {
  margin-bottom: 24px;
  display: flex;
  align-items: start;
  gap: 6px;
  letter-spacing: -0.8px;
}
.wg-plan .benefit-list {
  gap: 16px;
}
.wg-plan .benefit-list li:not(.benefit_title) span {
  color: var(--white-64);
}
.wg-plan .bg-img {
  position: absolute;
  inset: 0;
}
.wg-plan .bg-img.bg-img_1 {
  background-image: url("./../../assets/images/item/start.png");
  background-repeat: repeat-y;
  background-position: center;
  animation: moveUp 60s linear infinite;
}
.wg-plan .bg-img.bg-img_2 {
  display: flex;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
}
.wg-plan .bg-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wg-plan.style-2 {
  border: 1px solid rgba(var(--primary-rgb), 0.16);
  backdrop-filter: blur(6px);
  overflow: hidden;
}
.wg-plan.style-2.type-2 {
  background-color: rgba(255, 255, 255, 0.05);
}
.wg-plan.style-2.type-2 .bg-img {
  overflow: hidden;
  filter: blur(320px);
}
.wg-plan.style-2.type-2 .bg-img img {
  transform: unset;
  mix-blend-mode: overlay;
  filter: blur(160px);
}
.wg-plan.style-2.type-3 {
  border-color: rgba(255, 255, 255, 0.1019607843);
  background-color: rgba(255, 255, 255, 0.0509803922);
}
@media (min-width: 1200px) {
  .wg-plan .br-line {
    margin-bottom: 46px;
  }
}
@media (max-width: 1199px) {
  .wg-plan {
    padding: 20px 15px;
    padding-top: 0;
  }
}

.wg-work {
  box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, 0.0509803922) inset;
  position: relative;
}
.wg-work .work-image {
  aspect-ratio: 1.4545454545;
  overflow: hidden;
  background: #080808;
}
.wg-work .work-image img,
.wg-work .work-image video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wg-work .work-content {
  position: absolute;
  inset: 0;
  padding: 20px 15px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.wg-work .work_top,
.wg-work .work_bottom {
  display: flex;
  justify-content: space-between;
}
.wg-work .work_bottom {
  align-items: end;
}
@media (min-width: 1200px) {
  .wg-work .work-content {
    padding: 32px;
  }
  .wg-work .work-content .tf-list {
    gap: 16px;
  }
}

.wg-tech-v2 {
  border-radius: 50%;
  aspect-ratio: 1;
  border: 1px solid var(--white-32);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  padding: 20px;
}
.wg-tech-v2 .tech-name {
  margin-bottom: 24px;
}
.wg-tech-v2 .tech-desc {
  margin-bottom: 32px;
  color: var(--white-64);
}
.wg-tech-v2 .tech-content {
  position: relative;
  z-index: 2;
}
.wg-tech-v2 > canvas {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100% !important;
  height: 100% !important;
}
.wg-tech-v2:hover {
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.56), rgba(0, 0, 0, 0.56)), linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0) 100%), radial-gradient(65.62% 65.62% at 50% 50%, rgba(0, 0, 0, 0.32) 0%, rgba(0, 0, 0, 0) 100%);
  box-shadow: 0px 0.5px 0.5px 0px rgba(255, 255, 255, 0.3215686275) inset, 0px 1px 0.5px 0px rgba(255, 255, 255, 0.1215686275) inset, 0px 4px 16px 0px rgba(255, 255, 255, 0.1607843137) inset, 0px -12px 16px 0px rgba(255, 255, 255, 0.0588235294) inset, 0px 0px 0px 1px rgba(0, 0, 0, 0.5607843137), 0px 3px 6px 0px rgba(0, 0, 0, 0.1882352941), 0px 10px 10px 0px rgba(0, 0, 0, 0.0588235294), 0px 12px 16px 0px rgba(0, 0, 0, 0.0588235294), 0px 23px 14px 0px rgba(0, 0, 0, 0.0588235294);
}
@media (min-width: 1200px) {
  .wg-tech-v2 .tech-name {
    margin-bottom: 40px;
  }
  .wg-tech-v2 .tech-desc {
    margin-bottom: 52px;
  }
}
@media (max-width: 1199px) {
  .wg-tech-v2 > canvas {
    display: none;
  }
}

.preloader {
  width: 100vw;
  height: 100vh;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9999999;
  --preloader-clip: 0;
  clip-path: inset(0 0 0 var(--preloader-clip));
  background-color: var(--black);
  transition: background-color 0.18s linear;
}
.preloader.is-light {
  background-color: var(--white);
}
.preloader.is-light .preloader-overlay {
  opacity: 1;
}
.preloader.is-light .site-name .loader-wordmark-white {
  opacity: 0;
}
.preloader.is-light .site-name .loader-wordmark-black {
  opacity: 1;
  visibility: visible;
}
.preloader .preloader-gutters {
  background-color: transparent;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
}
.preloader .preloader-gutters .bar {
  width: 12.5%;
  height: 100%;
  background: transparent;
  position: relative;
}
.preloader .preloader-gutters .bar .inner-bar {
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background-color: var(--primary);
}
.preloader .preloader-overlay {
  background-color: var(--white);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  transform: none;
  opacity: 0;
  transition: opacity 0.18s linear;
}
.preloader .site-name {
  background-color: transparent;
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  padding: 24px;
  pointer-events: none;
}
.preloader .site-name .loader-wordmark {
  grid-area: 1/1;
  width: min(520px, 78vw);
  max-width: 100%;
  height: auto;
  transition: opacity 0.18s linear;
}
.preloader .site-name .loader-wordmark-white {
  opacity: 1;
  mix-blend-mode: difference;
}
.preloader .site-name .loader-wordmark-black {
  opacity: 0;
  visibility: hidden;
}

@media only screen and (max-width: 767px) {
  .preloader .site-name .loader-wordmark {
    width: min(340px, 72vw);
  }
}
/*-- Button Go Top --*/
#goTop {
  position: fixed;
  padding: 0;
  bottom: 40px;
  right: 20px;
  width: 38px;
  height: 38px;
  background: var(--black);
  color: var(--white);
  font-size: 20px;
  text-align: center;
  line-height: 50px;
  cursor: pointer;
  border: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease;
  box-shadow: 0px 4px 20px 0px rgba(255, 255, 255, 0.1019607843);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
#goTop .border-progress {
  position: absolute;
  top: -1px;
  left: -1px;
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  border: 1px solid var(--primary);
  mask-image: conic-gradient(var(--primary) var(--progress-angle, 0deg), transparent 0);
  -webkit-mask-image: conic-gradient(var(--primary) var(--progress-angle, 0deg), transparent 0);
  content: "";
  z-index: 1;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
#goTop.show {
  opacity: 1;
  visibility: visible;
}
#goTop .icon {
  font-size: 12px;
  color: var(--primary);
  transform: rotate(-90deg);
  aspect-ratio: 1;
}
#goTop .ic-wrap {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  animation: iconBounce 2s linear 0s infinite;
  display: flex;
}
#goTop:hover {
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.5);
}
@media (min-width: 992px) {
  #goTop {
    right: 40px;
  }
}

.tf-left-bar {
  position: fixed;
  left: 15px;
  top: 100px;
  z-index: 1001;
}
.tf-left-bar .btn-setting-color {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-size: 20px;
  background-color: var(--primary);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--black);
  animation: spin 10s infinite ease;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .tf-left-bar {
    display: none;
  }
}

.settings-color {
  display: flex;
  flex-wrap: wrap;
  gap: 26px;
}
.settings-color .choose-item {
  display: block;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  position: relative;
}
.settings-color .choose-item:nth-child(1) {
  background: #ffffff;
}
.settings-color .choose-item:nth-child(2) {
  background: #e5e5e5;
}
.settings-color .choose-item:nth-child(3) {
  background: #cccccc;
}
.settings-color .choose-item:nth-child(4) {
  background: #b3b3b3;
}
.settings-color .choose-item:nth-child(5) {
  background: #999999;
}
.settings-color .choose-item:nth-child(6) {
  background: #808080;
}
.settings-color .choose-item:nth-child(7) {
  background: #666666;
}
.settings-color .choose-item:nth-child(8) {
  background: #4d4d4d;
}
.settings-color .choose-item::before {
  position: absolute;
  content: "";
  border: 1px solid #fff;
  border-radius: 50%;
  width: calc(100% + 10px);
  height: calc(100% + 10px);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.settings-color .choose-item.active::before {
  opacity: 1;
}

.logo-site {
  display: inline-flex;
  align-items: center;
}
.logo-site .logo-site__img {
  width: 34px;
  height: auto;
  display: block;
}
.logo-site .icon {
  font-size: 40px;
  color: var(--primary);
}

/* ---------------------------------------------------------
    * Name: Davies - Personal Portfolio HTML Template
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com 

	* Abstracts variable

    * Core CSS

    * Components
        * Blog
        * Layout
        * Header
        * Accordion
        * Animation
        * Box Icon
        * Button
        * Carousel
        * Form
        * Hover
        * Nice Select
        * Popup
        * Section
        * Slider
        * Tabs
        * Testimonial
        * Widget
        * Footer

 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
.nice-select {
  -webkit-tap-highlight-color: transparent;
  background-color: #fff;
  border: 1px solid #E5E5EA;
  border-radius: 3px;
  padding: 10px 20px;
  box-sizing: border-box;
  clear: both;
  cursor: pointer;
  display: block;
  /* float: left; */
  font-size: 16px;
  font-weight: 400;
  /* text-transform: capitalize; */
  outline: none;
  position: relative;
  transition: all linear 0.2s;
  user-select: none;
  white-space: nowrap;
  width: 100%;
}

.nice-select:active,
.nice-select.open,
.nice-select:focus {
  border-color: #999;
}

.nice-select:after {
  border-bottom: 1.7px solid #3A3A3C;
  border-right: 1.7px solid #3A3A3C;
  content: "";
  height: 8px;
  width: 8px;
  margin-top: -4px;
  pointer-events: none;
  position: absolute;
  right: 24px;
  top: 50%;
  -webkit-transform-origin: 66% 66%;
  -ms-transform-origin: 66% 66%;
  transform-origin: 66% 66%;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}

.nice-select.open:after {
  -webkit-transform: rotate(-135deg);
  -ms-transform: rotate(-135deg);
  transform: rotate(-135deg);
  -moz-transform: rotate(-135deg);
  -o-transform: rotate(-135deg);
}

.nice-select.open .list {
  opacity: 1;
  z-index: 10;
  pointer-events: auto;
  -webkit-transform: scale(1) translateY(0);
  -ms-transform: scale(1) translateY(0);
  transform: scale(1) translateY(0);
  width: 100%;
  -moz-transform: scale(1) translateY(0);
  -o-transform: scale(1) translateY(0);
}

.nice-select.disabled {
  border-color: #ededed;
  color: #999;
  pointer-events: none;
}

.nice-select.disabled:after {
  border-color: #cccccc;
}

.nice-select.wide {
  width: 100%;
}

.nice-select.wide .list {
  left: 0 !important;
  right: 0 !important;
}

.nice-select.right {
  float: right;
}

.nice-select.right .list {
  left: auto;
  right: 0;
}

.nice-select.small {
  font-size: 12px;
  height: 36px;
  line-height: 34px;
}

.nice-select.small:after {
  height: 4px;
  width: 4px;
}

.nice-select.small .option {
  line-height: 34px;
  min-height: 34px;
}

.nice-select .list {
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 0 0 0 1px rgba(68, 68, 68, 0.11);
  box-sizing: border-box;
  margin-top: 4px;
  opacity: 0;
  overflow: hidden;
  padding: 0;
  pointer-events: none;
  position: absolute;
  top: 100%;
  left: 0;
  -webkit-transform-origin: 50% 0;
  -ms-transform-origin: 50% 0;
  transform-origin: 50% 0;
  -webkit-transform: scale(0.75) translateY(-21px);
  -ms-transform: scale(0.75) translateY(-21px);
  transform: scale(0.75) translateY(-21px);
  -webkit-transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
  transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
  z-index: 9;
  width: 100%;
  font-size: 14px;
  max-height: 160px;
  overflow: auto;
}

.nice-select .list.style {
  max-height: unset;
}

.nice-select .list::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  background-color: #f5f5f5;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
}

.nice-select .list::-webkit-scrollbar-thumb {
  background-color: #a7a7a7;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
}

.nice-select .list::-webkit-scrollbar {
  width: 6px;
  height: 4px;
  background-color: #f5f5f5;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
}

.nice-select .list:hover .option:not(:hover) {
  background-color: transparent !important;
}

.nice-select .option {
  cursor: pointer;
  font-weight: 400;
  line-height: 40px;
  list-style: none;
  min-height: 40px;
  outline: none;
  padding-left: 18px;
  padding-right: 29px;
  text-align: left;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.nice-select .option:hover,
.nice-select .option.focus,
.nice-select .option.selected.focus {
  background-color: #f6f6f6;
}

.nice-select .option.selected {
  font-weight: 600;
  color: #111;
}

.nice-select .option.disabled {
  background-color: transparent;
  color: #999;
  cursor: default;
  pointer-events: none;
}

.no-csspointerevents .nice-select .list {
  display: none;
}

.no-csspointerevents .nice-select.open .list {
  display: block;
}

/*-- CSS Custom --*/
.nice-select {
  background-color: transparent;
  border: 0;
  padding: 0;
  border-bottom: 1px solid var(--white-16);
  padding-bottom: 15px;
}
.nice-select .list {
  background-color: var(--black);
  border-radius: 0;
  box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.15);
}
.nice-select::after {
  content: none;
}
.nice-select::before {
  content: "\e906";
  font-family: "icomoon";
  position: absolute;
  right: 9px;
  top: 7px;
  font-size: 10px;
  line-height: 1;
  color: var(--white-64);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.nice-select .option {
  background-color: transparent !important;
  color: var(--white-64);
}
.nice-select .option.selected {
  color: var(--primary);
}
.nice-select .option:hover {
  color: var(--primary);
}
.nice-select.open {
  border-color: var(--primary);
}
.nice-select.open::before {
  transform: rotate(180deg);
}

/* ---------------------------------------------------------
    * Name: Davies - Personal Portfolio HTML Template
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com 

	* Abstracts variable

    * Core CSS

    * Components
        * Blog
        * Layout
        * Header
        * Accordion
        * Animation
        * Box Icon
        * Button
        * Carousel
        * Form
        * Hover
        * Nice Select
        * Popup
        * Section
        * Slider
        * Tabs
        * Testimonial
        * Widget
        * Footer

 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
.ic-accordion-custom {
  position: relative;
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.35s linear;
}
.ic-accordion-custom::after, .ic-accordion-custom::before {
  content: "";
  position: absolute;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.ic-accordion-custom::before {
  height: 100%;
  width: 2px;
}
.ic-accordion-custom::after {
  height: 2px;
  width: 100%;
}

.accordion-action {
  padding-top: 32px;
  padding-bottom: 0;
  margin-bottom: 24px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.accordion-action .icon {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  transform: rotate(180deg);
}
.accordion-action.collapsed {
  margin-bottom: 0px;
  padding-bottom: 32px;
}
.accordion-action.collapsed .icon {
  transform: rotate(0deg);
}
@media (max-width: 991px) {
  .accordion-action {
    padding-top: 20px;
  }
  .accordion-action.collapsed {
    padding-bottom: 20px;
  }
}

.accordion-faq_item {
  border-bottom: 1px solid var(--white-16);
}
.accordion-faq_item .accordion-action {
  padding-top: 0;
  padding-bottom: 24px;
  margin-bottom: 0;
  display: flex;
  align-items: center;
  gap: 12px;
}
.accordion-faq_item .accordion-action.collapsed {
  padding-bottom: 31px;
}
.accordion-faq_item .ic-wrap {
  justify-content: end;
  padding-right: 9px;
}
.accordion-faq_item .accordion-content {
  padding-bottom: 31px;
}
.accordion-faq_item .accordion-order,
.accordion-faq_item .ic-wrap {
  width: 100%;
  max-width: 97px;
}
.accordion-faq_item .accordion-text {
  width: 100%;
  max-width: 642px;
}
@media (min-width: 1200px) {
  .accordion-faq_item .accordion-content {
    width: 100%;
    max-width: 642px;
    margin: 0 auto;
  }
}
@media (max-width: 575px) {
  .accordion-faq_item .accordion-order,
  .accordion-faq_item .ic-wrap {
    max-width: 30px;
  }
  .accordion-faq_item .accordion-action.collapsed {
    padding-bottom: 24px;
  }
  .accordion-faq_item .accordion-content {
    padding-bottom: 24px;
  }
}

.accordion-faq_list {
  display: grid;
  gap: 32px;
}
.accordion-faq_list .accordion-faq_item:last-child {
  border: 0;
}
.accordion-faq_list .accordion-faq_item:last-child .accordion-action.collapsed {
  padding-bottom: 0;
}
.accordion-faq_list .accordion-faq_item:last-child .accordion-content {
  padding-bottom: 0;
}

.service-accordion_item .accordion-action {
  padding-top: 0;
  z-index: 2;
  position: relative;
  padding-bottom: 0;
  margin-bottom: -24px;
}
.service-accordion_item .accordion-action.collapsed {
  color: var(--white-32);
  margin-bottom: 0;
}
.service-accordion_item .accordion-content {
  display: flex;
  gap: 30px 12px;
}
.service-accordion_item .image-left {
  box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, 0.0509803922) inset;
}
.service-accordion_item .image-left img {
  object-fit: cover;
  min-height: 350px;
}
.service-accordion_item .content-right {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  white-space: nowrap;
  gap: 24px;
}
@media (min-width: 1200px) {
  .service-accordion_item .content-right {
    padding-left: 28px;
  }
}
@media (max-width: 575px) {
  .service-accordion_item .accordion-content {
    flex-wrap: wrap;
  }
}

.service-accordion-main {
  display: grid;
  gap: 24px;
}

/*------------ Footer ---------------- */
/* ---------------------------------------------------------
    * Name: Davies - Personal Portfolio HTML Template
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com 

	* Abstracts variable

    * Core CSS

    * Components
        * Blog
        * Layout
        * Header
        * Accordion
        * Animation
        * Box Icon
        * Button
        * Carousel
        * Form
        * Hover
        * Nice Select
        * Popup
        * Section
        * Slider
        * Tabs
        * Testimonial
        * Widget
        * Footer

 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
.tf-footer .footer-inner {
  padding-top: 40px;
  padding-bottom: 40px;
}
.tf-footer .br-line {
  background-color: var(--white-16);
  display: flex;
}
.tf-footer.has-skyline {
  position: relative;
  overflow: hidden;
  background: #000;
}
.tf-footer.has-skyline > .home-section-mirror-bg {
  display: none;
}
.tf-footer.has-skyline > .container,
.tf-footer.has-skyline .footer-inner,
.tf-footer.has-skyline .footer-bottom {
  position: relative;
  z-index: 2;
}
.tf-footer.has-skyline .footer-inner {
  padding-top: clamp(12px, 1.2vw, 20px);
  padding-bottom: clamp(72px, 7vw, 112px);
}
.tf-footer.has-skyline .footer-bottom {
  padding-top: clamp(12px, 1.4vw, 18px);
  padding-bottom: clamp(28px, 2.8vw, 40px);
}
.tf-footer.has-skyline .footer-bottom > .container {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.tf-footer.home-future-section .footer-inner,
.tf-footer.home-future-section .footer-bottom {
  position: relative;
  z-index: 2;
}
.tf-footer.home-future-section .footer-shell__intro > *,
.tf-footer.home-future-section .footer-nav-group,
.tf-footer.home-future-section .footer-bottom .bottom > * {
  will-change: transform, opacity;
}
.tf-footer.home-future-section .footer-nav-group {
  transform-origin: top left;
}
.tf-footer.style-2 .footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.tf-footer.style-2 .footer-bottom {
  padding-bottom: 28px;
}
.tf-footer.style-2 .footer-bottom .right {
  display: flex;
  gap: 32px;
  align-items: center;
  flex-wrap: wrap;
}
@media (min-width: 1200px) {
  .tf-footer.style-2 .footer-bottom .img-agency {
    height: 290px;
  }
}
@media (max-width: 575px) {
  .tf-footer.style-2 .footer-bottom .bottom {
    justify-content: center;
  }
  .tf-footer.style-2 .footer-bottom .right {
    width: 100%;
    justify-content: center;
  }
}
.footer-shell {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(28px, 4vw, 72px);
  align-items: start;
}
.footer-shell__intro,
.footer-nav-group {
  padding-top: clamp(12px, 1.4vw, 18px);
  border-top: 1px solid var(--white-16);
}
.footer-shell__intro {
  display: block;
}
.footer-eyebrow {
  margin: 0 0 clamp(18px, 2vw, 28px);
  color: var(--white-64);
  text-transform: uppercase;
}
.footer-statement {
  margin: 0;
  max-width: 12ch;
  font-size: 24px;
  line-height: 30px;
  font-weight: 400;
  letter-spacing: -0.05em;
}
.footer-summary {
  margin: clamp(22px, 2.6vw, 34px) 0 0;
  max-width: 52ch;
  color: var(--white-64);
}
.footer-shell__cta {
  margin-top: clamp(24px, 2.8vw, 36px);
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.footer-shell__nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 1.6vw, 24px);
  align-items: start;
}
.footer-heading {
  margin-bottom: 12px;
  text-transform: uppercase;
}
.footer-menu-list {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.footer-menu-list a {
  display: inline-flex;
  color: rgba(255, 255, 255, 0.72);
  font-size: 13px;
  line-height: 1.45;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: color 0.25s ease, transform 0.25s ease, opacity 0.25s ease;
}
.footer-menu-list a:hover {
  color: var(--white);
  transform: translateX(6px);
}
.footer-menu-note {
  display: inline-flex;
  color: rgba(255, 255, 255, 0.72);
  font-size: 13px;
  line-height: 1.45;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.footer-bottom {
  padding-bottom: clamp(28px, 2.8vw, 40px);
}
.footer-bottom .bottom {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  padding-top: 12px;
  border-top: 1px solid var(--white-16);
}
.footer-bottom .footer-bottom__meta {
  display: grid;
  gap: 6px;
}
.footer-bottom .footer-bottom__rights {
  color: var(--white-64);
}
.footer-bottom__links {
  display: flex;
  align-items: center;
  gap: clamp(16px, 2vw, 28px);
  flex-wrap: wrap;
}
.footer-bottom__links a {
  color: rgba(255, 255, 255, 0.72);
  transition: color 0.25s ease, transform 0.25s ease, opacity 0.25s ease;
}
.footer-bottom__links a:hover {
  color: var(--white);
  transform: translateX(6px);
}
.action-go-top {
  gap: 6px;
}
.action-go-top .icon-arrow-long-right {
  transform: rotate(-90deg);
}
@media (max-width: 1199px) {
  .footer-shell {
    display: block;
  }
}
@media (max-width: 991px) {
  .footer-shell__nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.footer-skyline {
  --skyline-x: 50%;
  --skyline-y: 58%;
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.footer-skyline__inner {
  position: relative;
  width: min(1326px, calc(100vw - 30px));
  margin: 0 auto;
  height: 100%;
  overflow: hidden;
}

.footer-skyline__spotlight {
  display: none;
}

.footer-skyline__horizon {
  position: absolute;
  left: 2%;
  right: 2%;
  bottom: 0;
  height: 1px;
  background: rgba(255, 255, 255, 0.14);
}

.footer-skyline__building {
  position: absolute;
  left: var(--x);
  bottom: 0;
  width: var(--w);
  height: var(--h);
  overflow: hidden;
  opacity: 0.88;
  filter: brightness(calc(0.72 + var(--glow, 0.12)));
  transition: filter 0.35s ease, opacity 0.35s ease, box-shadow 0.35s ease;
}
.footer-skyline__building::before,
.footer-skyline__building::after {
  content: "";
  position: absolute;
  inset: 0;
}
.footer-skyline__building::before {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.015) 56%, rgba(255, 255, 255, 0.07) 100%);
}
.footer-skyline__building::after {
  inset: 10% 14% 0;
  transform-origin: bottom center;
  transform: scaleY(var(--build, 0.16));
  opacity: calc(0.12 + var(--glow, 0.22));
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0.02) 48%, rgba(255, 255, 255, 0.12) 100%), repeating-linear-gradient(to right, rgba(255, 255, 255, calc(0.045 + var(--glow, 0.08))) 0 1px, transparent 1px 12px), repeating-linear-gradient(to bottom, rgba(255, 255, 255, calc(0.04 + var(--glow, 0.1))) 0 1px, transparent 1px 10px);
  mix-blend-mode: screen;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.35s ease;
}
.footer-skyline__building .footer-skyline__building-progress,
.footer-skyline__building .footer-skyline__building-scan {
  position: absolute;
  pointer-events: none;
}
.footer-skyline__building .footer-skyline__building-progress {
  left: 10%;
  right: 10%;
  bottom: 0;
  height: 100%;
  transform-origin: bottom center;
  transform: scaleY(calc(var(--build, 0.16) * 0.88));
  opacity: calc(0.08 + var(--glow, 0.18));
  background: repeating-linear-gradient(to top, rgba(255, 255, 255, 0.09) 0 1px, transparent 1px 14px);
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.35s ease;
}
.footer-skyline__building .footer-skyline__building-scan {
  left: 10%;
  right: 10%;
  height: 14%;
  bottom: calc((var(--build, 0.16) * 100%) - 2px);
  opacity: calc(var(--glow, 0.08) * 1.8);
  border-top: 1px solid rgba(255, 255, 255, 0.34);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0));
  box-shadow: 0 -10px 18px rgba(255, 255, 255, 0.08);
  transition: bottom 0.45s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.35s ease;
}
.footer-skyline__building.is-slab {
  clip-path: polygon(0 100%, 0 0, 100% 0, 100% 100%);
}
.footer-skyline__building.is-setback {
  clip-path: polygon(0 100%, 0 18%, 18% 18%, 18% 8%, 82% 8%, 82% 18%, 100% 18%, 100% 100%);
}
.footer-skyline__building.is-crown {
  clip-path: polygon(0 100%, 0 20%, 28% 20%, 36% 6%, 64% 6%, 72% 20%, 100% 20%, 100% 100%);
}
.footer-skyline__building.is-spire {
  clip-path: polygon(0 100%, 0 16%, 38% 16%, 50% 0, 62% 16%, 100% 16%, 100% 100%);
}
.footer-skyline__building.is-burj {
  clip-path: polygon(18% 100%, 18% 84%, 26% 84%, 26% 62%, 38% 62%, 38% 42%, 46% 42%, 46% 18%, 50% 0, 54% 18%, 54% 48%, 66% 48%, 66% 70%, 78% 70%, 78% 100%);
}
.footer-skyline__crane {
  position: absolute;
  left: var(--x);
  bottom: 0;
  width: var(--jib);
  height: calc(var(--mast) + 44px);
  transform: translateX(-50%);
  opacity: calc(0.16 + var(--active, 0) * 0.84);
  filter: brightness(calc(0.76 + var(--crane-glow, 0.12)));
  transition: opacity 0.35s ease, filter 0.35s ease;
}
.footer-skyline__crane-mast,
.footer-skyline__crane-jib,
.footer-skyline__crane-counter,
.footer-skyline__crane-cable {
  position: absolute;
  background: rgba(255, 255, 255, 0.18);
}
.footer-skyline__crane-mast {
  left: 0;
  bottom: 0;
  width: 1px;
  height: var(--mast);
}
.footer-skyline__crane-jib {
  left: 0;
  bottom: calc(var(--mast) - 1px);
  width: var(--jib);
  height: 1px;
}
.footer-skyline__crane-counter {
  right: calc(100% - 1px);
  bottom: calc(var(--mast) - 1px);
  width: 32px;
  height: 1px;
}
.footer-skyline__crane-trolley,
.footer-skyline__crane-hook {
  position: absolute;
  transition: left 0.45s cubic-bezier(0.22, 1, 0.36, 1), bottom 0.45s cubic-bezier(0.22, 1, 0.36, 1), transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.35s ease;
}
.footer-skyline__crane-trolley {
  left: var(--trolley, 28%);
  bottom: calc(var(--mast) - 4px);
  width: 8px;
  height: 8px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  background: rgba(0, 0, 0, 0.8);
  transform: translateX(-50%);
}
.footer-skyline__crane-cable {
  left: var(--trolley, 28%);
  bottom: calc(var(--mast) - 4px);
  width: 1px;
  height: var(--lift, 26px);
  transform: translateX(-50%);
  transition: left 0.45s cubic-bezier(0.22, 1, 0.36, 1), height 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
.footer-skyline__crane-hook {
  left: var(--trolley, 28%);
  bottom: calc(var(--mast) - var(--lift, 26px) - 12px);
  width: 9px;
  height: 9px;
  border-left: 1px solid rgba(255, 255, 255, 0.3);
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  transform: translateX(-50%) rotate(calc(36deg + var(--swing, 0deg)));
  transform-origin: top center;
}
@media (max-width: 991px) {
  .tf-footer.has-skyline .footer-inner {
    padding-top: 12px;
    padding-bottom: 72px;
  }
  .tf-footer.has-skyline .footer-bottom {
    padding-top: 16px;
  }
  .tf-footer.has-skyline .footer-bottom > .container {
    gap: 0;
  }
}
@media (max-width: 767px) {
  .footer-statement {
    font-size: 24px;
    line-height: 30px;
    max-width: 11ch;
  }
  .footer-shell__nav {
    grid-template-columns: 1fr;
  }
}
.section-villa23-brief,
.section-villa23-gallery,
.section-villa23-amenities {
  position: relative;
  background: var(--black);
}

.section-villa23-gallery .project-section-copy {
  display: none;
}

.section-villa23-brief {
  overflow: hidden;
}

.section-villa23-brief::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 18% 24%, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0) 28%), linear-gradient(180deg, rgba(255, 255, 255, 0.02) 0%, rgba(255, 255, 255, 0) 100%);
  pointer-events: none;
}

.villa23-brief-shell,
.villa23-gallery-mosaic,
.villa23-gallery-ledger,
.villa23-amenities-grid {
  position: relative;
  z-index: 1;
}

.villa23-brief-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 40px 56px;
  align-items: end;
}

.villa23-brief-intro {
  display: grid;
  gap: 18px;
  max-width: 720px;
}

.villa23-brief-title {
  font-size: clamp(44px, 5vw, 70px);
  line-height: 0.96;
  letter-spacing: -0.06em;
  max-width: 11ch;
}

.villa23-brief-copy {
  max-width: 42ch;
  color: var(--white-64);
}

.villa23-brief-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.villa23-brief-card {
  min-height: 230px;
  padding: 28px;
  border: 1px solid var(--white-16);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.01) 100%);
  display: grid;
  align-content: start;
  gap: 10px;
}

.villa23-brief-card__index,
.villa23-amenity-card__eyebrow {
  color: var(--white-64);
  letter-spacing: 0.08em;
}

.villa23-brief-card__value {
  font-size: clamp(30px, 4vw, 52px);
  line-height: 0.92;
  letter-spacing: -0.05em;
  font-weight: 400;
}

.villa23-brief-card__title {
  font-size: 24px;
  line-height: 1.04;
  letter-spacing: -0.04em;
}

.villa23-brief-card__copy,
.villa23-gallery-ledger__item p,
.villa23-amenity-card__body p,
.villa23-amenity-list li {
  color: var(--white-64);
}

.villa23-gallery-mosaic {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.82fr);
  grid-template-rows: repeat(2, minmax(260px, 1fr));
  gap: 20px;
  margin-bottom: 28px;
}

.villa23-gallery-tile {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--white-16);
  min-height: 280px;
  background: rgba(255, 255, 255, 0.02);
}

.villa23-gallery-tile::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.04) 0%, rgba(0, 0, 0, 0.54) 100%);
  pointer-events: none;
}

.villa23-gallery-tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s ease;
}

.villa23-gallery-tile:hover img {
  transform: scale(1.04);
}

.villa23-gallery-tile figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  padding: 20px 22px;
  display: grid;
  gap: 8px;
}

.villa23-gallery-tile figcaption span {
  color: rgba(255, 255, 255, 0.68);
  letter-spacing: 0.08em;
}

.villa23-gallery-tile figcaption strong {
  font-size: 24px;
  line-height: 1.08;
  letter-spacing: -0.04em;
  font-weight: 400;
  max-width: 18ch;
}

.villa23-gallery-tile--hero {
  grid-row: span 2;
  min-height: 560px;
}

.villa23-gallery-tile--hero figcaption {
  padding: 24px 26px;
}

.villa23-gallery-tile--hero figcaption strong {
  font-size: clamp(30px, 3.2vw, 42px);
  max-width: 11ch;
}

.villa23-gallery-ledger {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.villa23-gallery-ledger__item {
  padding-top: 18px;
  border-top: 1px solid var(--white-16);
  display: grid;
  gap: 10px;
}

.villa23-gallery-ledger__item span {
  color: rgba(255, 255, 255, 0.68);
  letter-spacing: 0.08em;
}

.section-villa23-amenities {
  overflow: hidden;
}

.section-villa23-amenities::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0) 36%), radial-gradient(circle at 84% 16%, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0) 24%);
  pointer-events: none;
}

.villa23-amenities-head {
  margin-bottom: 32px;
}

.villa23-amenities-panel {
  position: relative;
  z-index: 1;
  display: block;
}

.villa23-amenities-shell {
  border: 1px solid var(--white-16);
  background: rgba(0, 0, 0, 0.8);
}

.villa23-amenities-tabs {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
  padding: 18px 16px 16px;
  border-bottom: 1px solid var(--white-16);
}

.villa23-amenities-tab {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--white-32);
  padding: 6px 10px 12px;
  min-height: 94px;
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 10px;
  text-align: center;
  transition: color 0.28s ease, opacity 0.28s ease;
  position: relative;
}

.villa23-amenities-tab::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 0;
  height: 2px;
  background: transparent;
  transition: background-color 0.28s ease;
}

.villa23-amenities-tab.is-active {
  color: var(--white);
}

.villa23-amenities-tab.is-active::after {
  background: var(--white);
}

.villa23-amenities-tab:hover,
.villa23-amenities-tab:focus-visible {
  color: var(--white);
}

.villa23-amenities-tab__icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
}

.villa23-amenities-tab__icon svg {
  width: 34px;
  height: 34px;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: square;
  stroke-linejoin: miter;
  fill: none;
}

.villa23-amenities-tab__label {
  font-size: 13px;
  line-height: 1.12;
  letter-spacing: -0.03em;
  font-weight: 400;
  max-width: 10ch;
}

.villa23-amenities-stage {
  display: grid;
  grid-template-columns: minmax(320px, 0.34fr) minmax(0, 1fr);
  min-height: 468px;
}

.villa23-amenities-detail {
  padding: 30px 28px 28px;
  border-right: 1px solid var(--white-16);
  display: grid;
  align-content: start;
  gap: 16px;
  background: rgba(255, 255, 255, 0.02);
}

.villa23-amenities-detail__eyebrow {
  color: var(--white-64);
  letter-spacing: 0.08em;
}

.villa23-amenities-detail__title {
  font-size: clamp(32px, 3vw, 48px);
  line-height: 0.96;
  letter-spacing: -0.05em;
  font-weight: 400;
}

.villa23-amenities-detail__copy {
  color: var(--white-64);
  max-width: 26ch;
}

.villa23-amenities-detail__list {
  display: grid;
  gap: 10px;
  padding-top: 16px;
  border-top: 1px solid var(--white-16);
}

.villa23-amenities-detail__list li {
  position: relative;
  padding-left: 16px;
  color: var(--white-64);
}

.villa23-amenities-detail__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 8px;
  height: 1px;
  background: var(--white);
}

.villa23-amenities-detail__actions {
  margin-top: 6px;
}

.villa23-amenities-visual {
  position: relative;
  aspect-ratio: 1.6;
  overflow: hidden;
  background: #080808;
}

.villa23-amenities-visual__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.35s ease, transform 0.75s ease;
}

.villa23-amenities-visual__image.is-switching {
  opacity: 0.2;
  transform: scale(1.03);
}

.villa23-amenities-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.villa23-amenity-card {
  border: 1px solid var(--white-16);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.025) 0%, rgba(255, 255, 255, 0.01) 100%);
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
}

.villa23-amenity-card__media {
  aspect-ratio: 0.9523809524;
  overflow: hidden;
  border-bottom: 1px solid var(--white-16);
}

.villa23-amenity-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s ease;
}

.villa23-amenity-card:hover .villa23-amenity-card__media img {
  transform: scale(1.04);
}

.villa23-amenity-card__body {
  padding: 24px 22px 26px;
  display: grid;
  align-content: start;
  gap: 12px;
}

.villa23-amenity-card__body h3 {
  font-size: 28px;
  line-height: 1.04;
  letter-spacing: -0.04em;
  font-weight: 400;
}

.villa23-amenity-list {
  display: grid;
  gap: 10px;
  padding-top: 18px;
  margin-top: 6px;
  border-top: 1px solid var(--white-16);
}

.villa23-amenity-list li {
  position: relative;
  padding-left: 18px;
}

.villa23-amenity-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 8px;
  height: 1px;
  background: var(--white);
}

@media (max-width: 1199px) {
  .villa23-brief-shell,
  .villa23-gallery-mosaic,
  .villa23-amenities-grid {
    grid-template-columns: 1fr;
  }
  .villa23-amenities-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .villa23-amenities-stage {
    grid-template-columns: 1fr;
  }
  .villa23-amenities-detail {
    border-right: 0;
    border-bottom: 1px solid var(--white-16);
  }
  .villa23-brief-title {
    max-width: 13ch;
  }
  .villa23-gallery-tile--hero {
    grid-row: auto;
    min-height: 460px;
  }
}

@media (max-width: 767px) {
  .villa23-brief-grid,
  .villa23-gallery-ledger {
    grid-template-columns: 1fr;
  }
  .villa23-amenities-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-left: 10px;
    padding-right: 10px;
  }
  .villa23-amenities-tab {
    min-height: 88px;
    padding-left: 8px;
    padding-right: 8px;
  }
  .villa23-amenities-detail {
    padding: 22px 18px 20px;
  }
  .villa23-amenities-detail__title {
    font-size: 28px;
  }
  .villa23-amenities-visual {
    min-height: 320px;
  }
  .villa23-brief-card,
  .villa23-gallery-tile,
  .villa23-amenity-card__body {
    padding-left: 18px;
    padding-right: 18px;
  }
  .villa23-gallery-tile--hero {
    min-height: 360px;
  }
  .villa23-amenity-card__body h3 {
    font-size: 24px;
  }
}

.villa23-gallery-scroll-shell {
  position: relative;
  z-index: 1;
  min-height: 220vh;
}

.villa23-gallery-scroll-pin {
  position: relative;
  height: 100vh;
  display: flex;
  align-items: center;
}

.villa23-gallery-scroll-stage {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 28px;
  align-items: center;
}

.villa23-gallery-scroll-visuals {
  display: grid;
  justify-items: center;
  gap: 26px;
  padding: 20px 0;
}

.villa23-gallery-scroll-main,
.villa23-gallery-scroll-aux {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--white-16);
  background: rgba(255, 255, 255, 0.02);
}

.villa23-gallery-scroll-main::after,
.villa23-gallery-scroll-aux::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.06) 0%, rgba(0, 0, 0, 0.52) 100%);
  pointer-events: none;
}

.villa23-gallery-scroll-main img,
.villa23-gallery-scroll-aux img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.villa23-gallery-scroll-main figcaption,
.villa23-gallery-scroll-aux figcaption {
  position: absolute;
  inset: auto 0 0 0;
  z-index: 1;
  display: grid;
  gap: 6px;
  padding: 18px 20px;
}

.villa23-gallery-scroll-main figcaption span,
.villa23-gallery-scroll-aux figcaption span {
  color: rgba(255, 255, 255, 0.68);
  letter-spacing: 0.08em;
}

.villa23-gallery-scroll-aux {
  width: min(32vw, 420px);
  aspect-ratio: 1.6;
}

.villa23-gallery-scroll-aux figcaption {
  padding: 14px 16px;
}

.villa23-gallery-scroll-main {
  width: min(76vw, 920px);
  aspect-ratio: 1.72;
  transform-origin: center center;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.3);
}

.villa23-gallery-scroll-main figcaption {
  padding: 22px 24px;
}

.villa23-gallery-scroll-main figcaption strong {
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.02;
  letter-spacing: -0.05em;
  font-weight: 400;
  max-width: 12ch;
}

.villa23-gallery-scroll-copy {
  display: grid;
  gap: 14px;
  align-content: center;
  max-width: 280px;
}

.villa23-gallery-scroll-copy span {
  color: rgba(255, 255, 255, 0.68);
  letter-spacing: 0.08em;
}

.villa23-gallery-scroll-copy h3 {
  font-size: 32px;
  line-height: 0.98;
  letter-spacing: -0.05em;
  font-weight: 400;
  max-width: 9ch;
}

@media (max-width: 1199px) {
  .villa23-gallery-scroll-shell {
    min-height: auto;
  }

  .villa23-gallery-scroll-pin {
    height: auto;
  }

  .villa23-gallery-scroll-stage,
  .villa23-amenities-grid {
    grid-template-columns: 1fr;
  }

  .villa23-gallery-scroll-copy {
    max-width: none;
  }

  .villa23-gallery-scroll-main {
    width: 100%;
  }

  .villa23-gallery-scroll-aux {
    width: min(54vw, 420px);
  }
}

@media (max-width: 767px) {
  .villa23-gallery-scroll-copy,
  .villa23-gallery-scroll-main figcaption,
  .villa23-gallery-scroll-aux figcaption {
    padding-left: 18px;
    padding-right: 18px;
  }

  .villa23-gallery-scroll-visuals {
    gap: 16px;
  }

  .villa23-gallery-scroll-main,
  .villa23-gallery-scroll-aux {
    width: 100%;
  }

  .villa23-gallery-scroll-main {
    aspect-ratio: 1.16;
  }

  .villa23-gallery-scroll-aux {
    aspect-ratio: 1.42;
  }

  .villa23-gallery-scroll-copy {
    gap: 10px;
    padding-top: 4px;
  }

  .villa23-gallery-scroll-copy h3 {
    font-size: 24px;
  }
}

.villa23-gallery-scroll-visuals {
  position: relative;
  height: clamp(720px, 82vh, 960px);
  overflow: hidden;
}

.villa23-gallery-scroll-main,
.villa23-gallery-scroll-aux {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--white-16);
  background: rgba(255, 255, 255, 0.02);
}

.villa23-gallery-scroll-main::after,
.villa23-gallery-scroll-aux::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.06) 0%, rgba(0, 0, 0, 0.52) 100%);
  pointer-events: none;
}

.villa23-gallery-scroll-main img,
.villa23-gallery-scroll-aux img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.villa23-gallery-scroll-main figcaption,
.villa23-gallery-scroll-aux figcaption {
  position: absolute;
  inset: auto 0 0 0;
  z-index: 1;
  display: grid;
  gap: 6px;
  padding: 18px 20px;
}

.villa23-gallery-scroll-main figcaption span,
.villa23-gallery-scroll-aux figcaption span {
  color: rgba(255, 255, 255, 0.68);
  letter-spacing: 0.08em;
}

.villa23-gallery-scroll-aux {
  position: absolute;
  left: 50%;
  width: min(32vw, 420px);
  aspect-ratio: 1.6;
  transform: translateX(-50%);
  opacity: 0.92;
}

.villa23-gallery-scroll-aux figcaption {
  padding: 14px 16px;
}

.villa23-gallery-scroll-aux figcaption strong {
  font-size: 18px;
  line-height: 1.05;
  letter-spacing: -0.04em;
  font-weight: 400;
  max-width: 14ch;
  opacity: 0.84;
}

.villa23-gallery-scroll-aux--top {
  top: 0;
}

.villa23-gallery-scroll-aux--bottom {
  bottom: 0;
}

.villa23-gallery-scroll-main {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(76vw, 920px);
  aspect-ratio: 1.72;
  transform: translate(-50%, -50%);
  transform-origin: center center;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.3);
}

.villa23-gallery-scroll-main figcaption {
  padding: 22px 24px;
}

.villa23-gallery-scroll-main figcaption strong {
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.02;
  letter-spacing: -0.05em;
  font-weight: 400;
  max-width: 12ch;
}

@media (max-width: 1199px) {
  .villa23-gallery-scroll-visuals {
    display: grid;
    justify-items: center;
    gap: 26px;
    padding: 20px 0;
    height: auto;
    overflow: visible;
  }

  .villa23-gallery-scroll-main,
  .villa23-gallery-scroll-aux {
    position: relative;
    left: auto;
    top: auto;
    bottom: auto;
    transform: none;
  }
}

.villa23-gallery-scroll-stage {
  width: 100%;
  display: block;
}

.villa23-gallery-scroll-visuals {
  position: relative;
  width: 100%;
  height: clamp(760px, 84vh, 1040px);
  overflow: hidden;
}

.villa23-gallery-scroll-aux {
  position: absolute;
  left: 50%;
  width: min(36vw, 470px);
  aspect-ratio: 1.6;
  transform: translateX(-50%);
  opacity: 0.92;
}

.villa23-gallery-scroll-main {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(88vw, 1080px);
  aspect-ratio: 1.72;
  transform: translate(-50%, -50%);
  transform-origin: center center;
}

@media (max-width: 1199px) {
  .villa23-gallery-scroll-visuals {
    display: grid;
    justify-items: center;
    gap: 26px;
    padding: 20px 0;
    height: auto;
    overflow: visible;
  }

  .villa23-gallery-scroll-main,
  .villa23-gallery-scroll-aux {
    position: relative;
    left: auto;
    top: auto;
    bottom: auto;
    width: 100%;
    transform: none;
  }

  .villa23-gallery-scroll-aux {
    aspect-ratio: 1.42;
    opacity: 1;
  }

  .villa23-gallery-scroll-main {
    aspect-ratio: 1.16;
  }
}

.villa23-gallery-scroll-main {
  width: 100%;
  max-width: none;
}

.section-project-hero--video {
  align-items: stretch;
  padding: 0;
}

.section-project-hero--video .container {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  min-height: 100vh;
  padding-top: 140px;
  padding-bottom: 44px;
}

.section-project-hero--video .project-hero-bg video {
  filter: none;
  transform: none;
}

.section-project-hero--video .project-hero-grid {
  display: none;
}

.section-project-hero--video .project-hero-shade {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.4) 56%, rgba(0, 0, 0, 0.9) 100%),
    radial-gradient(circle at 82% 12%, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 28%);
}

.project-hero-video-tools {
  display: flex;
  justify-content: flex-end;
  width: 100%;
}

.project-hero-fullscreen {
  min-width: 220px;
}

.section-villa23-overview {
  position: relative;
  background: var(--black);
}

.villa23-overview-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px 24px;
  margin-bottom: 48px;
  flex-wrap: wrap;
}

.villa23-overview-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.78fr);
  gap: 32px 56px;
  align-items: start;
}

.villa23-overview-title {
  font-size: 46px;
  line-height: 52px;
  letter-spacing: -0.04em;
  font-weight: 400 !important;
  margin-bottom: 16px;
}

.villa23-overview-copy {
  color: var(--white-64);
  max-width: 34ch;
  margin-bottom: 32px;
}

.villa23-overview-panel {
  background: rgba(0, 0, 0, 0.82);
  backdrop-filter: none;
  box-shadow: none;
}

@media (max-width: 1199px) {
  .section-project-hero--video .container {
    min-height: 92vh;
    padding-top: 136px;
    padding-bottom: 32px;
  }

  .villa23-overview-shell {
    grid-template-columns: 1fr;
  }
}

@media only screen and (max-width: 991px) {
  .section-project-hero--video {
    padding: 0;
  }

  .section-project-hero--video .container {
    min-height: 86vh;
    justify-content: flex-start;
    padding-top: 136px;
    padding-bottom: 24px;
  }
}

@media only screen and (max-width: 575px) {
  .project-hero-fullscreen {
    min-width: 100%;
  }

  .villa23-overview-top {
    margin-bottom: 28px;
  }
}

.section-selected-work .bg-img img,
.section-selected-work .slick-for .image img,
.section-project-hero .project-hero-bg img,
.section-legacy-hero .legacy-hero-bg img,
.section-story-hero .story-hero-bg img,
.story-page-body .story-ledger-bg,
.legacy-timeline-media img,
.villa23-gallery-scroll-main img,
.villa23-gallery-scroll-aux img,
.villa23-amenities-visual__image,
.villa23-amenity-card__media img,
.contact-process-link .bg-img img,
.wg-service .bg-image img,
.wg-service .image img,
.wg-work .work-image img,
.article-blog .blog-image img,
.relatest-post-item .image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.leadership-card-media img {
  object-position: center top;
}

.project-plan-visual img {
  object-fit: contain;
  object-position: center center;
}

.blog-single-wrap .image {
  aspect-ratio: 16/10;
  overflow: hidden;
  background: #080808;
  border-radius: 16px;
}

.blog-single-wrap .image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

/* KPD responsive desktop scaling
   Keeps the 1366 x 768 composition as the reference while allowing laptop
   and large desktop screens to breathe proportionally. */
:root {
  --kpd-container-width: clamp(994px, 97vw, 1440px);
  --kpd-container-gutter: clamp(15px, 2vw, 40px);
  --kpd-header-height: clamp(64px, 9.765625svh, 92px);
  --kpd-logo-width: clamp(220px, 20.644vw, 322px);
  --kpd-section-min: clamp(560px, 100svh, 1120px);
  --kpd-section-pad-y: clamp(70px, 12.5svh, 132px);
  --kpd-section-pad-y-tight: clamp(54px, 9.375svh, 104px);
  --kpd-panel-pad: clamp(22px, 2.35vw, 40px);
  --kpd-card-pad: clamp(20px, 2.05vw, 34px);
}

html,
body {
  max-width: 100%;
  overflow-x: hidden;
  overflow-x: clip;
}

#wrapper,
.smooth-content,
main,
section {
  max-width: 100%;
}

img,
video,
svg {
  max-width: 100%;
}

.container,
.development-directory-shell {
  width: min(var(--kpd-container-width), calc(100vw - 30px));
}

.container {
  padding-left: var(--kpd-container-gutter);
  padding-right: var(--kpd-container-gutter);
}

@media (min-width: 768px) {
  h1,
  .h1,
  .hero-title,
  .text-display-1,
  .project-title {
    font-size: var(--display-xl);
    font-weight: 300;
    line-height: 1.05;
    letter-spacing: -0.03em;
  }

  h2,
  .h2,
  .text-display-2,
  .section-title,
  .villa23-overview-title,
  .contact-location-title,
  .story-page-body .story-atlas-title,
  .story-page-body .story-sequence-sentence,
  .story-page-body .story-sequence-layout--values .story-sequence-sentence,
  .story-page-body .story-values-title {
    font-size: var(--h2);
    font-weight: 300;
    line-height: 1.12;
    letter-spacing: -0.025em;
  }

  h3,
  .h3,
  .leadership-card-name,
  .story-card h3,
  .story-value-card h3,
  .story-manifesto-card h3,
  .story-quote-card h3 {
    font-size: var(--h3);
    line-height: 1.2;
  }

  .text-body-1,
  .text-body-2 {
    font-size: var(--body);
    line-height: 1.65;
  }

  .text-caption,
  .nav-menu-desktop-site .item-link,
  .desktop-nav-link,
  .tf-header .header-contact p,
  .project-anchor-nav a {
    font-size: var(--nav);
  }

  .flat-spacing,
  .flat-spacing-2 {
    padding-top: var(--kpd-section-pad-y);
    padding-bottom: var(--kpd-section-pad-y);
  }

  .s-header {
    padding-bottom: clamp(30px, 4.1667svh, 64px);
  }

  .tf-header:not(.style-2) {
    margin-bottom: calc(var(--kpd-header-height) * -1);
  }

  .tf-header:not(.style-2) .header-inner .row {
    min-height: var(--kpd-header-height);
  }

  .tf-header:not(.style-2) .header-inner .row > :nth-child(1) {
    flex-basis: var(--kpd-logo-width);
  }

  .tf-header .logo-site {
    max-width: var(--kpd-logo-width);
  }

  .tf-header .logo-site .logo-site__img {
    width: var(--kpd-logo-width);
    height: calc(var(--kpd-logo-width) * 0.26596);
  }

  .nav-menu-desktop-site {
    gap: clamp(16px, 1.537vw, 34px);
  }

  .desktop-nav-panel {
    width: min(var(--kpd-container-width), calc(100vw - 30px));
  }

  .desktop-nav-panel__inner {
    grid-template-columns: clamp(244px, 20.94vw, 316px) minmax(0, 1fr);
    min-height: clamp(340px, 56svh, 620px);
  }

  .desktop-nav-link {
    padding: clamp(15px, 2.34375svh, 24px) clamp(20px, 1.7569vw, 30px);
  }

  .section-hero-v1,
  .section-project-hero {
    min-height: var(--kpd-section-min);
  }

  .section-hero-v1 {
    padding-top: clamp(86px, 15.625svh, 178px);
    padding-bottom: clamp(38px, 7.8125svh, 92px);
  }

  .section-hero-v1 .overlay {
    height: clamp(150px, 26.0417svh, 320px);
  }

  .section-hero-v1 .davies-large img {
    width: min(100%, clamp(132px, 13vw, 240px));
  }

  .section-hero-v1 .col-left .tf-list,
  .section-hero-v1 .col-right .top {
    margin-bottom: clamp(96px, 19.53125svh, 303px);
  }

  .section-hero-v1 .col-right .desc,
  .project-summary,
  .villa23-overview-copy {
    margin-bottom: clamp(22px, 3.125svh, 44px);
  }

  body.home-page-body .section-selected-work,
  body.home-page-body .section-service-2,
  body.home-page-body .section-process,
  body.home-page-body .section-brand,
  body.home-page-body .section-award,
  body.home-page-body .section-testimonial,
  body.home-page-body .section-cta,
  body.story-page-body .section-story-atlas,
  body.story-page-body .section-story-ledger,
  body.story-page-body .section-story-values,
  body.story-page-body .section-story-invest,
  body.story-page-body .section-villa23-overview,
  body.story-page-body .section-villa23-gallery,
  body.story-page-body .section-villa23-amenities,
  body.story-page-body .section-project-location,
  body.story-page-body .section-project-plans,
  body.story-page-body .project-cta,
  body.story-page-body .section-contact-routes,
  body.story-page-body .section-contact-locations,
  body.story-page-body .section-contact-inquiry,
  body.project-page-body .section-story-atlas,
  body.project-page-body .section-story-ledger,
  body.project-page-body .section-story-values,
  body.project-page-body .section-story-invest,
  body.project-page-body .section-villa23-overview,
  body.project-page-body .section-villa23-gallery,
  body.project-page-body .section-villa23-amenities,
  body.project-page-body .section-project-location,
  body.project-page-body .section-project-plans,
  body.project-page-body .project-cta,
  body.project-page-body .section-contact-routes,
  body.project-page-body .section-contact-locations,
  body.project-page-body .section-contact-inquiry,
  body.contact-page-body .section-story-atlas,
  body.contact-page-body .section-story-ledger,
  body.contact-page-body .section-story-values,
  body.contact-page-body .section-story-invest,
  body.contact-page-body .section-villa23-overview,
  body.contact-page-body .section-villa23-gallery,
  body.contact-page-body .section-villa23-amenities,
  body.contact-page-body .section-project-location,
  body.contact-page-body .section-project-plans,
  body.contact-page-body .project-cta,
  body.contact-page-body .section-contact-routes,
  body.contact-page-body .section-contact-locations,
  body.contact-page-body .section-contact-inquiry {
    min-height: var(--kpd-section-min);
  }

  .indicator-wrap {
    padding-bottom: clamp(48px, 11.71875svh, 128px);
  }

  .indicator-wrap--cards .indicator-grid,
  .leadership-grid,
  .contact-process-grid,
  .story-philosophy-grid,
  .story-values-grid,
  .story-manifesto-grid {
    gap: clamp(16px, 1.7569vw, 30px);
  }

  .indicator-wrap--cards .indicator-card {
    min-height: clamp(164px, 26.0417svh, 240px);
    padding: clamp(24px, 4.1667svh, 42px) clamp(16px, 1.4641vw, 24px);
  }

  .section-selected-work .content-wrap-1 .col-left,
  .section-selected-work .content-wrap-1 .col-right {
    margin-bottom: clamp(24px, 4.5573svh, 46px);
  }

  .section-selected-work .group-btn-slider {
    gap: clamp(22px, 2.9283vw, 52px);
  }

  .wg-process,
  .project-fact-panel,
  .story-card,
  .story-value-card,
  .story-manifesto-card,
  .story-quote-card,
  .project-metric-card {
    padding: var(--kpd-card-pad);
  }

  .wg-service .br-line,
  .wg-service .tf-list,
  .wg-service-2 .tf-list,
  .wg-service-2 .br-line {
    margin-bottom: clamp(28px, 5.2083svh, 64px);
  }

  .wg-service .br-line {
    margin-top: clamp(28px, 5.2083svh, 56px);
  }

  .wg-service .image img {
    max-height: clamp(420px, 69.0104svh, 680px);
  }

  .section-project-hero {
    padding-top: clamp(124px, 22.1354svh, 220px);
    padding-bottom: clamp(44px, 9.375svh, 104px);
  }

  .section-project-hero--video .container {
    min-height: var(--kpd-section-min);
    padding-top: clamp(104px, 18.2292svh, 198px);
    padding-bottom: clamp(28px, 5.7292svh, 64px);
  }

  .project-hero-top,
  .villa23-overview-top {
    margin-bottom: clamp(34px, 6.25svh, 66px);
  }

  .project-hero-indicators,
  .project-hero-metrics {
    margin-top: clamp(34px, 6.25svh, 68px);
  }

  .villa23-overview-shell {
    grid-template-columns: minmax(0, 1fr) minmax(330px, 0.78fr);
    gap: clamp(28px, 4.0996vw, 72px);
  }

  .villa23-gallery-scroll-pin {
    height: var(--kpd-section-min);
  }

  .villa23-gallery-scroll-visuals {
    height: clamp(500px, 84svh, 1180px);
  }

  .villa23-gallery-scroll-main {
    width: min(88vw, clamp(980px, 56vw, 1440px));
  }

  .villa23-gallery-scroll-aux {
    width: min(36vw, clamp(390px, 24vw, 560px));
  }

  .villa23-gallery-scroll-main figcaption {
    padding: clamp(18px, 2.8646svh, 30px) clamp(20px, 1.7569vw, 32px);
  }

  .villa23-gallery-scroll-main figcaption strong {
    font-size: clamp(26px, 2.9283vw, 46px);
  }

  .section-development-directory {
    padding-top: clamp(96px, 14.0625svh, 164px);
    padding-bottom: clamp(72px, 12.5svh, 144px);
  }

  .development-directory-head {
    margin-bottom: clamp(28px, 5.2083svh, 52px);
  }

  .story-page-body .section-story-atlas.flat-spacing,
  .story-page-body .section-story-values.flat-spacing,
  .leadership-page-body .section-leadership-team.flat-spacing {
    padding-top: var(--kpd-section-pad-y-tight);
  }

  .story-page-body .section-story-atlas.flat-spacing,
  .story-page-body .section-story-ledger.flat-spacing,
  .story-page-body .section-story-closure.flat-spacing {
    padding-bottom: var(--kpd-section-pad-y-tight);
  }

  .story-page-body .section-story-invest.flat-spacing {
    padding-bottom: clamp(68px, 11.4583svh, 124px);
  }

  .story-page-body .story-sequence-layout,
  .story-page-body .story-invest-cta {
    gap: clamp(34px, 5.8565vw, 96px);
  }

  .story-page-body .story-sequence-card {
    padding: var(--kpd-panel-pad);
  }

  .story-page-body .story-ledger-frame {
    min-height: clamp(500px, 80.7292svh, 760px);
  }

  .story-page-body .story-ledger-stack {
    padding-top: clamp(92px, 16.6667svh, 170px);
  }

  .story-page-body .story-ledger-card {
    min-height: clamp(360px, 63.8021svh, 600px);
  }

  .story-page-body .story-value-row {
    gap: clamp(18px, 1.7569vw, 32px);
    padding-top: clamp(20px, 3.3854svh, 34px);
    padding-bottom: clamp(20px, 3.3854svh, 34px);
  }

  .leadership-card,
  .leadership-card-content {
    min-height: clamp(500px, 83.3333svh, 760px);
  }

  .leadership-card-content {
    padding: clamp(22px, 2.0498vw, 36px);
  }

  .contact-location-card {
    min-height: clamp(460px, 67.7083svh, 760px);
  }

  .contact-location-copy {
    padding: clamp(28px, 4.0996vw, 64px);
  }
}

@media (min-width: 1200px) {
  .container {
    width: min(var(--kpd-container-width), calc(100vw - clamp(40px, 5vw, 120px)));
  }

  body.home-page-body .section-process,
  body.home-page-body .section-brand,
  body.home-page-body .section-award,
  body.home-page-body .section-testimonial,
  body.home-page-body .section-cta,
  body.story-page-body .section-story-atlas,
  body.story-page-body .section-story-ledger,
  body.story-page-body .section-story-values,
  body.story-page-body .section-story-invest,
  body.story-page-body .section-villa23-overview,
  body.story-page-body .section-villa23-gallery,
  body.story-page-body .section-villa23-amenities,
  body.story-page-body .section-project-location,
  body.story-page-body .section-project-plans,
  body.story-page-body .project-cta,
  body.story-page-body .section-contact-routes,
  body.story-page-body .section-contact-locations,
  body.story-page-body .section-contact-inquiry,
  body.project-page-body .section-villa23-overview,
  body.project-page-body .section-villa23-gallery,
  body.project-page-body .section-villa23-amenities,
  body.project-page-body .section-project-location,
  body.project-page-body .section-project-plans,
  body.project-page-body .project-cta,
  body.contact-page-body .section-contact-routes,
  body.contact-page-body .section-contact-locations,
  body.contact-page-body .section-contact-inquiry {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .section-process .swiper-slide {
    width: clamp(300px, 25.6223vw, 430px);
  }
}

@media (min-width: 1600px) {
  :root {
    --kpd-container-width: clamp(1440px, 76vw, 1580px);
  }

  .section-hero-v1 .davies-large img {
    width: min(100%, clamp(200px, 12.5vw, 260px));
  }

  .section-hero-v2 .image,
  .section-hero-v2 .image-wrap {
    margin-bottom: clamp(94px, 8.7037svh, 150px);
  }
}

@media (min-width: 2560px) {
  :root {
    --kpd-container-width: 1680px;
    --kpd-container-gutter: 48px;
  }
}

@media (min-width: 3000px) {
  :root {
    --kpd-container-width: 1760px;
  }

  .villa23-gallery-scroll-main {
    width: min(72vw, 1560px);
  }
}

@media (min-width: 992px) and (max-height: 700px) {
  :root {
    --kpd-section-pad-y: clamp(48px, 9svh, 70px);
    --kpd-section-pad-y-tight: clamp(42px, 7.5svh, 60px);
  }

  .section-hero-v1 {
    padding-top: clamp(76px, 14svh, 96px);
    padding-bottom: clamp(30px, 6svh, 42px);
  }

  .section-hero-v1 .col-left .tf-list,
  .section-hero-v1 .col-right .top {
    margin-bottom: clamp(78px, 16svh, 120px);
  }

  .desktop-nav-panel__inner {
    min-height: clamp(320px, 56svh, 390px);
  }

  .villa23-gallery-scroll-visuals {
    height: clamp(480px, 78svh, 560px);
  }
}

@media (max-width: 1199px) and (min-width: 992px) {
  .container {
    width: min(var(--kpd-container-width), calc(100vw - 30px));
  }

  .section-process .swiper-process,
  .development-directory-row,
  .villa23-overview-shell,
  .story-page-body .story-sequence-layout {
    min-width: 0;
  }
}

/* Content cleanup and lead-form refinement */
.flat-spacing-sm {
  padding-top: clamp(52px, 8svh, 96px);
  padding-bottom: clamp(52px, 8svh, 96px);
}

.section-hero-statement {
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  align-items: center;
  background: var(--black);
}

.hero-statement-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.82fr);
  align-items: center;
  gap: clamp(16px, 1.8vw, 24px);
  width: 100%;
}

.hero-statement-content {
  display: grid;
  gap: clamp(16px, 1.8vw, 24px);
  max-width: 720px;
}

.hero-statement-kicker,
.hero-statement-copy {
  margin: 0;
}

.hero-statement-copy {
  font-size: clamp(20px, 1.7vw, 30px);
  line-height: 1.35;
  letter-spacing: -0.01em;
}

.hero-statement-cta {
  justify-self: start;
  margin-top: clamp(4px, 0.8vw, 10px);
}

.hero-statement-media {
  position: relative;
  width: 100%;
  aspect-ratio: 1.24;
  margin: 0;
  overflow: hidden;
  background: #080808;
}

.hero-statement-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.02) 0%, rgba(0, 0, 0, 0.22) 100%);
  pointer-events: none;
}

.hero-statement-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.home-page-body .section-hero-statement.about-future-reveal {
  isolation: isolate;
  overflow: hidden;
}

body.home-page-body .section-hero-statement.about-future-reveal::before,
body.home-page-body .section-hero-statement.about-future-reveal::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

body.home-page-body .section-hero-statement.about-future-reveal::before {
  inset: 0;
  z-index: 0;
  opacity: 0;
  background-image:
    linear-gradient(90deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
  background-size: 88px 88px;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 82%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 82%, transparent 100%);
  transform: translate3d(0, 24px, 0);
  transition: opacity 0.9s ease, transform 1.1s ease;
}

body.home-page-body .section-hero-statement.about-future-reveal::after {
  left: 0;
  right: 0;
  top: -42%;
  z-index: 0;
  height: 42%;
  opacity: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(125, 228, 255, 0.1) 42%, rgba(255, 255, 255, 0.2) 50%, rgba(125, 228, 255, 0.08) 58%, transparent 100%);
  transform: translate3d(0, 0, 0);
}

body.home-page-body .section-hero-statement.about-future-reveal.is-animated::before {
  opacity: 0.26;
  transform: translate3d(0, 0, 0);
  animation: aboutFutureGridDrift 18s linear infinite;
}

body.home-page-body .section-hero-statement.about-future-reveal.is-animated::after {
  opacity: 1;
  animation: aboutFutureSweep 2.2s cubic-bezier(0.16, 1, 0.3, 1) 0.12s both;
}

body.home-page-body .section-hero-statement.about-future-reveal .container {
  position: relative;
  z-index: 2;
}

body.home-page-body .hero-statement-future-shell {
  transform-style: preserve-3d;
}

body.home-page-body .hero-statement-content {
  position: relative;
}

body.home-page-body .hero-statement-content::before {
  content: "";
  position: absolute;
  top: 4px;
  bottom: 4px;
  left: -24px;
  width: 1px;
  opacity: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(125, 228, 255, 0.72) 24%, rgba(255, 255, 255, 0.9) 50%, rgba(125, 228, 255, 0.5) 76%, transparent 100%);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: opacity 0.55s ease 0.16s, transform 0.95s cubic-bezier(0.16, 1, 0.3, 1) 0.16s;
}

body.home-page-body .section-hero-statement.about-future-reveal.is-animated .hero-statement-content::before {
  opacity: 1;
  transform: scaleY(1);
}

body.home-page-body .section-hero-statement.about-future-reveal .hero-statement-kicker,
body.home-page-body .section-hero-statement.about-future-reveal .hero-statement-copy,
body.home-page-body .section-hero-statement.about-future-reveal .hero-statement-cta,
body.home-page-body .section-hero-statement.about-future-reveal .hero-statement-media {
  will-change: transform, opacity, filter, clip-path;
}

body.home-page-body .section-hero-statement.about-future-reveal .hero-statement-cta {
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.14), 0 18px 44px rgba(125, 228, 255, 0.12);
}

body.home-page-body .section-hero-statement.about-future-reveal .hero-statement-media {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16), 0 28px 80px rgba(0, 0, 0, 0.34);
}

body.home-page-body .section-hero-statement.about-future-reveal .hero-statement-media::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0;
  background:
    repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.14) 0 1px, transparent 1px 9px),
    linear-gradient(90deg, transparent 0%, rgba(125, 228, 255, 0.18) 48%, transparent 100%);
  mix-blend-mode: screen;
  transform: translate3d(0, -100%, 0);
}

body.home-page-body .section-hero-statement.about-future-reveal .hero-statement-media::after {
  z-index: 2;
}

body.home-page-body .section-hero-statement.about-future-reveal.is-animated .hero-statement-media::before {
  animation: aboutFutureImageScan 1.8s cubic-bezier(0.16, 1, 0.3, 1) 0.35s both;
}

@keyframes aboutFutureGridDrift {
  0% {
    background-position: 0 0, 0 0;
  }

  100% {
    background-position: 88px 88px, 88px 88px;
  }
}

@keyframes aboutFutureSweep {
  0% {
    opacity: 0;
    transform: translate3d(0, 0, 0);
  }

  18% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: translate3d(0, 340%, 0);
  }
}

@keyframes aboutFutureImageScan {
  0% {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }

  20% {
    opacity: 0.55;
  }

  100% {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home-page-body .section-hero-statement.about-future-reveal::before,
  body.home-page-body .section-hero-statement.about-future-reveal::after,
  body.home-page-body .section-hero-statement.about-future-reveal .hero-statement-media::before {
    animation: none !important;
    transition: none !important;
  }

  body.home-page-body .section-hero-statement.about-future-reveal::before {
    opacity: 0.14;
    transform: none;
  }
}

body.home-page-body .home-future-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

body.home-page-body .home-future-section::before,
body.home-page-body .home-future-section::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

body.home-page-body .home-future-section::before {
  opacity: 0;
  background-image:
    linear-gradient(90deg, rgba(255, 255, 255, 0.048) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(135deg, transparent 0%, transparent 44%, rgba(125, 228, 255, 0.14) 50%, transparent 56%, transparent 100%);
  background-size: 96px 96px, 96px 96px, 180% 180%;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
  transform: translate3d(0, 28px, 0);
  transition: opacity 0.8s ease, transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}

body.home-page-body .home-future-section::after {
  top: -50%;
  bottom: auto;
  height: 42%;
  opacity: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(125, 228, 255, 0.08) 43%, rgba(255, 255, 255, 0.18) 50%, rgba(125, 228, 255, 0.07) 57%, transparent 100%);
  transform: translate3d(0, 0, 0);
}

body.home-page-body .home-future-section.is-future-active::before {
  opacity: 0.18;
  transform: translate3d(0, 0, 0);
  animation: homeFutureGridDrift 20s linear infinite;
}

body.home-page-body .home-future-section.is-future-active::after {
  opacity: 1;
  animation: homeFutureSectionSweep 2s cubic-bezier(0.16, 1, 0.3, 1) both;
}

body.home-page-body .home-future-section .container,
body.home-page-body .home-future-section .footer-inner,
body.home-page-body .home-future-section .footer-bottom {
  position: relative;
  z-index: 2;
}

body.home-page-body .home-future-section .selected-dev-section-title,
body.home-page-body .home-future-section .selected-dev-panel.is-active > *,
body.home-page-body .home-future-section .experience-center-stage,
body.home-page-body .home-future-section .experience-center-thumb,
body.home-page-body .home-future-section .img-brand,
body.home-page-body .home-future-section .testimonial-v01,
body.home-page-body .home-future-section .group-btn-slider,
body.home-page-body .home-future-section .footer-shell__intro > *,
body.home-page-body .home-future-section .footer-nav-group,
body.home-page-body .home-future-section .footer-bottom .bottom > * {
  will-change: transform, opacity, filter;
}

body.home-page-body .home-future-section .img-brand,
body.home-page-body .home-future-section .testimonial-v01,
body.home-page-body .home-future-section .footer-nav-group {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02);
}

@keyframes homeFutureGridDrift {
  0% {
    background-position: 0 0, 0 0, 0% 50%;
  }

  100% {
    background-position: 96px 96px, 96px 96px, 100% 50%;
  }
}

@keyframes homeFutureSectionSweep {
  0% {
    opacity: 0;
    transform: translate3d(0, 0, 0);
  }

  18% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: translate3d(0, 360%, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home-page-body .home-future-section::before,
  body.home-page-body .home-future-section::after {
    animation: none !important;
    transition: none !important;
  }

  body.home-page-body .home-future-section::before {
    opacity: 0.1;
    transform: none;
  }
}

.section-hero-stats {
  position: relative;
  overflow: hidden;
}

.section-hero-stats .container {
  position: relative;
  z-index: 1;
}

.hero-statement-indicators {
  margin-top: clamp(28px, 5svh, 60px);
  padding: 0 !important;
  overflow: visible;
}

.section-hero-stats .hero-statement-indicators .indicator-grid {
  width: 100%;
  align-items: stretch;
}

.section-hero-stats .hero-statement-indicators .indicator-card {
  min-height: clamp(140px, 20svh, 190px);
}

.section-hero-stats .hero-statement-indicators .indicate-counter {
  font-size: clamp(44px, 5.2vw, 82px);
  line-height: 0.95;
}

.section-hero-stats .hero-statement-indicators .odometer,
.section-hero-stats .hero-statement-indicators .odometer-inside,
.section-hero-stats .hero-statement-indicators .odometer-digit,
.section-hero-stats .hero-statement-indicators .odometer-digit-spacer,
.section-hero-stats .hero-statement-indicators .odometer-digit-inner {
  line-height: 0.95;
}

.section-hero-stats .hero-statement-indicators .indicate-title {
  max-width: 13ch;
  margin-bottom: 0;
  font-size: var(--body);
  line-height: 1.35;
}

.experience-center-section.flat-spacing {
  min-height: 100svh;
  padding-top: clamp(24px, 3.6svh, 52px);
  padding-bottom: clamp(24px, 3.6svh, 52px);
}

.experience-center-section .s-header {
  padding-bottom: clamp(18px, 2.8svh, 34px);
}

.experience-center-section::before {
  filter: blur(14px) saturate(0.9) contrast(1.06) brightness(0.68);
  transform: translate3d(0, 0, 0) scale(1.02);
}

.experience-center-stage {
  height: auto;
  max-height: calc(100svh - clamp(176px, 23svh, 250px));
  aspect-ratio: 16 / 9;
  min-height: 0;
  isolation: isolate;
  contain: paint;
  transform: none;
}

@media (min-width: 1200px) {
  .experience-center-stage {
    height: auto;
    max-height: calc(100svh - clamp(178px, 22svh, 250px));
  }
}

.selected-developments-showcase {
  position: relative;
  min-height: 100svh;
  padding: 0;
  display: flex;
  align-items: stretch;
  overflow: hidden;
  isolation: isolate;
  background: #050505;
}

.selected-dev-background,
.selected-dev-shade {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.selected-dev-background {
  z-index: 0;
  overflow: hidden;
}

.selected-dev-bg-image {
  position: absolute;
  inset: -3%;
  width: 106%;
  height: 106%;
  object-fit: cover;
  object-position: var(--selected-dev-position, center center);
  opacity: 0;
  transform: translate3d(0, 0, 0) scale(1.04);
  filter: saturate(0.82) contrast(1.04) brightness(0.74);
  transition: opacity 900ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.selected-dev-bg-image.is-active {
  opacity: 1;
  animation: selectedDevelopmentFloatZoom 7000ms ease-in-out infinite;
}

.selected-dev-shade {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.68) 31%, rgba(0, 0, 0, 0.22) 68%, rgba(0, 0, 0, 0.1) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.42) 58%, rgba(0, 0, 0, 0.82) 100%);
}

.selected-dev-container {
  position: relative;
  z-index: 2;
  min-height: 100svh;
  display: flex;
  align-items: flex-end;
  padding-top: clamp(96px, 14svh, 170px);
  padding-bottom: var(--kpd-section-pad-y-tight);
}

.selected-dev-content {
  display: grid;
  grid-template-rows: auto auto;
  width: min(680px, 100%);
  margin-left: 0;
  color: var(--white);
}

.selected-dev-section-title {
  margin: 0 0 clamp(18px, 2.4svh, 30px);
}

.selected-dev-panel {
  grid-column: 1;
  grid-row: 2;
  display: grid;
  gap: clamp(14px, 1.8svh, 22px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(0, 16px, 0);
  transition:
    opacity 700ms cubic-bezier(0.22, 1, 0.36, 1),
    visibility 700ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

.selected-dev-panel.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate3d(0, 0, 0);
}

.selected-dev-eyebrow {
  margin: 0;
  color: var(--white-64);
  font-size: var(--h5);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.selected-dev-title {
  margin: 0;
  color: var(--white);
  font-size: var(--h2);
  font-weight: 300;
  line-height: 1.12;
  letter-spacing: -0.025em;
}

.selected-dev-description {
  margin: 0;
  max-width: 65ch;
  color: var(--white-64);
  font-size: var(--body);
  font-weight: 300;
  line-height: 1.65;
  text-shadow: 0 10px 30px rgba(0, 0, 0, 0.36);
}

.selected-dev-features {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: clamp(8px, 1.2svh, 16px) 0 0;
  padding: clamp(14px, 1.6svh, 18px) 0;
  border-top: 1px solid var(--white-16);
  border-bottom: 1px solid var(--white-16);
}

.selected-dev-features li {
  display: grid;
  justify-items: start;
  align-content: start;
  gap: 8px;
  min-width: clamp(126px, 10.5vw, 172px);
  padding: 0 clamp(16px, 1.6vw, 26px);
  color: var(--white-64);
  font-size: var(--label);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-align: left;
  text-transform: uppercase;
}

.selected-dev-features li:not(:last-child) {
  border-right: 1px solid var(--white-16);
}

.selected-dev-feature-icon {
  width: auto;
  height: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  color: var(--white);
  font-size: var(--label);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.06em;
}

.selected-dev-button {
  justify-self: start;
  min-height: 44px;
  margin-top: clamp(4px, 1.1svh, 12px);
  padding: 11px 20px;
  border-color: var(--white-16);
  background: transparent;
  color: var(--white);
}

.selected-dev-button::before {
  background: var(--white);
}

@keyframes selectedDevelopmentFloatZoom {
  0% {
    transform: translate3d(0, 10px, 0) scale(1.035);
  }
  50% {
    transform: translate3d(0, -18px, 0) scale(1.09);
  }
  100% {
    transform: translate3d(0, 10px, 0) scale(1.035);
  }
}

@media (max-width: 991px) {
  .selected-dev-shade {
    background:
      linear-gradient(90deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.56) 70%, rgba(0, 0, 0, 0.22) 100%),
      linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.82) 100%);
  }
}

@media (max-width: 767px) {
  .selected-developments-showcase,
  .selected-dev-container {
    min-height: 760px;
  }

  .selected-dev-container {
    padding-top: 96px;
    padding-bottom: 48px;
  }

  .selected-dev-features {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 16px 0;
  }

  .selected-dev-features li {
    justify-items: start;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    min-width: 0;
    padding: 0;
    text-align: left;
  }

  .selected-dev-features li:not(:last-child) {
    border-right: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .selected-dev-bg-image.is-active {
    animation: none;
  }
}

.contact-location-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.contact-location-action-secondary {
  background: transparent;
  color: var(--white);
}

.section-contact-locations.flat-spacing {
  padding-top: clamp(36px, 5svh, 72px);
  padding-bottom: clamp(36px, 5svh, 72px);
}

.contact-location-card {
  min-height: clamp(480px, calc(100svh - clamp(96px, 16svh, 160px)), 700px);
}

#salesExperience {
  scroll-margin-top: clamp(72px, 10svh, 120px);
}

.experience-center-slide::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 52%;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.7) 100%);
  pointer-events: none;
  z-index: 2;
}

.experience-center-slide {
  overflow: hidden;
  backface-visibility: hidden;
  will-change: opacity, transform;
}

.experience-center-slide img {
  backface-visibility: hidden;
  image-rendering: auto;
  transform: none;
}

.experience-center-caption {
  position: absolute;
  top: clamp(28px, 6svh, 72px);
  right: clamp(24px, 5vw, 76px);
  left: auto;
  bottom: auto;
  z-index: 4;
  max-width: min(440px, calc(100% - 48px));
  display: grid;
  justify-items: end;
  gap: 8px;
  color: var(--white);
  text-align: right;
  pointer-events: none;
  text-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
}

.experience-center-caption strong {
  font-size: clamp(18px, 1.7vw, 26px);
  line-height: 1.08;
  font-weight: 500;
  letter-spacing: 0;
}

.experience-center-caption span {
  font-size: clamp(13px, 1vw, 15px);
  line-height: 1.45;
  color: var(--white-64);
}

.experience-center-thumbs {
  z-index: 5;
  transform: translate3d(-50%, 0, 0);
}

.experience-center-arrow {
  z-index: 6;
}

@media (max-width: 767px) {
  .experience-center-caption {
    top: 24px;
    right: 24px;
    left: 24px;
    bottom: auto;
  }
}

.floating-contact {
  position: fixed;
  top: 50%;
  right: 0;
  z-index: 980;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  width: clamp(64px, 4.2vw, 74px);
  border: 1px solid rgba(255, 255, 255, 0.62);
  border-right: 0;
  background: rgba(0, 0, 0, 0.78);
  backdrop-filter: blur(10px);
  color: var(--white);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.22);
}

.floating-contact__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-height: clamp(48px, 3.55vw, 58px);
  padding: 8px 4px 7px;
  color: var(--white);
  font-size: clamp(7px, 0.56vw, 9px);
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-align: center;
  text-transform: uppercase;
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);
  transition: background-color 0.25s ease, color 0.25s ease;
}

.floating-contact__link:last-child {
  border-bottom: 0;
}

.floating-contact__link:hover {
  color: var(--white);
  background: rgba(255, 255, 255, 0.12);
}

.floating-contact__icon {
  width: 24px;
  height: 24px;
  display: block;
  flex: 0 0 auto;
}

.floating-contact__icon svg {
  display: block;
  width: 100%;
  height: 100%;
  stroke: currentColor;
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.section-testimonial .s-header .mini-title {
  font-family: var(--font-main);
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.02;
  font-weight: 400;
  letter-spacing: -0.03em;
}

h2.mini-title.text-caption,
.section-testimonial .s-header h2.mini-title.text-caption {
  font-size: var(--h2);
  font-weight: 300;
  line-height: 1.12;
  letter-spacing: -0.025em;
  text-transform: none;
}

h2.mini-title.text-body-1 {
  font-size: var(--h2);
  font-weight: 300;
  line-height: 1.12;
  letter-spacing: -0.025em;
  text-transform: none;
}

@media (min-width: 768px) {
  h2.mini-title.text-caption,
  .section-testimonial .s-header h2.mini-title.text-caption {
    font-size: var(--h2);
    line-height: 1.12;
  }

  h2.mini-title.text-body-1 {
    font-size: var(--h2);
    line-height: 1.12;
  }
}

.section-cta .form-cta,
.form-project-lead {
  padding: clamp(24px, 3.2vw, 46px);
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: rgba(255, 255, 255, 0.96);
  color: var(--black);
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.16);
}

.form-cta .form-content,
.form-project-lead .form-content {
  gap: clamp(16px, 1.8vw, 24px);
  margin-bottom: clamp(24px, 2.8vw, 36px);
}

.form-cta .tf-grid-layout,
.form-project-lead .tf-grid-layout {
  gap: clamp(14px, 1.7vw, 24px);
}

.form-cta .tf-field .tf-input,
.form-project-lead .tf-field .tf-input {
  height: clamp(54px, 4.3vw, 62px);
  padding: 18px 26px 8px;
  border: 1px solid rgba(0, 0, 0, 0.34);
  border-radius: 6px;
  background: var(--white);
  color: var(--black);
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 0;
}

.form-cta .tf-field .tf-lable,
.form-project-lead .tf-field .tf-lable,
.form-cta .tf-field .tf-input:not(:placeholder-shown) ~ .tf-lable,
.form-project-lead .tf-field .tf-input:not(:placeholder-shown) ~ .tf-lable {
  left: 26px;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(0, 0, 0, 0.52);
  font-size: 15px;
  line-height: 1;
  letter-spacing: 0;
}

.form-cta .tf-field .tf-input:focus ~ .tf-lable,
.form-cta .tf-field .tf-input:valid ~ .tf-lable,
.form-project-lead .tf-field .tf-input:focus ~ .tf-lable,
.form-project-lead .tf-field .tf-input:valid ~ .tf-lable {
  top: 8px;
  transform: none;
  font-size: 11px;
  color: rgba(0, 0, 0, 0.55);
}

.form-cta .nice-select,
.form-project-lead .nice-select {
  height: clamp(54px, 4.3vw, 62px);
  padding: 0 48px 0 26px;
  border: 1px solid rgba(0, 0, 0, 0.24);
  border-radius: 6px;
  background: var(--white);
  color: var(--black);
  display: flex;
  align-items: center;
}

.form-cta .nice-select .current,
.form-project-lead .nice-select .current {
  color: rgba(0, 0, 0, 0.54);
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 0;
}

.form-cta .nice-select::after,
.form-project-lead .nice-select::after {
  right: 24px;
  border-color: rgba(0, 0, 0, 0.45);
}

.form-cta .nice-select .list,
.form-project-lead .nice-select .list {
  border-color: rgba(0, 0, 0, 0.14);
  background: var(--white);
  color: var(--black);
}

.form-cta .form-action,
.form-project-lead .form-action {
  align-items: center;
  gap: 18px;
}

.form-cta .form-action .tf-btn,
.form-project-lead .form-action .tf-btn {
  min-width: 160px;
  border-color: var(--black);
  color: var(--black);
  background: transparent;
  border-radius: 999px;
  letter-spacing: 0.18em;
}

.form-cta .form-action p,
.form-project-lead .form-action p,
.form-cta .form-action a,
.form-project-lead .form-action a {
  color: rgba(0, 0, 0, 0.66);
}

.section-contact-inquiry .bg-img {
  opacity: 0.3;
}

.section-contact-inquiry .bg-img img {
  filter: none;
}

.home-section-mirror-bg__item {
  inset: -5%;
  transform: scale(1.06);
  filter: blur(12px) saturate(0.92) contrast(1.06) brightness(0.7);
}

.section-cta.home-mirror-section .home-section-mirror-bg__item,
.tf-footer.home-mirror-section .home-section-mirror-bg__item,
.section-selected-work.home-mirror-section .home-section-mirror-bg__item {
  filter: blur(10px) saturate(0.9) contrast(1.08) brightness(0.7);
}

.section-service-2:not(.project-amenities-section) .bg-image-list .bg-image > img {
  transform: scale(1.06);
  filter: blur(10px) saturate(0.9) contrast(1.06) brightness(0.72);
}

/* About page rebuild */
body.about-rebuilt-page,
body.about-rebuilt-page #wrapper {
  background: #f7f4ef;
  color: #171412;
}

body.about-rebuilt-page {
  --about-paper: #f7f4ef;
  --about-ink: #171412;
  --about-muted: rgba(23, 20, 18, 0.68);
  --about-soft: rgba(23, 20, 18, 0.12);
  --about-burgundy: #912b4a;
  --about-burgundy-dark: #7f243f;
}

body.about-rebuilt-page .about-ref-hero,
body.about-rebuilt-page .about-ref-section,
body.about-rebuilt-page .about-ref-band {
  position: relative;
  overflow: hidden;
}

body.about-rebuilt-page .about-ref-section.home-mirror-section {
  background: var(--about-paper);
}

body.about-rebuilt-page .about-ref-band.home-mirror-section {
  background: linear-gradient(135deg, var(--about-burgundy) 0%, var(--about-burgundy-dark) 100%);
}

body.about-rebuilt-page .about-ref-hero .container,
body.about-rebuilt-page .about-ref-section .container,
body.about-rebuilt-page .about-ref-band .container {
  position: relative;
  z-index: 2;
  max-width: min(1120px, calc(100vw - clamp(40px, 8vw, 120px)));
}

body.about-rebuilt-page .about-ref-section {
  padding-top: clamp(74px, 8.2vw, 132px);
  padding-bottom: clamp(74px, 8.2vw, 132px);
  background: var(--about-paper);
}

body.about-rebuilt-page .about-ref-section::before,
body.about-rebuilt-page .about-ref-section::after {
  content: "";
  position: absolute;
  width: clamp(160px, 17vw, 280px);
  height: clamp(260px, 34vw, 520px);
  pointer-events: none;
  opacity: 0.24;
  background: repeating-linear-gradient(
    63deg,
    rgba(145, 43, 74, 0.12) 0 2px,
    transparent 2px 13px
  );
}

body.about-rebuilt-page .about-ref-section::before {
  left: clamp(-130px, -8vw, -56px);
  top: 12%;
}

body.about-rebuilt-page .about-ref-section::after {
  right: clamp(-140px, -9vw, -60px);
  bottom: 8%;
}

body.about-rebuilt-page .about-ref-hero {
  min-height: clamp(360px, 42svh, 520px);
  display: flex;
  align-items: flex-end;
  background: var(--black);
}

body.about-rebuilt-page .about-ref-hero__bg,
body.about-rebuilt-page .about-ref-hero__shade {
  position: absolute;
  inset: 0;
}

body.about-rebuilt-page .about-ref-hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.about-rebuilt-page .about-ref-hero__shade {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.74) 0%, rgba(0, 0, 0, 0.48) 46%, rgba(0, 0, 0, 0.64) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.72) 100%);
}

body.about-rebuilt-page .about-ref-hero__content {
  position: relative;
  z-index: 2;
  padding-top: clamp(120px, 16svh, 190px);
  padding-bottom: clamp(42px, 7svh, 78px);
  color: var(--white);
}

body.about-rebuilt-page .about-ref-breadcrumb {
  margin: 0 0 10px;
  padding-left: 12px;
  border-left: 3px solid var(--about-burgundy);
  color: rgba(255, 255, 255, 0.74);
  font-size: clamp(11px, 0.72vw, 13px);
  line-height: 1.4;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0;
}

body.about-rebuilt-page .about-ref-title {
  margin: 0;
  color: var(--white);
  font-size: clamp(44px, 5.2vw, 82px);
  line-height: 0.96;
  font-weight: 400;
  letter-spacing: 0;
}

body.about-rebuilt-page .about-ref-heading {
  position: relative;
  margin: 0 0 clamp(22px, 2.6vw, 34px);
  padding-left: 14px;
  color: var(--about-ink);
  font-size: clamp(26px, 2.4vw, 42px);
  line-height: 1.08;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: uppercase;
}

body.about-rebuilt-page .about-ref-heading::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.05em;
  width: 2px;
  height: 1.2em;
  background: var(--about-burgundy);
}

body.about-rebuilt-page .about-ref-section p {
  margin: 0;
  color: var(--about-muted);
  font-size: clamp(15px, 1vw, 17px);
  line-height: 1.65;
  letter-spacing: 0;
}

body.about-rebuilt-page .about-ref-story__grid,
body.about-rebuilt-page .about-ref-message__grid,
body.about-rebuilt-page .about-ref-recognition__grid,
body.about-rebuilt-page .about-ref-sustainability__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(380px, 1.05fr);
  align-items: center;
  gap: clamp(44px, 6vw, 96px);
}

body.about-rebuilt-page .about-ref-story__copy {
  display: grid;
  gap: clamp(22px, 2.4vw, 34px);
}

body.about-rebuilt-page .about-ref-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(22px, 3vw, 44px);
}

body.about-rebuilt-page .about-ref-metric {
  display: grid;
  gap: 10px;
}

body.about-rebuilt-page .about-ref-metric span {
  color: var(--about-ink);
  font-size: clamp(13px, 0.86vw, 15px);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0;
}

body.about-rebuilt-page .about-ref-metric strong {
  color: var(--about-ink);
  font-size: clamp(28px, 3vw, 48px);
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0;
}

body.about-rebuilt-page .about-ref-metric p {
  font-size: clamp(13px, 0.92vw, 15px);
  line-height: 1.45;
}

body.about-rebuilt-page .about-ref-story__media,
body.about-rebuilt-page .about-ref-message__media,
body.about-rebuilt-page .about-ref-recognition__media,
body.about-rebuilt-page .about-ref-sustainability__media {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #e7e1d8;
}

body.about-rebuilt-page .about-ref-story__media {
  aspect-ratio: 16 / 9;
}

body.about-rebuilt-page .about-ref-story__media img {
  filter: grayscale(1) contrast(1.04);
}

body.about-rebuilt-page .about-ref-story__media img,
body.about-rebuilt-page .about-ref-message__media img,
body.about-rebuilt-page .about-ref-recognition__media img,
body.about-rebuilt-page .about-ref-sustainability__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

body.about-rebuilt-page .about-ref-band {
  padding-top: clamp(48px, 5.4vw, 82px);
  padding-bottom: clamp(48px, 5.4vw, 82px);
  color: var(--white);
  background: linear-gradient(135deg, var(--about-burgundy) 0%, var(--about-burgundy-dark) 100%);
}

body.about-rebuilt-page .about-ref-band__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.about-rebuilt-page .about-ref-band__item {
  display: grid;
  grid-template-columns: minmax(160px, 0.44fr) minmax(0, 1fr);
  gap: clamp(22px, 3.2vw, 54px);
  align-items: start;
  padding-right: clamp(26px, 4vw, 66px);
}

body.about-rebuilt-page .about-ref-band__item + .about-ref-band__item {
  padding-left: clamp(26px, 4vw, 66px);
  border-left: 1px solid rgba(255, 255, 255, 0.28);
}

body.about-rebuilt-page .about-ref-band h2,
body.about-rebuilt-page .about-ref-expertise__head h2 {
  margin: 0;
  color: var(--white);
  font-size: clamp(24px, 2vw, 34px);
  line-height: 1.1;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: uppercase;
}

body.about-rebuilt-page .about-ref-band p {
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(14px, 0.96vw, 16px);
  line-height: 1.58;
  letter-spacing: 0;
}

body.about-rebuilt-page .about-ref-message__grid {
  grid-template-columns: minmax(380px, 1fr) minmax(0, 0.86fr);
}

body.about-rebuilt-page .about-ref-message__grid--reverse {
  grid-template-columns: minmax(0, 0.9fr) minmax(380px, 1fr);
}

body.about-rebuilt-page .about-ref-message__media {
  aspect-ratio: 1 / 1.05;
}

body.about-rebuilt-page .about-ref-message__media--contain {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: linear-gradient(180deg, #eee8df 0%, #ddd4c8 100%);
}

body.about-rebuilt-page .about-ref-message__media--contain img {
  width: auto;
  max-width: 82%;
  object-fit: contain;
}

body.about-rebuilt-page .about-ref-message__copy {
  display: grid;
  gap: clamp(18px, 1.7vw, 28px);
}

body.about-rebuilt-page .about-ref-signature {
  display: grid;
  gap: 4px;
  padding-top: 4px;
}

body.about-rebuilt-page .about-ref-signature strong {
  color: var(--about-burgundy);
  font-size: clamp(14px, 0.96vw, 16px);
  line-height: 1.35;
  font-weight: 600;
  letter-spacing: 0;
}

body.about-rebuilt-page .about-ref-signature span {
  color: rgba(23, 20, 18, 0.52);
  font-size: clamp(13px, 0.9vw, 15px);
  line-height: 1.4;
  letter-spacing: 0;
}

body.about-rebuilt-page .about-ref-recognition {
  padding-top: clamp(40px, 5vw, 82px);
}

body.about-rebuilt-page .about-ref-recognition__title {
  max-width: 980px;
  margin: 0 auto clamp(38px, 5vw, 72px);
  color: var(--about-burgundy);
  font-size: clamp(28px, 2.55vw, 46px);
  line-height: 1.14;
  font-weight: 500;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0;
}

body.about-rebuilt-page .about-ref-recognition__grid {
  grid-template-columns: minmax(380px, 1fr) minmax(0, 0.9fr);
}

body.about-rebuilt-page .about-ref-recognition__media {
  aspect-ratio: 1.48 / 1;
}

body.about-rebuilt-page .about-ref-recognition__copy {
  display: grid;
  gap: clamp(18px, 1.8vw, 28px);
}

body.about-rebuilt-page .about-ref-expertise__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: clamp(26px, 3vw, 42px);
}

body.about-rebuilt-page .about-ref-expertise__head h2 {
  position: relative;
  padding-left: 14px;
}

body.about-rebuilt-page .about-ref-expertise__head h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.05em;
  width: 2px;
  height: 1.2em;
  background: rgba(255, 255, 255, 0.82);
}

body.about-rebuilt-page .about-ref-expertise__arrows {
  display: flex;
  gap: 14px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 24px;
  line-height: 1;
}

body.about-rebuilt-page .about-ref-expertise__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 2.4vw, 36px);
}

body.about-rebuilt-page .about-ref-expertise-card {
  min-height: clamp(168px, 14vw, 230px);
  padding: clamp(22px, 2.6vw, 34px);
  border: 1px solid rgba(255, 255, 255, 0.44);
  display: grid;
  align-content: start;
  gap: 14px;
}

body.about-rebuilt-page .about-ref-expertise-card__icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.58);
  color: var(--white);
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
}

body.about-rebuilt-page .about-ref-expertise-card h3 {
  margin: 0;
  color: var(--white);
  font-size: clamp(15px, 1vw, 18px);
  line-height: 1.25;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0;
}

body.about-rebuilt-page .about-ref-expertise-card p {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(13px, 0.92vw, 15px);
  line-height: 1.55;
}

body.about-rebuilt-page .about-ref-sustainability {
  padding-bottom: clamp(82px, 9vw, 150px);
}

body.about-rebuilt-page .about-ref-sustainability__grid {
  grid-template-columns: minmax(0, 0.85fr) minmax(380px, 1.15fr);
}

body.about-rebuilt-page .about-ref-sustainability__media {
  aspect-ratio: 16 / 9;
}

body.about-rebuilt-page .about-ref-sustainability__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.08);
  pointer-events: none;
}

body.about-rebuilt-page .about-ref-play {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  width: clamp(54px, 5.2vw, 78px);
  height: clamp(54px, 5.2vw, 78px);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(255, 255, 255, 0.74);
  background: rgba(145, 43, 74, 0.72);
  backdrop-filter: blur(8px);
}

body.about-rebuilt-page .about-ref-play::before {
  content: "";
  position: absolute;
  left: 53%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 15px solid var(--white);
}

body.about-rebuilt-page .tf-footer {
  background: var(--about-burgundy);
  color: var(--white);
}

body.about-rebuilt-page .tf-footer .br-line {
  background-color: rgba(255, 255, 255, 0.18);
}

body.about-rebuilt-page .tf-footer .footer-inner,
body.about-rebuilt-page .tf-footer .footer-bottom {
  background: transparent;
}

body.about-rebuilt-page .tf-footer a,
body.about-rebuilt-page .tf-footer .link,
body.about-rebuilt-page .tf-footer .footer-statement,
body.about-rebuilt-page .tf-footer .footer-eyebrow {
  color: var(--white);
}

body.about-rebuilt-page .tf-footer .footer-summary,
body.about-rebuilt-page .tf-footer .footer-heading,
body.about-rebuilt-page .tf-footer .footer-menu-note,
body.about-rebuilt-page .tf-footer .text-white-64 {
  color: rgba(255, 255, 255, 0.68) !important;
}

body.about-rebuilt-page .tf-footer .tf-btn {
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.58);
}

@media (max-width: 1199px) {
  body.about-rebuilt-page .about-ref-story__grid,
  body.about-rebuilt-page .about-ref-message__grid,
  body.about-rebuilt-page .about-ref-message__grid--reverse,
  body.about-rebuilt-page .about-ref-recognition__grid,
  body.about-rebuilt-page .about-ref-sustainability__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(30px, 4.4vw, 58px);
  }

  body.about-rebuilt-page .about-ref-band__item {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991px) {
  body.about-rebuilt-page .about-ref-hero .container,
  body.about-rebuilt-page .about-ref-section .container,
  body.about-rebuilt-page .about-ref-band .container {
    max-width: min(100% - 32px, 720px);
  }

  body.about-rebuilt-page .about-ref-story__grid,
  body.about-rebuilt-page .about-ref-message__grid,
  body.about-rebuilt-page .about-ref-message__grid--reverse,
  body.about-rebuilt-page .about-ref-recognition__grid,
  body.about-rebuilt-page .about-ref-sustainability__grid,
  body.about-rebuilt-page .about-ref-band__grid,
  body.about-rebuilt-page .about-ref-expertise__grid {
    grid-template-columns: 1fr;
  }

  body.about-rebuilt-page .about-ref-message__grid--reverse .about-ref-message__copy {
    order: 2;
  }

  body.about-rebuilt-page .about-ref-message__grid--reverse .about-ref-message__media {
    order: 1;
  }

  body.about-rebuilt-page .about-ref-band__item {
    padding: 0;
  }

  body.about-rebuilt-page .about-ref-band__item + .about-ref-band__item {
    margin-top: 32px;
    padding-top: 32px;
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.28);
  }
}

@media (max-width: 575px) {
  body.about-rebuilt-page .about-ref-section {
    padding-top: 58px;
    padding-bottom: 58px;
  }

  body.about-rebuilt-page .about-ref-hero {
    min-height: 330px;
  }

  body.about-rebuilt-page .about-ref-metrics {
    grid-template-columns: 1fr;
  }

  body.about-rebuilt-page .about-ref-expertise__head {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* About page global styling alignment */
body.about-rebuilt-page,
body.about-rebuilt-page #wrapper {
  background: var(--black);
  color: var(--white);
}

body.about-rebuilt-page {
  --about-paper: var(--black);
  --about-ink: var(--white);
  --about-muted: var(--white-64);
  --about-soft: var(--white-16);
  --about-burgundy: var(--white);
  --about-burgundy-dark: #111111;
}

body.about-rebuilt-page .about-ref-section.home-mirror-section,
body.about-rebuilt-page .about-ref-section {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0) 34%),
    var(--black);
}

body.about-rebuilt-page .about-ref-band.home-mirror-section,
body.about-rebuilt-page .about-ref-band {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.02)),
    var(--black);
  border-top: 1px solid var(--white-16);
  border-bottom: 1px solid var(--white-16);
}

body.about-rebuilt-page .about-ref-hero .container,
body.about-rebuilt-page .about-ref-section .container,
body.about-rebuilt-page .about-ref-band .container {
  max-width: min(1320px, calc(100vw - clamp(32px, 6vw, 112px)));
}

body.about-rebuilt-page .about-ref-section {
  padding-top: clamp(72px, 7vw, 120px);
  padding-bottom: clamp(72px, 7vw, 120px);
}

body.about-rebuilt-page .about-ref-section::before,
body.about-rebuilt-page .about-ref-section::after {
  display: none;
}

body.about-rebuilt-page .about-ref-section.home-mirror-section,
body.about-rebuilt-page .about-ref-band.home-mirror-section {
  background: var(--black);
}

body.about-rebuilt-page .about-ref-section.home-mirror-section .home-section-mirror-bg::before,
body.about-rebuilt-page .about-ref-band.home-mirror-section .home-section-mirror-bg::before {
  background: rgba(0, 0, 0, 0.76);
}

body.about-rebuilt-page .about-ref-section.home-mirror-section .home-section-mirror-bg::after,
body.about-rebuilt-page .about-ref-band.home-mirror-section .home-section-mirror-bg::after {
  opacity: 0.34;
}

body.about-rebuilt-page .about-ref-section.home-mirror-section .home-section-mirror-bg__item,
body.about-rebuilt-page .about-ref-band.home-mirror-section .home-section-mirror-bg__item {
  filter: blur(24px) saturate(0.86) contrast(1.08) brightness(0.68);
}

body.about-rebuilt-page .about-ref-hero {
  min-height: clamp(420px, 58svh, 660px);
  background: var(--black);
  border-bottom: 1px solid var(--white-16);
}

body.about-rebuilt-page .about-ref-hero__bg img {
  filter: saturate(0.82) contrast(1.04) brightness(0.64);
}

body.about-rebuilt-page .about-ref-hero__shade {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.58) 48%, rgba(0, 0, 0, 0.82) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.9) 100%);
}

body.about-rebuilt-page .about-ref-hero__content {
  padding-top: clamp(150px, 18svh, 220px);
  padding-bottom: clamp(54px, 8svh, 94px);
}

body.about-rebuilt-page .about-ref-breadcrumb {
  padding-left: 0;
  border-left: 0;
  color: var(--white-64);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
  text-transform: uppercase;
}

body.about-rebuilt-page .about-ref-breadcrumb::before {
  content: "";
  display: inline-block;
  width: 42px;
  height: 1px;
  margin-right: 12px;
  vertical-align: middle;
  background: var(--white-32);
}

body.about-rebuilt-page .about-ref-title {
  max-width: 980px;
  color: var(--white);
  font-size: var(--display-xl);
  line-height: 1.05;
  font-weight: 300;
  letter-spacing: -0.03em;
}

body.about-rebuilt-page .about-ref-heading,
body.about-rebuilt-page .about-ref-recognition__title {
  color: var(--white);
  font-weight: 300;
  text-transform: none;
}

body.about-rebuilt-page .about-ref-heading {
  padding-left: 0;
  font-size: var(--h2);
  line-height: 1.12;
  letter-spacing: -0.025em;
}

body.about-rebuilt-page .about-ref-heading::before {
  display: none;
}

body.about-rebuilt-page .about-ref-section p {
  color: var(--white-64);
  font-size: var(--body);
  font-weight: 300;
  line-height: 1.65;
}

body.about-rebuilt-page .about-ref-story__grid,
body.about-rebuilt-page .about-ref-message__grid,
body.about-rebuilt-page .about-ref-recognition__grid,
body.about-rebuilt-page .about-ref-sustainability__grid {
  gap: clamp(44px, 6.2vw, 104px);
}

body.about-rebuilt-page .about-ref-story__copy,
body.about-rebuilt-page .about-ref-message__copy,
body.about-rebuilt-page .about-ref-recognition__copy,
body.about-rebuilt-page .about-ref-sustainability__copy {
  max-width: 620px;
}

body.about-rebuilt-page .about-ref-metrics {
  gap: 0;
  border-top: 1px solid var(--white-16);
  border-bottom: 1px solid var(--white-16);
}

body.about-rebuilt-page .about-ref-metric {
  padding: clamp(22px, 2.2vw, 34px);
  border-right: 1px solid var(--white-16);
}

body.about-rebuilt-page .about-ref-metric:last-child {
  border-right: 0;
}

body.about-rebuilt-page .about-ref-metric span,
body.about-rebuilt-page .about-ref-metric strong {
  color: var(--white);
}

body.about-rebuilt-page .about-ref-metric span,
body.about-rebuilt-page .about-ref-expertise-card__icon,
body.about-rebuilt-page .about-ref-expertise-card h3 {
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
  text-transform: uppercase;
}

body.about-rebuilt-page .about-ref-metric strong {
  font-size: clamp(34px, 4.8vw, 82px);
  line-height: 0.95;
}

body.about-rebuilt-page .about-ref-story__media,
body.about-rebuilt-page .about-ref-message__media,
body.about-rebuilt-page .about-ref-recognition__media,
body.about-rebuilt-page .about-ref-sustainability__media {
  border: 1px solid var(--white-16);
  background: rgba(255, 255, 255, 0.05);
}

body.about-rebuilt-page .about-ref-story__media img,
body.about-rebuilt-page .about-ref-message__media img,
body.about-rebuilt-page .about-ref-recognition__media img,
body.about-rebuilt-page .about-ref-sustainability__media img {
  filter: saturate(0.88) contrast(1.04) brightness(0.86);
}

body.about-rebuilt-page .about-ref-message__media--contain {
  background:
    radial-gradient(circle at 50% 28%, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.02) 54%),
    rgba(255, 255, 255, 0.055);
}

body.about-rebuilt-page .about-ref-band__grid {
  border-top: 1px solid var(--white-16);
  border-bottom: 1px solid var(--white-16);
}

body.about-rebuilt-page .about-ref-band__item {
  padding-top: clamp(26px, 3vw, 44px);
  padding-bottom: clamp(26px, 3vw, 44px);
}

body.about-rebuilt-page .about-ref-band h2,
body.about-rebuilt-page .about-ref-expertise__head h2 {
  color: var(--white);
  font-size: var(--h2);
  line-height: 1.12;
  font-weight: 300;
  letter-spacing: -0.025em;
  text-transform: none;
}

body.about-rebuilt-page .about-ref-band p {
  color: var(--white-64);
  font-size: clamp(15px, 1vw, 17px);
}

body.about-rebuilt-page .about-ref-signature {
  margin-top: 8px;
  padding-top: 20px;
  border-top: 1px solid var(--white-16);
}

body.about-rebuilt-page .about-ref-signature strong,
body.about-rebuilt-page .about-ref-signature span {
  color: var(--white-64);
}

body.about-rebuilt-page .about-ref-signature strong {
  color: var(--white);
  font-weight: 500;
}

body.about-rebuilt-page .about-ref-recognition__title {
  max-width: 1120px;
  color: var(--white);
  font-size: var(--h2);
  line-height: 1.12;
  letter-spacing: -0.025em;
}

body.about-rebuilt-page .about-ref-expertise__head {
  padding-bottom: clamp(24px, 3vw, 42px);
  margin-bottom: 0;
  border-bottom: 1px solid var(--white-16);
}

body.about-rebuilt-page .about-ref-expertise__head h2 {
  padding-left: 0;
}

body.about-rebuilt-page .about-ref-expertise__head h2::before {
  display: none;
}

body.about-rebuilt-page .about-ref-expertise__arrows {
  display: none;
}

body.about-rebuilt-page .about-ref-expertise__grid {
  gap: 0;
  border-left: 1px solid var(--white-16);
}

body.about-rebuilt-page .about-ref-expertise-card {
  min-height: clamp(220px, 16vw, 300px);
  border: 0;
  border-right: 1px solid var(--white-16);
  border-bottom: 1px solid var(--white-16);
  background: rgba(255, 255, 255, 0.035);
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

body.about-rebuilt-page .about-ref-expertise-card:hover {
  background: rgba(255, 255, 255, 0.075);
}

body.about-rebuilt-page .about-ref-expertise-card__icon {
  width: auto;
  height: auto;
  display: inline-flex;
  place-items: initial;
  border: 0;
  color: var(--white-64);
}

body.about-rebuilt-page .about-ref-expertise-card h3 {
  color: var(--white);
  font-size: clamp(18px, 1.4vw, 24px);
  line-height: 1.2;
  font-weight: 400;
}

body.about-rebuilt-page .about-ref-expertise-card p {
  color: var(--white-64);
}

body.about-rebuilt-page .about-ref-sustainability {
  padding-bottom: clamp(86px, 8vw, 132px);
}

body.about-rebuilt-page .about-ref-play {
  border-color: var(--white-64);
  background: rgba(0, 0, 0, 0.48);
}

body.about-rebuilt-page .tf-footer {
  background: var(--black);
}

body.about-rebuilt-page .tf-footer .br-line,
body.about-rebuilt-page .tf-footer .footer-shell,
body.about-rebuilt-page .tf-footer .footer-grid,
body.about-rebuilt-page .tf-footer .footer-bottom-row {
  border-color: var(--white-16);
}

body.about-rebuilt-page .tf-footer .footer-summary,
body.about-rebuilt-page .tf-footer .footer-heading,
body.about-rebuilt-page .tf-footer .footer-menu-note,
body.about-rebuilt-page .tf-footer .text-white-64 {
  color: var(--white-64) !important;
}

@media (max-width: 991px) {
  body.about-rebuilt-page .about-ref-heading,
  body.about-rebuilt-page .about-ref-recognition__title {
    font-size: clamp(32px, 8vw, 58px);
  }

  body.about-rebuilt-page .about-ref-band__grid,
  body.about-rebuilt-page .about-ref-expertise__grid {
    border-left: 0;
  }

  body.about-rebuilt-page .about-ref-band__item + .about-ref-band__item {
    border-top-color: var(--white-16);
  }
}

@media (max-width: 575px) {
  body.about-rebuilt-page .about-ref-hero {
    min-height: 390px;
  }

  body.about-rebuilt-page .about-ref-metric {
    border-right: 0;
    border-bottom: 1px solid var(--white-16);
  }

  body.about-rebuilt-page .about-ref-metric:last-child {
    border-bottom: 0;
  }
}

@media (max-width: 767px) {
  .section-hero-statement {
    min-height: auto;
  }

  .hero-statement-shell {
    grid-template-columns: 1fr;
    max-width: 100%;
    margin-inline: 0;
  }

  .hero-statement-media {
    aspect-ratio: 1.36;
  }

  .hero-statement-indicators {
    margin-top: 28px;
  }

  .floating-contact {
    right: 0;
    width: 62px;
  }
}

.investor-guide-inquiry__form {
  display: grid;
  gap: clamp(16px, 1.8vw, 24px);
  padding: clamp(24px, 3.2vw, 46px);
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: rgba(255, 255, 255, 0.96);
  color: var(--black);
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.16);
}

.investor-guide-inquiry__form .tf-grid-layout {
  gap: clamp(14px, 1.7vw, 24px);
}

.investor-guide-inquiry__form .tf-field .tf-input {
  height: clamp(54px, 4.3vw, 62px);
  padding: 18px 26px 8px;
  border: 1px solid rgba(0, 0, 0, 0.34);
  border-radius: 6px;
  background: var(--white);
  color: var(--black);
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 0;
}

.investor-guide-inquiry__form .tf-field .tf-lable,
.investor-guide-inquiry__form .tf-field .tf-input:not(:placeholder-shown) ~ .tf-lable {
  left: 26px;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(0, 0, 0, 0.52);
  font-size: 15px;
  line-height: 1;
  letter-spacing: 0;
}

.investor-guide-inquiry__form .tf-field .tf-input:focus ~ .tf-lable,
.investor-guide-inquiry__form .tf-field .tf-input:valid ~ .tf-lable {
  top: 8px;
  transform: none;
  font-size: 11px;
  color: rgba(0, 0, 0, 0.55);
}

.investor-guide-inquiry__form .nice-select {
  height: clamp(54px, 4.3vw, 62px);
  padding: 0 48px 0 26px;
  border: 1px solid rgba(0, 0, 0, 0.24);
  border-radius: 6px;
  background: var(--white);
  color: var(--black);
  display: flex;
  align-items: center;
}

.investor-guide-inquiry__form .nice-select .current {
  color: rgba(0, 0, 0, 0.54);
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 0;
}

.investor-guide-inquiry__form .investor-guide-inquiry__actions .tf-btn {
  min-width: 160px;
  border-color: var(--black);
  color: var(--black);
  background: transparent;
  border-radius: 999px;
  letter-spacing: 0.18em;
}

.section-cta .form-cta,
.form-project-lead,
.investor-guide-inquiry__form {
  border-color: var(--white-16);
  background: rgba(0, 0, 0, 0.68);
  color: var(--white);
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.34);
  backdrop-filter: blur(18px);
}

.form-cta .lead-form-comprehensive,
.form-project-lead .lead-form-comprehensive {
  gap: clamp(14px, 1.45vw, 22px);
  margin-bottom: clamp(24px, 2.8vw, 36px);
}

.form-cta .lead-form-comprehensive .tf-grid-layout,
.form-project-lead .lead-form-comprehensive .tf-grid-layout {
  gap: clamp(12px, 1.35vw, 20px);
}

@media (min-width: 576px) {
  .form-cta .lead-form-comprehensive .tf-grid-layout.sm-col-2,
  .form-project-lead .lead-form-comprehensive .tf-grid-layout.sm-col-2,
  .investor-guide-inquiry__form .tf-grid-layout.sm-col-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.form-cta .lead-form-comprehensive .tf-field,
.form-project-lead .lead-form-comprehensive .tf-field,
.investor-guide-inquiry__form .tf-field,
.form-cta .lead-select-field,
.form-project-lead .lead-select-field,
.investor-guide-inquiry__form .lead-select-field {
  min-width: 0;
}

.lead-select-field {
  position: relative;
  display: grid;
  gap: 8px;
}

.lead-select-label {
  color: var(--white-64);
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0;
}

.form-cta .tf-field .tf-input,
.form-project-lead .tf-field .tf-input,
.investor-guide-inquiry__form .tf-field .tf-input,
.form-cta .tf-select,
.form-project-lead .tf-select,
.investor-guide-inquiry__form .tf-select {
  box-sizing: border-box;
  width: 100%;
  height: clamp(54px, 4.3vw, 62px);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.06);
  color: var(--white);
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 0;
}

.form-cta .tf-field .tf-input,
.form-project-lead .tf-field .tf-input,
.investor-guide-inquiry__form .tf-field .tf-input {
  padding: 18px 26px 8px;
}

.form-cta .tf-select,
.form-project-lead .tf-select,
.investor-guide-inquiry__form .tf-select {
  display: block;
  max-width: 100%;
  min-width: 0;
  padding: 0 48px 0 26px;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

.form-cta .tf-select:invalid,
.form-project-lead .tf-select:invalid,
.investor-guide-inquiry__form .tf-select:invalid,
.form-cta .tf-select option[value=""],
.form-project-lead .tf-select option[value=""],
.investor-guide-inquiry__form .tf-select option[value=""] {
  color: var(--white-64);
}

.form-cta .tf-select option,
.form-project-lead .tf-select option,
.investor-guide-inquiry__form .tf-select option {
  color: var(--black);
  background: var(--white);
}

.lead-select-field::after {
  content: "\e906";
  position: absolute;
  right: 24px;
  bottom: clamp(18px, 1.55vw, 22px);
  font-family: "icomoon";
  font-size: 12px;
  line-height: 1;
  color: var(--white-64);
  pointer-events: none;
}

.form-cta .tf-field .tf-lable,
.form-project-lead .tf-field .tf-lable,
.investor-guide-inquiry__form .tf-field .tf-lable,
.form-cta .tf-field .tf-input:not(:placeholder-shown) ~ .tf-lable,
.form-project-lead .tf-field .tf-input:not(:placeholder-shown) ~ .tf-lable,
.investor-guide-inquiry__form .tf-field .tf-input:not(:placeholder-shown) ~ .tf-lable {
  color: var(--white-64);
}

.form-cta .tf-field .tf-input:focus,
.form-project-lead .tf-field .tf-input:focus,
.investor-guide-inquiry__form .tf-field .tf-input:focus,
.form-cta .tf-select:focus,
.form-project-lead .tf-select:focus,
.investor-guide-inquiry__form .tf-select:focus {
  border-color: rgba(255, 255, 255, 0.72);
  outline: 0;
}

.form-cta .tf-field .tf-input:focus ~ .tf-lable,
.form-cta .tf-field .tf-input:valid ~ .tf-lable,
.form-project-lead .tf-field .tf-input:focus ~ .tf-lable,
.form-project-lead .tf-field .tf-input:valid ~ .tf-lable,
.investor-guide-inquiry__form .tf-field .tf-input:focus ~ .tf-lable,
.investor-guide-inquiry__form .tf-field .tf-input:valid ~ .tf-lable {
  color: rgba(255, 255, 255, 0.76);
}

.form-cta .tf-field--textarea .tf-input,
.form-project-lead .tf-field--textarea .tf-input,
.investor-guide-inquiry__form .tf-field--textarea .tf-input {
  min-height: clamp(118px, 10vw, 160px);
  height: auto;
  padding-top: 28px;
  resize: vertical;
}

.form-cta .tf-field--textarea .tf-lable,
.form-project-lead .tf-field--textarea .tf-lable,
.investor-guide-inquiry__form .tf-field--textarea .tf-lable {
  top: 24px;
  transform: none;
}

.form-cta .tf-field--textarea .tf-input:focus ~ .tf-lable,
.form-cta .tf-field--textarea .tf-input:valid ~ .tf-lable,
.form-project-lead .tf-field--textarea .tf-input:focus ~ .tf-lable,
.form-project-lead .tf-field--textarea .tf-input:valid ~ .tf-lable,
.investor-guide-inquiry__form .tf-field--textarea .tf-input:focus ~ .tf-lable,
.investor-guide-inquiry__form .tf-field--textarea .tf-input:valid ~ .tf-lable {
  top: 8px;
}

.form-cta .form-action .tf-btn,
.form-project-lead .form-action .tf-btn,
.investor-guide-inquiry__form .investor-guide-inquiry__actions .tf-btn {
  border-color: var(--white);
  color: var(--white);
  background: transparent;
}

.form-cta .form-action p,
.form-project-lead .form-action p,
.form-cta .form-action a,
.form-project-lead .form-action a {
  color: var(--white-64);
}

/* Homepage typography alignment
   Keeps bespoke homepage sections on the same hierarchy as the global system. */
body.home-page-body .hero-tagline,
body.home-page-body .hero-statement-copy,
body.home-page-body .selected-dev-description,
body.home-page-body .wg-service-2 .desc,
body.home-page-body .tes-text,
body.home-page-body .footer-summary {
  font-size: var(--body);
  font-weight: 300;
  line-height: 1.65;
  letter-spacing: 0;
  color: var(--white-64);
}

body.home-page-body .selected-dev-title,
body.home-page-body .wg-service-2 .title,
body.home-page-body .info__name {
  font-size: var(--h3);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none;
}

body.home-page-body .selected-dev-eyebrow {
  font-size: var(--h5);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-transform: none;
}

body.home-page-body .hero-statement-kicker,
body.home-page-body h2.mini-title.text-caption,
body.home-page-body h2.mini-title.text-body-1,
body.home-page-body .selected-dev-section-title {
  font-size: 40px;
  font-weight: 300;
  line-height: 1.12;
  letter-spacing: -0.025em;
  text-transform: none;
  text-align: left;
  color: var(--white);
}

body.home-page-body .selected-dev-features li,
body.home-page-body .wg-service-2 .tf-list li {
  font-size: var(--label);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* Global H2 title normalization */
h2:not(.footer-statement) {
  font-size: 40px !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
  text-align: left !important;
}

/* Global section padding normalization */
.flat-spacing,
.flat-spacing-2,
.section-contact-routes.flat-spacing,
.section-contact-locations.flat-spacing,
.section-contact-inquiry.flat-spacing,
.section-development-directory.flat-spacing,
.section-news-atlas.flat-spacing,
.section-events-schedule.flat-spacing,
.section-leadership-message.flat-spacing,
.section-leadership-team.flat-spacing,
.section-legacy-timeline.flat-spacing,
.section-investor-guide-intro.flat-spacing,
.section-investor-guide-drivers.flat-spacing,
.section-investor-guide-yields.flat-spacing,
.section-investor-guide-advantages.flat-spacing,
.section-investor-guide-opportunities.flat-spacing,
.section-villa23-overview.flat-spacing,
.section-villa23-gallery.flat-spacing,
.section-villa23-amenities.flat-spacing,
.section-project-location.flat-spacing,
.section-villa23-travel-timeline.flat-spacing,
.section-project-plans.flat-spacing,
.project-cta.flat-spacing,
body.about-rebuilt-page .about-ref-section {
  padding-top: var(--kpd-section-pad-y);
  padding-bottom: var(--kpd-section-pad-y);
}

.flat-spacing-sm,
body.about-rebuilt-page .about-ref-band {
  padding-top: var(--kpd-section-pad-y-tight);
  padding-bottom: var(--kpd-section-pad-y-tight);
}

.experience-center-section.flat-spacing {
  padding-top: clamp(24px, 3.6svh, 52px);
  padding-bottom: clamp(24px, 3.6svh, 52px);
}

@media (max-width: 1199px) and (min-width: 992px) {
  .floating-contact {
    right: 0;
    width: 66px;
  }
}

/* Villa 23 split gallery */
body.project-page-body .section-villa23-gallery {
  min-height: 100vh !important;
  min-height: 100svh !important;
  display: flex !important;
  flex-direction: column;
  justify-content: center !important;
  overflow: hidden;
  scroll-margin-top: 76px;
  padding-top: clamp(56px, 8svh, 92px) !important;
  padding-bottom: clamp(56px, 8svh, 92px) !important;
  background: var(--black) !important;
  color: var(--white);
}

body.project-page-body .section-villa23-gallery > .home-section-mirror-bg {
  display: none !important;
}

body.project-page-body .section-villa23-gallery .container {
  position: relative;
  z-index: 1;
  width: min(var(--kpd-container-width), calc(100vw - clamp(40px, 5vw, 120px) - 80px));
  max-width: none;
}

.villa23-split-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(28px, 4vw, 64px);
  align-items: start;
}

.villa23-split-gallery__panel {
  min-width: 0;
}

.villa23-split-gallery__title {
  position: relative;
  margin: 0 0 clamp(18px, 3svh, 30px);
  padding-left: 0;
  color: var(--white) !important;
  font-size: 40px !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
  text-align: left !important;
}

.villa23-split-gallery__frame {
  position: relative;
  aspect-ratio: 1.42;
  height: clamp(330px, 57svh, 620px);
  overflow: hidden;
  border: 1px solid var(--white-16);
  background: rgba(255, 255, 255, 0.04);
}

.villa23-split-gallery__slides {
  position: absolute;
  inset: 0;
}

.villa23-split-gallery__slide {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transform: scale(1.015);
  transition: opacity 0.42s ease, transform 0.42s ease;
}

.villa23-split-gallery__slide.is-active {
  opacity: 1;
  transform: scale(1);
}

.villa23-split-gallery__arrow {
  position: absolute;
  top: 54%;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(46px, 4vw, 62px);
  height: clamp(46px, 4vw, 62px);
  padding: 0;
  border: 1.5px solid rgba(255, 255, 255, 0.92);
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.12);
  color: var(--white);
  transform: translateY(-50%);
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.villa23-split-gallery__arrow:hover {
  background: rgba(0, 0, 0, 0.24);
  transform: translateY(-50%) scale(1.04);
}

.villa23-split-gallery__arrow span {
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1;
}

.villa23-split-gallery__arrow.is-prev {
  left: clamp(18px, 2vw, 28px);
}

.villa23-split-gallery__arrow.is-next {
  right: clamp(18px, 2vw, 28px);
}

.villa23-split-gallery__thumbs {
  position: absolute;
  left: 50%;
  bottom: clamp(20px, 2.3vw, 34px);
  z-index: 5;
  display: flex;
  justify-content: center;
  gap: clamp(8px, 0.8vw, 12px);
  width: min(72%, 440px);
  transform: translateX(-50%);
}

.villa23-split-gallery__thumb {
  flex: 1 1 0;
  min-width: 0;
  aspect-ratio: 1.35;
  padding: 0;
  overflow: hidden;
  border: 2px solid transparent;
  background: transparent;
  opacity: 0.82;
  transition: opacity 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.villa23-split-gallery__thumb.is-active,
.villa23-split-gallery__thumb:hover {
  border-color: var(--white);
  opacity: 1;
  transform: translateY(-3px);
}

.villa23-split-gallery__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.villa23-split-gallery__dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 12px;
}

.villa23-split-gallery__dots button {
  width: 7px;
  height: 7px;
  padding: 0;
  border: 1px solid var(--white-64);
  border-radius: 50%;
  background: transparent;
}

.villa23-split-gallery__dots button.is-active {
  background: var(--white);
}

@media (max-width: 991px) {
  body.project-page-body .section-villa23-gallery {
    min-height: auto !important;
  }

  body.project-page-body .section-villa23-gallery .container {
    width: min(var(--kpd-container-width), calc(100vw - clamp(32px, 5vw, 80px)));
  }

  .villa23-split-gallery {
    grid-template-columns: 1fr;
  }

  .villa23-split-gallery__frame {
    height: auto;
  }
}

@media (max-width: 575px) {
  body.project-page-body .section-villa23-gallery .container {
    width: min(100% - 28px, var(--kpd-container-width));
  }

  .villa23-split-gallery__title {
    font-size: clamp(28px, 8vw, 40px) !important;
  }

  .villa23-split-gallery__frame {
    aspect-ratio: 1;
  }

  .villa23-split-gallery__thumbs {
    width: calc(100% - 52px);
  }
}

/* ---------------------------------------------------------
   KPD Interior Page Theme
--------------------------------------------------------- */
body:not(.home-page-body) {
  --kpd-black: #000000;
  --kpd-ink: #ffffff;
  --kpd-muted: rgba(255, 255, 255, 0.62);
  --kpd-line: rgba(255, 255, 255, 0.16);
  --kpd-panel: #050505;
  --kpd-panel-soft: #0b0b0b;
  --kpd-light: #f3f3f3;
  --kpd-light-soft: #ffffff;
  background: var(--kpd-black);
  color: var(--kpd-ink);
  font-family: var(--font-main);
  letter-spacing: 0;
}

body:not(.home-page-body) #wrapper {
  overflow: hidden;
  background: var(--kpd-black);
}

body:not(.home-page-body) ::selection {
  background: #ffffff;
  color: #000000;
}

body:not(.home-page-body) img,
body:not(.home-page-body) video,
body:not(.home-page-body) iframe {
  filter: none !important;
}

body:not(.home-page-body) .cursor-trail {
  display: none !important;
}

:root {
  --kpd-cursor-x: 50vw;
  --kpd-cursor-y: 50vh;
  --kpd-cursor-scale: 1;
  --kpd-cursor-aura-opacity: 0;
}

.cursor-trail,
body.home-page-body .home-react-lab__cursor,
.kpd-cursor-highlight,
.kpd-cursor-highlight *,
.kpd-cursor-highlight::before,
.kpd-cursor-highlight::after {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  animation: none !important;
  transition: none !important;
}

body.kpd-interior-page {
  --kpd-page-progress: 0;
}

body.kpd-interior-page .kpd-page-progress {
  position: fixed;
  top: 50%;
  left: clamp(18px, 2vw, 34px);
  z-index: 1200;
  width: 2px;
  height: min(34vh, 290px);
  pointer-events: none;
  background: rgba(255, 255, 255, 0.18);
  mix-blend-mode: difference;
  transform: translateY(-50%);
}

body.kpd-interior-page .kpd-page-progress::before {
  position: absolute;
  inset: 0 0 auto;
  height: calc(var(--kpd-page-progress) * 100%);
  min-height: 10px;
  content: "";
  background: #ffffff;
  box-shadow: 0 0 22px rgba(255, 255, 255, 0.42);
  transition: height 160ms linear;
}

body.kpd-interior-page .kpd-page-progress::after {
  position: absolute;
  top: calc(var(--kpd-page-progress) * 100%);
  left: 50%;
  width: 10px;
  height: 10px;
  content: "";
  border: 1px solid #ffffff;
  background: #000000;
  transform: translate(-50%, -50%) rotate(45deg);
}

body:not(.home-page-body) .tf-header {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.78), rgba(0, 0, 0, 0));
  backdrop-filter: none;
}

body:not(.home-page-body) .section-project-hero {
  position: relative;
  min-height: min(780px, 82vh);
  padding: clamp(118px, 12vw, 180px) 0 clamp(86px, 8vw, 132px);
  overflow: hidden;
  isolation: isolate;
  background: #000000;
}

body:not(.home-page-body) .section-project-hero::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.52), transparent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1200ms cubic-bezier(0.16, 1, 0.3, 1);
}

body.kpd-page-ready:not(.home-page-body) .section-project-hero::after {
  transform: scaleX(1);
}

body.kpd-page-ready:not(.home-page-body) .section-project-hero .effectFade {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

body:not(.home-page-body) .section-project-hero .project-hero-grid {
  display: none !important;
}

body:not(.home-page-body) .section-project-hero .project-hero-bg {
  z-index: 0;
  opacity: 1;
  background: #000000;
}

body:not(.home-page-body) .section-project-hero .project-hero-bg img,
body:not(.home-page-body) .section-project-hero .project-hero-bg video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.84;
  transform: scale(1.055);
  transition:
    opacity 900ms ease,
    transform 1600ms cubic-bezier(0.16, 1, 0.3, 1);
}

body.kpd-page-ready:not(.home-page-body) .section-project-hero .project-hero-bg img,
body.kpd-page-ready:not(.home-page-body) .section-project-hero .project-hero-bg video {
  opacity: 1;
  transform: scale(1.015);
}

body:not(.home-page-body) .section-project-hero .project-hero-shade {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.62) 42%, rgba(0, 0, 0, 0.22) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.84) 100%);
}

body:not(.home-page-body) .section-project-hero .container {
  position: relative;
  z-index: 4;
}

body:not(.home-page-body) .project-hero-top {
  margin-bottom: clamp(34px, 5vw, 74px);
}

body:not(.home-page-body) .tf-link-icon,
body:not(.home-page-body) .project-hero-top .link {
  color: rgba(255, 255, 255, 0.78);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body:not(.home-page-body) .project-title,
body:not(.home-page-body) .page-title {
  max-width: 12ch;
  color: #ffffff;
  font-family: var(--font-main);
  font-size: clamp(54px, 8vw, 126px);
  font-weight: 300 !important;
  line-height: 0.94;
  letter-spacing: 0 !important;
  text-transform: uppercase;
  text-shadow: none;
}

body:not(.home-page-body) .project-title::after,
body:not(.home-page-body) .page-title::after,
body:not(.home-page-body) :is(.s-header .title, .about-ref-heading, .events-schedule-block__title, .investor-guide-section-head h2)::after {
  display: block;
  width: clamp(72px, 9vw, 128px);
  height: 1px;
  margin-top: clamp(18px, 2.4vw, 30px);
  content: "";
  background: currentColor;
  opacity: 0.48;
}

body:not(.home-page-body) :is(.s-header .title, .about-ref-heading, .events-schedule-block__title, .investor-guide-section-head h2, .development-directory-intro__title, .news-atlas-intro__title, .contact-location-title, .leadership-card-name, .investor-guide-intro__title) {
  color: inherit;
  font-family: var(--font-main);
  font-weight: 300 !important;
  line-height: 1.03;
  letter-spacing: 0 !important;
}

body:not(.home-page-body) :is(.s-header .title, .about-ref-heading, .events-schedule-block__title, .investor-guide-section-head h2, .development-directory-intro__title) {
  font-size: clamp(38px, 4.6vw, 78px) !important;
  text-transform: uppercase;
}

body:not(.home-page-body) :is(.text-white-64, .text-body-1.text-white-64, .text-body-2.text-white-64, .footer-summary) {
  color: var(--kpd-muted) !important;
}

body:not(.home-page-body) :is(.flat-spacing, .about-ref-section, .about-ref-band) {
  position: relative;
  background: #000000;
  color: #ffffff;
}

body:not(.home-page-body) :is(.flat-spacing, .about-ref-section, .about-ref-band) > .container {
  position: relative;
  z-index: 2;
}

body:not(.home-page-body) :is(.flat-spacing, .about-ref-section, .about-ref-band)::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  content: "";
  background:
    radial-gradient(circle at 18% 8%, rgba(255, 255, 255, 0.08), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 34%);
  opacity: 0.9;
}

body:not(.home-page-body):is(.developments-page-body, .news-page-body, .events-page-body, .investor-guide-page-body) :is(
  .section-development-directory,
  .section-news-atlas,
  .section-events-schedule,
  .section-investor-guide-intro,
  .section-investor-guide-yields,
  .section-investor-guide-opportunities
) {
  background: var(--kpd-light);
  color: #000000;
}

body:not(.home-page-body):is(.developments-page-body, .news-page-body, .events-page-body, .investor-guide-page-body) :is(
  .section-development-directory,
  .section-news-atlas,
  .section-events-schedule,
  .section-investor-guide-intro,
  .section-investor-guide-yields,
  .section-investor-guide-opportunities
)::before {
  background:
    radial-gradient(circle at 18% 12%, rgba(0, 0, 0, 0.05), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.9), transparent 42%);
}

body:not(.home-page-body):is(.developments-page-body, .news-page-body, .events-page-body, .investor-guide-page-body) :is(
  .section-development-directory,
  .section-news-atlas,
  .section-events-schedule,
  .section-investor-guide-intro,
  .section-investor-guide-yields,
  .section-investor-guide-opportunities
) :is(.text-white-64, .text-body-1.text-white-64, .text-body-2.text-white-64) {
  color: rgba(0, 0, 0, 0.58) !important;
}

body:not(.home-page-body) :is(
  .about-ref-metric,
  .about-ref-band__item,
  .about-ref-expertise-card,
  .development-feature,
  .article-blog,
  .event-card,
  .leadership-card,
  .investor-guide-stat-card,
  .investor-guide-driver-card,
  .investor-guide-side-card,
  .investor-guide-advantage-card,
  .investor-guide-opportunity-card,
  .contact-location-card,
  .wg-process,
  .legacy-timeline-item summary,
  .legacy-next-card,
  .villa23-amenities-detail
) {
  overflow: hidden;
  border: 1px solid var(--kpd-line);
  border-radius: 0 !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.018));
  box-shadow: none;
  transition:
    border-color 320ms ease,
    background 320ms ease,
    box-shadow 320ms ease,
    transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

body:not(.home-page-body):is(.developments-page-body, .news-page-body, .events-page-body, .investor-guide-page-body) :is(
  .section-development-directory,
  .section-news-atlas,
  .section-events-schedule,
  .section-investor-guide-intro,
  .section-investor-guide-yields,
  .section-investor-guide-opportunities
) :is(.development-feature, .article-blog, .event-card, .investor-guide-stat-card, .investor-guide-side-card, .investor-guide-opportunity-card) {
  border-color: rgba(0, 0, 0, 0.1);
  background: #ffffff;
  color: #000000;
}

body:not(.home-page-body) :is(
  .about-ref-metric,
  .about-ref-band__item,
  .about-ref-expertise-card,
  .development-feature,
  .article-blog,
  .event-card,
  .leadership-card,
  .investor-guide-stat-card,
  .investor-guide-driver-card,
  .investor-guide-side-card,
  .investor-guide-advantage-card,
  .investor-guide-opportunity-card,
  .contact-location-card,
  .wg-process,
  .legacy-timeline-item summary,
  .legacy-next-card,
  .villa23-amenities-detail
):hover {
  border-color: rgba(255, 255, 255, 0.44);
  transform: translateY(-6px);
}

body:not(.home-page-body):is(.developments-page-body, .news-page-body, .events-page-body, .investor-guide-page-body) :is(
  .section-development-directory,
  .section-news-atlas,
  .section-events-schedule,
  .section-investor-guide-intro,
  .section-investor-guide-yields,
  .section-investor-guide-opportunities
) :is(.development-feature, .article-blog, .event-card, .investor-guide-stat-card, .investor-guide-side-card, .investor-guide-opportunity-card):hover {
  border-color: rgba(0, 0, 0, 0.22);
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.12);
}

body.developments-page-body:not(.home-page-body),
body.developments-page-body:not(.home-page-body) #wrapper,
body.developments-page-body:not(.home-page-body) .section-project-hero,
body.developments-page-body:not(.home-page-body) .section-development-directory,
body.developments-page-body:not(.home-page-body) .tf-footer,
body.developments-page-body:not(.home-page-body) .footer-inner,
body.developments-page-body:not(.home-page-body) .footer-bottom {
  background: #000000;
  color: #ffffff;
}

body.developments-page-body:not(.home-page-body) .section-development-directory::before {
  background: none;
}

body.developments-page-body:not(.home-page-body) .section-development-directory :is(.development-directory-intro__title, .development-directory-intro__summary) {
  color: #ffffff !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory .development-directory-intro__summary {
  color: rgba(255, 255, 255, 0.66) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory .development-directory-intro p.development-directory-intro__summary.text-body-1.text-white-64 {
  color: rgba(255, 255, 255, 0.66) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory .development-feature {
  border-color: rgba(0, 0, 0, 0.1);
  background: #ffffff;
  color: #000000;
}

body.developments-page-body:not(.home-page-body) .section-development-directory .development-feature :is(.text-white-64, .text-body-2.text-white-64) {
  color: rgba(0, 0, 0, 0.58) !important;
}

body.events-page-body:not(.home-page-body) .section-events-schedule :is(.events-schedule-intro__summary, .events-schedule-block__eyebrow, .events-schedule-block__title) {
  color: #ffffff !important;
}

body.events-page-body:not(.home-page-body) .section-events-schedule .event-card :is(.event-card__meta, .event-card__details, .event-card__location, .text-white-64) {
  color: rgba(0, 0, 0, 0.58) !important;
}

body.investor-guide-page-body:not(.home-page-body) .section-investor-guide-intro :is(
  .investor-guide-intro__copy,
  .investor-guide-intro__copy .text-caption,
  .investor-guide-intro__copy .text-body-1,
  .investor-guide-intro__title,
  .investor-guide-inquiry__eyebrow,
  .investor-guide-inquiry__title
) {
  color: #ffffff !important;
}

body.investor-guide-page-body:not(.home-page-body) .section-investor-guide-intro .investor-guide-intro__copy .text-body-1 {
  color: rgba(255, 255, 255, 0.68) !important;
}

body.investor-guide-page-body:not(.home-page-body) .section-investor-guide-intro :is(.investor-guide-intro__actions, .investor-guide-inquiry__actions) .tf-btn {
  border-color: rgba(255, 255, 255, 0.34);
  color: #ffffff;
}

body.investor-guide-page-body:not(.home-page-body) .section-investor-guide-intro :is(.investor-guide-intro__actions, .investor-guide-inquiry__actions) .tf-btn::before {
  background: #ffffff;
}

body.investor-guide-page-body:not(.home-page-body) .section-investor-guide-intro :is(.investor-guide-intro__actions, .investor-guide-inquiry__actions) .tf-btn:hover,
body.investor-guide-page-body:not(.home-page-body) .section-investor-guide-intro :is(.investor-guide-intro__actions, .investor-guide-inquiry__actions) .tf-btn:focus-visible {
  border-color: #ffffff;
  color: #000000;
}

body:not(.home-page-body) :is(.blog-image, .img-style, .development-feature__media, .event-card__visual, .leadership-card-media, .contact-location-media, [class*="__media"], figure) {
  border-radius: 0 !important;
}

body:not(.home-page-body) :is(.blog-image, .img-style, .development-feature__media, .event-card__visual, .leadership-card-media, .contact-location-media, [class*="__media"]) {
  overflow: hidden;
}

body:not(.home-page-body) :is(.blog-image img, .img-style img, .development-feature__media img, .event-card__visual img, .leadership-card-media img, .about-ref-story__media img, .about-ref-message__media img, .contact-location-media iframe) {
  transform: scale(1.01);
  transition: transform 900ms cubic-bezier(0.16, 1, 0.3, 1);
}

body:not(.home-page-body) :is(.article-blog, .development-feature, .event-card, .leadership-card, .about-ref-story__media, .about-ref-message__media, .contact-location-card):hover :is(img, iframe) {
  transform: scale(1.055);
}

body:not(.home-page-body) .tf-btn {
  min-height: 46px;
  border-color: rgba(255, 255, 255, 0.32);
  border-radius: 0;
  background: transparent;
  color: #ffffff;
  font-family: var(--font-main);
  font-size: var(--label);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  box-shadow: none;
}

body:not(.home-page-body) .tf-btn::before {
  background: #ffffff;
}

body:not(.home-page-body) .tf-btn:hover,
body:not(.home-page-body) .tf-btn:focus-visible {
  border-color: #ffffff;
  color: #000000;
}

body:not(.home-page-body):is(.developments-page-body, .news-page-body, .events-page-body, .investor-guide-page-body) :is(
  .section-development-directory,
  .section-news-atlas,
  .section-events-schedule,
  .section-investor-guide-intro,
  .section-investor-guide-yields,
  .section-investor-guide-opportunities
) .tf-btn {
  border-color: rgba(0, 0, 0, 0.25);
  color: #000000;
}

body:not(.home-page-body):is(.developments-page-body, .news-page-body, .events-page-body, .investor-guide-page-body) :is(
  .section-development-directory,
  .section-news-atlas,
  .section-events-schedule,
  .section-investor-guide-intro,
  .section-investor-guide-yields,
  .section-investor-guide-opportunities
) .tf-btn::before {
  background: #000000;
}

body:not(.home-page-body):is(.developments-page-body, .news-page-body, .events-page-body, .investor-guide-page-body) :is(
  .section-development-directory,
  .section-news-atlas,
  .section-events-schedule,
  .section-investor-guide-intro,
  .section-investor-guide-yields,
  .section-investor-guide-opportunities
) .tf-btn:hover,
body:not(.home-page-body):is(.developments-page-body, .news-page-body, .events-page-body, .investor-guide-page-body) :is(
  .section-development-directory,
  .section-news-atlas,
  .section-events-schedule,
  .section-investor-guide-intro,
  .section-investor-guide-yields,
  .section-investor-guide-opportunities
) .tf-btn:focus-visible {
  border-color: #000000;
  color: #ffffff;
}

body:not(.home-page-body) :is(.tf-field .tf-input, .tf-select, .nice-select) {
  border-radius: 0 !important;
  border-color: rgba(255, 255, 255, 0.2);
  background: #050505;
  color: #ffffff;
}

body:not(.home-page-body) :is(.tf-field .tf-lable, .lead-select-label, .nice-select .current) {
  color: rgba(255, 255, 255, 0.64);
}

body:not(.home-page-body) .article-blog .blog-content {
  border-radius: 0;
}

body:not(.home-page-body) .article-blog .btn-action {
  border-radius: 0;
  border-color: currentColor;
}

body:not(.home-page-body) .tf-footer {
  background: #000000 !important;
  color: #ffffff;
}

body:not(.home-page-body) .footer-inner,
body:not(.home-page-body) .footer-bottom {
  background: #000000;
}

body.developments-page-body:not(.home-page-body) .section-development-directory {
  background: #000000 !important;
  color: #ffffff !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory::before {
  opacity: 0 !important;
  background: none !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory .development-feature {
  border-color: rgba(255, 255, 255, 0.16) !important;
  background: #000000 !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory .development-feature:hover {
  border-color: rgba(255, 255, 255, 0.42) !important;
  box-shadow: none !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory .development-feature + .development-feature {
  border-top-color: rgba(255, 255, 255, 0.16);
}

body.developments-page-body:not(.home-page-body) .section-development-directory :is(
  .development-feature__eyebrow,
  .development-feature__text,
  .development-feature .text-white-64,
  .development-feature .text-body-2.text-white-64
) {
  color: rgba(255, 255, 255, 0.66) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory .development-feature__title {
  color: #ffffff !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory .development-feature__media {
  border-color: rgba(255, 255, 255, 0.16) !important;
  background: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory .tf-btn {
  border-color: rgba(255, 255, 255, 0.32) !important;
  background: transparent !important;
  color: #ffffff !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory .tf-btn::before {
  background: #ffffff !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory .tf-btn:hover,
body.developments-page-body:not(.home-page-body) .section-development-directory .tf-btn:focus-visible {
  border-color: #ffffff !important;
  color: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory .development-feature__action--disabled {
  border-color: rgba(255, 255, 255, 0.14) !important;
  background: #000000 !important;
  color: rgba(255, 255, 255, 0.54) !important;
}

body.developments-page-body:not(.home-page-body) .section-project-hero .project-hero-bg {
  background: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .section-project-hero .project-hero-bg img {
  opacity: 0 !important;
  visibility: hidden !important;
}

body.developments-page-body:not(.home-page-body) .section-project-hero .project-hero-shade {
  background: #000000 !important;
}

/* Developments page polish: align with the homepage motion and black/white system. */
body.developments-page-body:not(.home-page-body) {
  --dev-motion-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --dev-motion-ease-soft: cubic-bezier(0.22, 1, 0.36, 1);
  --dev-motion-fast: 320ms;
  --dev-motion-medium: 560ms;
  --dev-motion-reveal: 820ms;
  --dev-motion-long: 960ms;
  --dev-line: rgba(255, 255, 255, 0.16);
  --dev-line-strong: rgba(255, 255, 255, 0.42);
  --dev-muted: rgba(255, 255, 255, 0.64);
  --dev-muted-soft: rgba(255, 255, 255, 0.42);
  background: #000000 !important;
}

body.developments-page-body:not(.home-page-body) #wrapper {
  background: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .tf-header {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.84), rgba(0, 0, 0, 0));
}

body.developments-page-body:not(.home-page-body) :is(.section-project-hero, .section-development-directory, .tf-footer) > .container,
body.developments-page-body:not(.home-page-body) .footer-inner > .container,
body.developments-page-body:not(.home-page-body) .footer-bottom > .container {
  width: min(var(--kpd-container-width), calc(100vw - clamp(40px, 5vw, 120px)));
  max-width: none;
  padding-right: var(--kpd-container-gutter);
  padding-left: var(--kpd-container-gutter);
}

body.developments-page-body:not(.home-page-body) .section-project-hero {
  min-height: clamp(430px, 62svh, 700px);
  padding-top: clamp(112px, 13svh, 172px);
  padding-bottom: clamp(68px, 9svh, 112px);
  background: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .section-project-hero::before {
  position: absolute;
  right: clamp(20px, 4vw, 72px);
  bottom: clamp(28px, 4vw, 56px);
  left: clamp(20px, 4vw, 72px);
  z-index: 2;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.14), transparent);
  opacity: 0.7;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1100ms var(--dev-motion-ease);
}

body.kpd-page-ready.developments-page-body:not(.home-page-body) .section-project-hero::before {
  transform: scaleX(1);
}

body.developments-page-body:not(.home-page-body) .section-project-hero::after {
  background: none !important;
}

body.developments-page-body:not(.home-page-body) .section-project-hero .project-hero-bg img {
  opacity: 0 !important;
  visibility: hidden !important;
}

body.developments-page-body:not(.home-page-body) .section-project-hero .project-hero-shade {
  background: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .project-hero-top {
  margin-bottom: clamp(36px, 6vw, 80px);
}

body.developments-page-body:not(.home-page-body) .project-title {
  max-width: 11ch;
  font-size: clamp(58px, 9.5vw, 148px);
  letter-spacing: 0 !important;
}

body.developments-page-body:not(.home-page-body) .project-title::after {
  width: clamp(74px, 10vw, 140px);
  opacity: 0.56;
}

body.developments-page-body:not(.home-page-body) .section-development-directory {
  overflow: hidden;
  padding-top: clamp(54px, 8svh, 96px) !important;
  padding-bottom: clamp(76px, 11svh, 132px) !important;
  background: #000000 !important;
  color: #ffffff !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory > .home-section-mirror-bg {
  display: none !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-mirror-section {
  background: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory::before,
body.developments-page-body:not(.home-page-body) .section-development-directory::after {
  display: none !important;
  content: none !important;
}

body.developments-page-body:not(.home-page-body) .development-directory-shell {
  width: 100%;
  max-width: none;
  padding-top: 0;
}

body.developments-page-body:not(.home-page-body) .development-directory-intro {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(320px, 0.7fr);
  align-items: end;
  gap: clamp(28px, 5vw, 92px);
  max-width: none;
  margin-bottom: clamp(38px, 6svh, 72px);
  padding-bottom: clamp(30px, 4vw, 52px);
  border-bottom: 1px solid var(--dev-line);
}

body.developments-page-body:not(.home-page-body) .development-directory-intro__title {
  max-width: 11ch;
  color: #ffffff !important;
}

body.developments-page-body:not(.home-page-body) .development-directory-intro__summary {
  max-width: 56ch;
  color: var(--dev-muted) !important;
}

body.developments-page-body:not(.home-page-body) .development-directory-features {
  counter-reset: developmentFeature;
}

body.developments-page-body:not(.home-page-body) .development-feature {
  position: relative;
  grid-template-columns: minmax(240px, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(28px, 5vw, 88px);
  align-items: center;
  min-height: clamp(390px, 47vw, 640px);
  padding: clamp(42px, 7svh, 86px) 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-top: 1px solid var(--dev-line) !important;
  background: transparent !important;
  color: #ffffff !important;
  box-shadow: none !important;
  counter-increment: developmentFeature;
  transform: translateY(34px);
  transition:
    opacity var(--dev-motion-reveal) var(--dev-motion-ease-soft),
    transform var(--dev-motion-long) var(--dev-motion-ease),
    border-color var(--dev-motion-fast) ease;
}

body.developments-page-body:not(.home-page-body) .development-directory-features > .development-feature:first-child,
body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:first-child .development-feature {
  border-top: 0 !important;
  padding-top: 0 !important;
}

body.developments-page-body:not(.home-page-body) .development-feature::before {
  position: absolute;
  top: clamp(28px, 5svh, 62px);
  left: 0;
  z-index: 1;
  min-width: 42px;
  padding-top: 8px;
  content: "0" counter(developmentFeature);
  border-top: 1px solid var(--dev-line-strong);
  color: var(--dev-muted-soft);
  font-size: var(--label);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}

body.developments-page-body:not(.home-page-body) .development-directory-features > .development-feature:first-child::before,
body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:first-child .development-feature::before {
  top: 0;
}

body.developments-page-body:not(.home-page-body) .development-feature::after {
  position: absolute;
  top: -1px;
  left: 0;
  width: 0;
  height: 1px;
  content: "";
  background: #ffffff;
  opacity: 0.72;
  transition: width var(--dev-motion-long) var(--dev-motion-ease);
}

body.developments-page-body:not(.home-page-body) .development-feature:hover::after {
  width: 100%;
}

body.developments-page-body:not(.home-page-body) .development-feature.kpd-reveal-target {
  opacity: 0;
  transform: translateY(34px);
}

body.developments-page-body:not(.home-page-body) .development-feature.kpd-reveal-target.is-kpd-visible {
  opacity: 1;
  transform: translateY(0);
}

body.developments-page-body:not(.home-page-body) .development-feature.kpd-reveal-target.is-kpd-visible:hover {
  transform: translateY(-4px);
}

body.developments-page-body:not(.home-page-body) .development-directory-features > .development-feature:nth-child(2),
body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:nth-child(2) .development-feature {
  transition-delay: 70ms;
}

body.developments-page-body:not(.home-page-body) .development-directory-features > .development-feature:nth-child(3),
body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:nth-child(3) .development-feature {
  transition-delay: 140ms;
}

body.developments-page-body:not(.home-page-body) .development-directory-features > .development-feature:nth-child(4),
body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:nth-child(4) .development-feature {
  transition-delay: 210ms;
}

body.developments-page-body:not(.home-page-body) .development-feature--reverse {
  grid-template-columns: minmax(0, 1.2fr) minmax(240px, 0.8fr);
}

body.developments-page-body:not(.home-page-body) .development-feature--reverse .development-feature__copy {
  order: 2;
}

body.developments-page-body:not(.home-page-body) .development-feature--reverse .development-feature__media {
  order: 1;
}

body.developments-page-body:not(.home-page-body) .development-feature__copy {
  gap: clamp(12px, 1.6vw, 20px);
  max-width: 600px;
  padding-left: clamp(54px, 6vw, 96px);
}

body.developments-page-body:not(.home-page-body) .development-feature--reverse .development-feature__copy {
  padding-right: clamp(54px, 6vw, 96px);
  padding-left: 0;
}

body.developments-page-body:not(.home-page-body) .development-feature__eyebrow {
  color: var(--dev-muted-soft) !important;
  font-size: var(--label);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.08em;
}

body.developments-page-body:not(.home-page-body) .development-feature__title {
  max-width: 11ch;
  color: #ffffff !important;
  font-size: clamp(34px, 4.3vw, 68px) !important;
  font-weight: 300 !important;
  line-height: 0.96 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

body.developments-page-body:not(.home-page-body) .development-feature__text {
  max-width: 44ch;
  color: var(--dev-muted) !important;
  font-size: var(--body) !important;
  font-weight: 300;
  line-height: 1.65 !important;
  letter-spacing: 0 !important;
}

body.developments-page-body:not(.home-page-body) .development-feature__actions {
  gap: 10px;
  margin-top: clamp(8px, 1.5vw, 18px);
}

body.developments-page-body:not(.home-page-body) .development-feature__media {
  position: relative;
  aspect-ratio: 16 / 10;
  min-height: clamp(280px, 32vw, 500px);
  overflow: hidden;
  border: 1px solid var(--dev-line) !important;
  background: #050505 !important;
  box-shadow: none !important;
  transition:
    border-color var(--dev-motion-fast) ease,
    transform var(--dev-motion-long) var(--dev-motion-ease);
}

body.developments-page-body:not(.home-page-body) .development-feature__media::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  border: 1px solid transparent;
  background:
    linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.1) 100%),
    repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.018) 0 1px, transparent 1px 7px);
  opacity: 0.5;
  transition: opacity var(--dev-motion-fast) ease;
}

body.developments-page-body:not(.home-page-body) .development-feature:hover .development-feature__media {
  border-color: var(--dev-line-strong) !important;
}

body.developments-page-body:not(.home-page-body) .development-feature:hover .development-feature__media::after {
  opacity: 0.24;
}

body.developments-page-body:not(.home-page-body) .development-feature__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.01);
  filter: none !important;
  transition: transform var(--dev-motion-long) var(--dev-motion-ease);
}

body.developments-page-body:not(.home-page-body) .development-feature:hover .development-feature__media img {
  transform: scale(1.055);
}

body.developments-page-body:not(.home-page-body) .section-development-directory .tf-btn {
  min-height: 46px;
  border-color: rgba(255, 255, 255, 0.34) !important;
  background: transparent !important;
  color: #ffffff !important;
  transition:
    color var(--dev-motion-fast) ease,
    border-color var(--dev-motion-fast) ease,
    background var(--dev-motion-fast) ease,
    transform var(--dev-motion-medium) var(--dev-motion-ease);
}

body.developments-page-body:not(.home-page-body) .section-development-directory .tf-btn:hover,
body.developments-page-body:not(.home-page-body) .section-development-directory .tf-btn:focus-visible {
  border-color: #ffffff !important;
  color: #000000 !important;
  transform: translateY(-3px);
}

body.developments-page-body:not(.home-page-body) .section-development-directory .development-feature__action--disabled {
  border-color: rgba(255, 255, 255, 0.14) !important;
  background: transparent !important;
  color: rgba(255, 255, 255, 0.44) !important;
}

@media (max-width: 991px) {
  body.developments-page-body:not(.home-page-body) :is(.section-project-hero, .section-development-directory, .tf-footer) > .container,
  body.developments-page-body:not(.home-page-body) .footer-inner > .container,
  body.developments-page-body:not(.home-page-body) .footer-bottom > .container {
    width: min(100% - 30px, var(--kpd-container-width));
    padding-right: 0;
    padding-left: 0;
  }

  body.developments-page-body:not(.home-page-body) .development-directory-intro,
  body.developments-page-body:not(.home-page-body) .development-feature,
  body.developments-page-body:not(.home-page-body) .development-feature--reverse {
    grid-template-columns: 1fr;
  }

  body.developments-page-body:not(.home-page-body) .development-feature,
  body.developments-page-body:not(.home-page-body) .development-feature--reverse {
    min-height: auto;
  }

  body.developments-page-body:not(.home-page-body) .development-feature__copy,
  body.developments-page-body:not(.home-page-body) .development-feature--reverse .development-feature__copy {
    order: 1;
    padding-right: 0;
    padding-left: clamp(44px, 9vw, 72px);
  }

  body.developments-page-body:not(.home-page-body) .development-feature__media,
  body.developments-page-body:not(.home-page-body) .development-feature--reverse .development-feature__media {
    order: 2;
  }
}

@media (max-width: 575px) {
  body.developments-page-body:not(.home-page-body) .section-project-hero {
    min-height: 54svh;
  }

  body.developments-page-body:not(.home-page-body) .development-feature__copy,
  body.developments-page-body:not(.home-page-body) .development-feature--reverse .development-feature__copy {
    padding-left: 0;
    padding-top: 42px;
  }

  body.developments-page-body:not(.home-page-body) .development-feature::before {
    top: clamp(22px, 5svh, 44px);
  }

  body.developments-page-body:not(.home-page-body) .development-directory-features > .development-feature:first-child::before,
  body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:first-child .development-feature::before {
    top: 0;
  }

  body.developments-page-body:not(.home-page-body) .development-feature__media {
    min-height: 240px;
  }
}

/* Developments page layout refinement */
body.developments-page-body:not(.home-page-body) .section-project-hero {
  min-height: 100vh;
  min-height: 100svh;
  padding-top: clamp(128px, 14svh, 180px);
  padding-bottom: clamp(64px, 9svh, 118px);
  align-items: flex-end;
}

body.developments-page-body:not(.home-page-body) .section-project-hero .project-hero-bg {
  z-index: 0;
  background: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .section-project-hero .project-hero-bg img {
  opacity: 0.66 !important;
  visibility: visible !important;
  filter: none !important;
  transform: scale(1.035);
}

body.kpd-page-ready.developments-page-body:not(.home-page-body) .section-project-hero .project-hero-bg img {
  opacity: 0.72 !important;
  transform: scale(1.015);
}

body.developments-page-body:not(.home-page-body) .section-project-hero .project-hero-shade {
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.62) 0%, rgba(0, 0, 0, 0.68) 54%, #000000 100%),
    linear-gradient(90deg, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.58) 48%, rgba(0, 0, 0, 0.74) 100%) !important;
}

body.developments-page-body:not(.home-page-body) .project-hero-top {
  margin-bottom: clamp(22px, 4vw, 44px);
}

body.developments-page-body:not(.home-page-body) .project-title {
  max-width: 16ch;
  font-size: 40px !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase;
}

body.developments-page-body:not(.home-page-body) .project-title::after {
  width: 92px;
  margin-top: 20px;
}

body.developments-page-body:not(.home-page-body) .section-development-directory {
  padding-top: clamp(42px, 6svh, 72px) !important;
}

body.developments-page-body:not(.home-page-body) .development-directory-intro {
  grid-template-columns: minmax(0, 0.78fr) minmax(360px, 0.72fr);
  gap: clamp(24px, 4vw, 76px);
  margin-bottom: clamp(34px, 5svh, 60px);
  padding-bottom: clamp(26px, 3vw, 42px);
}

body.developments-page-body:not(.home-page-body) .development-directory-intro__title {
  max-width: 760px;
  font-size: 40px !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
}

body.developments-page-body:not(.home-page-body) .development-directory-intro__summary {
  max-width: 58ch;
  font-size: var(--body) !important;
  line-height: 1.65 !important;
}

body.developments-page-body:not(.home-page-body) .development-directory-features {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 30px);
  align-items: stretch;
}

body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden {
  display: contents;
  overflow: visible !important;
}

body.developments-page-body:not(.home-page-body) .development-directory-intro.kpd-reveal-target {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity 820ms var(--dev-motion-ease-soft),
    transform 960ms var(--dev-motion-ease);
}

body.developments-page-body:not(.home-page-body) .development-directory-intro.kpd-reveal-target.is-kpd-visible {
  opacity: 1;
  transform: translateY(0);
}

body.developments-page-body:not(.home-page-body) .development-feature,
body.developments-page-body:not(.home-page-body) .development-feature--reverse {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-height: 0;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(0, 0, 0, 0.18) !important;
  background: #ffffff !important;
  color: #000000 !important;
  transform: translateY(28px);
  will-change: transform, opacity;
}

body.developments-page-body:not(.home-page-body) .development-feature::before {
  top: clamp(18px, 1.8vw, 26px);
  left: clamp(18px, 1.8vw, 26px);
  min-width: 36px;
  padding-top: 7px;
  border-top-color: rgba(0, 0, 0, 0.34) !important;
  color: rgba(0, 0, 0, 0.48) !important;
}

body.developments-page-body:not(.home-page-body) .development-feature::after {
  top: 0;
  background: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .development-feature.kpd-reveal-target {
  transform: translateY(28px);
  transition:
    opacity 820ms var(--dev-motion-ease-soft),
    transform 960ms var(--dev-motion-ease),
    border-color 320ms ease,
    background 320ms ease;
}

body.developments-page-body:not(.home-page-body) .development-feature.kpd-reveal-target.is-kpd-visible {
  opacity: 1;
  transform: translateY(0);
}

body.developments-page-body:not(.home-page-body) .development-feature.kpd-reveal-target.is-kpd-visible:hover {
  transform: translateY(-4px);
}

body.developments-page-body:not(.home-page-body) .development-directory-features > .development-feature:first-child,
body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:first-child .development-feature {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(320px, 0.76fr) minmax(0, 1.24fr);
  align-items: stretch;
  min-height: clamp(390px, 42vw, 590px);
  padding: clamp(22px, 2.8vw, 42px) !important;
}

body.developments-page-body:not(.home-page-body) .development-directory-features > .development-feature:first-child::before,
body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:first-child .development-feature::before {
  top: clamp(22px, 2.8vw, 42px);
  left: clamp(22px, 2.8vw, 42px);
}

body.developments-page-body:not(.home-page-body) .development-feature__copy,
body.developments-page-body:not(.home-page-body) .development-feature--reverse .development-feature__copy {
  order: 2;
  max-width: none;
  padding: clamp(24px, 2.7vw, 38px);
  padding-top: clamp(52px, 5vw, 76px);
  color: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .development-directory-features > .development-feature:first-child .development-feature__copy,
body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:first-child .development-feature .development-feature__copy {
  order: 1;
  align-self: end;
  padding: clamp(64px, 6vw, 96px) clamp(18px, 2vw, 28px) 0 clamp(58px, 5vw, 86px);
}

body.developments-page-body:not(.home-page-body) .development-feature__media,
body.developments-page-body:not(.home-page-body) .development-feature--reverse .development-feature__media {
  order: 1;
  aspect-ratio: 16 / 12;
  min-height: clamp(230px, 24vw, 360px);
  border: 0 !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.16) !important;
}

body.developments-page-body:not(.home-page-body) .development-directory-features > .development-feature:first-child .development-feature__media,
body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:first-child .development-feature .development-feature__media {
  order: 2;
  height: 100%;
  min-height: 100%;
  aspect-ratio: auto;
  border: 1px solid rgba(0, 0, 0, 0.16) !important;
}

body.developments-page-body:not(.home-page-body) .development-feature__title {
  color: #000000 !important;
  max-width: 14ch;
  font-size: var(--h3) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

body.developments-page-body:not(.home-page-body) .development-directory-features > .development-feature:first-child .development-feature__title,
body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:first-child .development-feature .development-feature__title {
  max-width: 12ch;
  font-size: clamp(38px, 4.2vw, 76px) !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  text-transform: uppercase !important;
}

body.developments-page-body:not(.home-page-body) .development-feature__eyebrow {
  color: rgba(0, 0, 0, 0.58) !important;
  font-size: var(--label) !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase;
}

body.developments-page-body:not(.home-page-body) .development-feature__text {
  color: rgba(0, 0, 0, 0.66) !important;
  max-width: 48ch;
  font-size: var(--body) !important;
  line-height: 1.65 !important;
}

body.developments-page-body:not(.home-page-body) .development-feature :is(.text-white-64, .text-body-2.text-white-64) {
  color: rgba(0, 0, 0, 0.66) !important;
}

body.developments-page-body:not(.home-page-body) .development-directory-features > .development-feature:not(:first-child) .development-feature__text,
body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:not(:first-child) .development-feature .development-feature__text {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

body.developments-page-body:not(.home-page-body) .development-feature__actions {
  margin-top: clamp(12px, 1.8vw, 22px);
  gap: 12px;
}

body.developments-page-body:not(.home-page-body) .development-feature__actions .tf-btn {
  min-width: 0;
  min-height: 44px;
  padding: 13px 20px;
  border-color: rgba(0, 0, 0, 0.42) !important;
  color: #000000 !important;
  background: transparent !important;
  font-size: var(--label) !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase;
}

body.developments-page-body:not(.home-page-body) .development-feature__actions .tf-btn:hover,
body.developments-page-body:not(.home-page-body) .development-feature__actions .tf-btn:focus-visible {
  border-color: #000000 !important;
  color: #ffffff !important;
  background: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .development-feature__action--disabled {
  pointer-events: none;
  opacity: 0.58;
}

body.developments-page-body:not(.home-page-body) .section-development-directory .development-feature,
body.developments-page-body:not(.home-page-body) .section-development-directory .development-feature--reverse {
  border-color: rgba(0, 0, 0, 0.18) !important;
  background: #ffffff !important;
  color: #000000 !important;
  box-shadow: none !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory .development-feature__copy,
body.developments-page-body:not(.home-page-body) .section-development-directory .development-feature--reverse .development-feature__copy {
  background: #ffffff !important;
  color: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory .development-feature__media,
body.developments-page-body:not(.home-page-body) .section-development-directory .development-feature--reverse .development-feature__media {
  background: #ffffff !important;
  border-color: rgba(0, 0, 0, 0.16) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory .development-feature__title {
  color: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory :is(
  .development-feature__eyebrow,
  .development-feature__text,
  .development-feature .text-white-64,
  .development-feature .text-body-2.text-white-64
) {
  color: rgba(0, 0, 0, 0.66) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory .development-feature__actions .tf-btn {
  border-color: rgba(0, 0, 0, 0.42) !important;
  background: transparent !important;
  color: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory .development-feature__actions .tf-btn:hover,
body.developments-page-body:not(.home-page-body) .section-development-directory .development-feature__actions .tf-btn:focus-visible {
  border-color: #000000 !important;
  background: #000000 !important;
  color: #ffffff !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory .development-feature__action--disabled {
  border-color: rgba(0, 0, 0, 0.22) !important;
  background: rgba(0, 0, 0, 0.04) !important;
  color: rgba(0, 0, 0, 0.5) !important;
}

@media (max-width: 1199px) {
  body.developments-page-body:not(.home-page-body) .development-directory-features {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.developments-page-body:not(.home-page-body) .development-directory-features > .development-feature:first-child,
  body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:first-child .development-feature {
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  }
}

@media (max-width: 991px) {
  body.developments-page-body:not(.home-page-body) .section-project-hero {
    min-height: clamp(330px, 52svh, 500px);
  }

  body.developments-page-body:not(.home-page-body) .development-directory-intro,
  body.developments-page-body:not(.home-page-body) .development-directory-features,
  body.developments-page-body:not(.home-page-body) .development-directory-features > .development-feature:first-child,
  body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:first-child .development-feature {
    grid-template-columns: 1fr;
  }

  body.developments-page-body:not(.home-page-body) .development-directory-features > .development-feature:first-child .development-feature__copy,
  body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:first-child .development-feature .development-feature__copy,
  body.developments-page-body:not(.home-page-body) .development-feature__copy,
  body.developments-page-body:not(.home-page-body) .development-feature--reverse .development-feature__copy {
    padding: clamp(24px, 5vw, 38px);
    padding-top: clamp(54px, 8vw, 72px);
  }

  body.developments-page-body:not(.home-page-body) .development-directory-features > .development-feature:first-child .development-feature__media,
  body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:first-child .development-feature .development-feature__media {
    min-height: clamp(260px, 45vw, 420px);
    border: 0 !important;
    border-top: 1px solid var(--dev-line) !important;
  }
}

@media (max-width: 575px) {
  body.developments-page-body:not(.home-page-body) .project-title {
    font-size: clamp(32px, 10vw, 40px) !important;
  }

  body.developments-page-body:not(.home-page-body) .development-directory-intro__title,
  body.developments-page-body:not(.home-page-body) .development-directory-features > .development-feature:first-child .development-feature__title,
  body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:first-child .development-feature .development-feature__title {
    font-size: clamp(30px, 10vw, 40px) !important;
  }
}

body.kpd-interior-page .kpd-reveal-target {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 720ms ease,
    transform 900ms cubic-bezier(0.16, 1, 0.3, 1);
}

body.kpd-interior-page .kpd-reveal-target.is-kpd-visible {
  opacity: 1;
  transform: translateY(0);
}

body.kpd-interior-page .kpd-reveal-target.is-kpd-visible,
body.kpd-interior-page .kpd-reveal-target.is-kpd-visible.effectFade,
body.kpd-interior-page .kpd-reveal-target.is-kpd-visible .effectFade {
  opacity: 1 !important;
  visibility: visible !important;
}

@media (max-width: 991px) {
  body.kpd-interior-page .kpd-page-progress {
    display: none;
  }

  body:not(.home-page-body) .section-project-hero {
    min-height: 64vh;
  }
}

@media (max-width: 575px) {
  body:not(.home-page-body) .project-title,
  body:not(.home-page-body) .page-title {
    font-size: clamp(42px, 14vw, 72px);
  }

  body:not(.home-page-body) :is(.s-header .title, .about-ref-heading, .events-schedule-block__title, .investor-guide-section-head h2, .development-directory-intro__title) {
    font-size: clamp(30px, 10vw, 46px) !important;
  }
}

/* Developments card finishing pass */
body.developments-page-body:not(.home-page-body) .development-directory-features {
  gap: clamp(22px, 2.5vw, 38px);
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature {
  isolation: isolate;
  border: 1px solid rgba(0, 0, 0, 0.14) !important;
  background: #ffffff !important;
  color: #000000 !important;
  opacity: 1 !important;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.22);
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature.kpd-reveal-target,
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature.kpd-reveal-target.is-kpd-visible {
  opacity: 1 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature:hover {
  border-color: rgba(0, 0, 0, 0.34) !important;
  box-shadow: 0 38px 110px rgba(0, 0, 0, 0.3);
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature::before {
  z-index: 3;
  border-top-color: rgba(0, 0, 0, 0.36) !important;
  color: rgba(0, 0, 0, 0.5) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature::after {
  z-index: 2;
  height: 2px;
  background: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__copy {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  background: #ffffff !important;
  color: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory .development-directory-features > article.development-feature:first-child .development-feature__copy,
body.developments-page-body:not(.home-page-body) .section-development-directory .development-directory-features > .overflow-hidden:first-child article.development-feature .development-feature__copy {
  align-self: stretch;
  justify-content: center;
  padding: clamp(58px, 6vw, 92px) clamp(36px, 4vw, 72px) clamp(44px, 5vw, 76px) clamp(58px, 5vw, 86px) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature h2.development-feature__title {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #000000 !important;
  margin: clamp(16px, 1.7vw, 26px) 0 0;
  text-shadow: none !important;
  mix-blend-mode: normal !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory .development-directory-features > article.development-feature:first-child h2.development-feature__title,
body.developments-page-body:not(.home-page-body) .section-development-directory .development-directory-features > .overflow-hidden:first-child article.development-feature h2.development-feature__title {
  max-width: 11ch;
  font-size: clamp(40px, 4vw, 64px) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__eyebrow {
  color: rgba(0, 0, 0, 0.58) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__text {
  color: rgba(0, 0, 0, 0.64) !important;
  margin-top: clamp(18px, 1.8vw, 26px);
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__media {
  overflow: hidden;
  border-color: rgba(0, 0, 0, 0.14) !important;
  background: #f3f3f3 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__media img {
  opacity: 1 !important;
  filter: none !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory .development-directory-features > article.development-feature:not(:first-child) .development-feature__copy,
body.developments-page-body:not(.home-page-body) .section-development-directory .development-directory-features > .overflow-hidden:not(:first-child) article.development-feature .development-feature__copy {
  min-height: clamp(280px, 24vw, 350px);
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(100%, 390px);
  margin-top: auto;
  padding-top: clamp(22px, 2.4vw, 34px);
  gap: 12px;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__actions .tf-btn {
  width: 100%;
  min-height: 46px;
  padding: 13px 16px;
  border-color: rgba(0, 0, 0, 0.42) !important;
  color: #000000 !important;
  background: transparent !important;
  white-space: nowrap;
  cursor: pointer;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__actions .tf-btn::before {
  background: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__actions .tf-btn:hover,
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__actions .tf-btn:focus-visible {
  border-color: #000000 !important;
  background: #000000 !important;
  color: #ffffff !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__actions .tf-btn.development-feature__action--disabled {
  border-color: rgba(0, 0, 0, 0.2) !important;
  background: rgba(0, 0, 0, 0.04) !important;
  color: rgba(0, 0, 0, 0.52) !important;
  cursor: default;
  opacity: 1;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__actions .tf-btn.development-feature__action--disabled::before,
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__actions .tf-btn.development-feature__action--disabled::after {
  content: none !important;
}

@media (max-width: 991px) {
  body.developments-page-body:not(.home-page-body) .section-development-directory .development-directory-features > article.development-feature:first-child .development-feature__copy,
  body.developments-page-body:not(.home-page-body) .section-development-directory .development-directory-features > .overflow-hidden:first-child article.development-feature .development-feature__copy,
  body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__copy {
    min-height: 0;
    padding: clamp(32px, 6vw, 46px) !important;
    padding-top: clamp(58px, 9vw, 74px) !important;
  }

  body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__actions {
    grid-template-columns: 1fr;
    width: min(100%, 280px);
  }
}

/* Villa 23 page finishing pass */
body.project-page-body:not(.home-page-body) {
  background: #000000 !important;
}

body.kpd-page-ready.project-page-body:not(.home-page-body) #wrapper .effectFade {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

body.project-page-body:not(.home-page-body) .section-project-hero--video {
  height: 100vh !important;
  min-height: 100vh !important;
  padding: 0 !important;
}

body.project-page-body:not(.home-page-body) .section-project-hero--video .container {
  min-height: 100vh !important;
}

body.project-page-body:not(.home-page-body) .section-villa23-overview {
  position: relative;
  isolation: isolate;
  min-height: 100vh !important;
  min-height: 100svh !important;
  display: flex !important;
  align-items: center;
  overflow: hidden;
  padding-top: var(--kpd-section-pad-y-tight) !important;
  padding-bottom: var(--kpd-section-pad-y-tight) !important;
  background: #000000 !important;
  color: #ffffff !important;
}

body.project-page-body:not(.home-page-body) .section-villa23-overview::before,
body.project-page-body:not(.home-page-body) .section-villa23-overview::after {
  position: absolute;
  pointer-events: none;
  content: "";
}

body.project-page-body:not(.home-page-body) .section-villa23-overview::before {
  inset: 0;
  z-index: 0;
  opacity: 0.14;
  background-image:
    linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  background-size: 88px 88px;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 82%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 82%, transparent 100%);
  transform: translate3d(0, 24px, 0);
  transition:
    opacity 900ms ease,
    transform 1100ms cubic-bezier(0.16, 1, 0.3, 1);
}

body.project-page-body:not(.home-page-body) .section-villa23-overview::after {
  top: -42%;
  right: 0;
  left: 0;
  z-index: 0;
  height: 42%;
  opacity: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(255, 255, 255, 0.1) 42%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.08) 58%, transparent 100%);
}

body.project-page-body:not(.home-page-body) .section-villa23-overview.is-kpd-visible::before {
  opacity: 0.22;
  transform: translate3d(0, 0, 0);
  animation: aboutFutureGridDrift 18s linear infinite;
}

body.project-page-body:not(.home-page-body) .section-villa23-overview.is-kpd-visible::after {
  animation: aboutFutureSweep 2.2s cubic-bezier(0.16, 1, 0.3, 1) 0.12s both;
}

body.project-page-body:not(.home-page-body) .section-villa23-overview > .container {
  position: relative;
  z-index: 2;
}

body.project-page-body:not(.home-page-body) :is(.section-villa23-overview, .section-project-plans) {
  overflow: hidden;
  background: #000000 !important;
  color: #ffffff !important;
}

body.project-page-body:not(.home-page-body) :is(.section-villa23-overview, .section-project-plans) > .home-section-mirror-bg {
  display: none !important;
}

body.project-page-body:not(.home-page-body) :is(
  .section-villa23-overview,
  .section-villa23-gallery,
  .section-villa23-amenities,
  .section-project-location,
  .section-villa23-travel-timeline,
  .section-project-plans,
  .project-cta
) > .home-section-mirror-bg {
  display: none !important;
}

body.project-page-body:not(.home-page-body) :is(.villa23-overview-title, .project-plans-head h2, .project-section-head h2) {
  font-size: 40px !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
}

body.project-page-body:not(.home-page-body) .villa23-overview-shell {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.66fr);
  align-items: center;
  gap: clamp(24px, 4vw, 64px);
  width: 100%;
}

body.project-page-body:not(.home-page-body) .villa23-overview-intro {
  display: grid;
  gap: clamp(16px, 1.8vw, 24px);
  max-width: 720px;
}

body.project-page-body:not(.home-page-body) .villa23-overview-title {
  margin: 0 !important;
  color: #ffffff !important;
}

body.project-page-body:not(.home-page-body) .villa23-overview-copy,
body.project-page-body:not(.home-page-body) .project-section-copy {
  color: rgba(255, 255, 255, 0.68) !important;
  font-size: var(--body) !important;
  font-weight: 300 !important;
  line-height: 1.65 !important;
  letter-spacing: 0 !important;
}

body.project-page-body:not(.home-page-body) .villa23-overview-copy {
  max-width: 68ch;
  margin: 0 !important;
}

body.project-page-body:not(.home-page-body) .villa23-overview-intro .project-hero-actions {
  gap: 12px;
  margin-top: clamp(4px, 0.8vw, 10px);
}

body.project-page-body:not(.home-page-body) .villa23-overview-intro .project-hero-actions .tf-btn,
body.project-page-body:not(.home-page-body) .project-plans-controls > .tf-btn {
  min-height: 46px;
  border-color: rgba(255, 255, 255, 0.42) !important;
  background: transparent !important;
  color: #ffffff !important;
}

body.project-page-body:not(.home-page-body) .villa23-overview-intro .project-hero-actions .tf-btn::before,
body.project-page-body:not(.home-page-body) .project-plans-controls > .tf-btn::before {
  background: #ffffff !important;
}

body.project-page-body:not(.home-page-body) .villa23-overview-intro .project-hero-actions .tf-btn:hover,
body.project-page-body:not(.home-page-body) .villa23-overview-intro .project-hero-actions .tf-btn:focus-visible,
body.project-page-body:not(.home-page-body) .project-plans-controls > .tf-btn:hover,
body.project-page-body:not(.home-page-body) .project-plans-controls > .tf-btn:focus-visible {
  border-color: #ffffff !important;
  background: #ffffff !important;
  color: #000000 !important;
}

body.project-page-body:not(.home-page-body) .villa23-overview-panel {
  border: 1px solid rgba(0, 0, 0, 0.16) !important;
  background: #ffffff !important;
  color: #000000 !important;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.26);
}

body.project-page-body:not(.home-page-body) .villa23-overview-panel {
  position: relative;
  overflow: hidden;
  justify-self: end;
  width: min(100%, 440px);
  margin-right: clamp(24px, 3vw, 56px);
  padding: clamp(20px, 2.4vw, 34px);
  border-color: rgba(255, 255, 255, 0.18) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.02)) !important;
  color: #ffffff !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03), 0 28px 80px rgba(0, 0, 0, 0.34);
}

body.project-page-body:not(.home-page-body) .villa23-overview-panel::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  content: "";
  opacity: 0;
  background:
    repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.11) 0 1px, transparent 1px 9px),
    linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.14) 48%, transparent 100%);
  mix-blend-mode: screen;
  transform: translate3d(0, -100%, 0);
}

body.project-page-body:not(.home-page-body) .section-villa23-overview.is-kpd-visible .villa23-overview-panel::before {
  animation: aboutFutureImageScan 1.8s cubic-bezier(0.16, 1, 0.3, 1) 0.35s both;
}

body.project-page-body:not(.home-page-body) .villa23-overview-panel > * {
  position: relative;
  z-index: 1;
}

body.project-page-body:not(.home-page-body) .project-fact-row {
  gap: clamp(18px, 2vw, 28px);
  padding: clamp(14px, 1.6vw, 20px) 0;
  border-bottom-color: rgba(255, 255, 255, 0.16) !important;
}

body.project-page-body:not(.home-page-body) .project-fact-row .label,
body.project-page-body:not(.home-page-body) .plan-stat-grid .label,
body.project-page-body:not(.home-page-body) .plan-label,
body.project-page-body:not(.home-page-body) .project-detail-list li {
  color: rgba(255, 255, 255, 0.62) !important;
  font-size: var(--label) !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

body.project-page-body:not(.home-page-body) .project-fact-row .value,
body.project-page-body:not(.home-page-body) .project-plan-card h4,
body.project-page-body:not(.home-page-body) .plan-stat-grid strong {
  color: #ffffff !important;
}

body.project-page-body:not(.home-page-body) .project-fact-row .value {
  font-size: var(--body) !important;
  font-weight: 300 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}

body.kpd-interior-page.project-page-body .section-villa23-overview.kpd-reveal-target {
  opacity: 1;
  transform: none;
}

body.project-page-body:not(.home-page-body) .section-villa23-overview.kpd-reveal-target .villa23-overview-intro,
body.project-page-body:not(.home-page-body) .section-villa23-overview.kpd-reveal-target .villa23-overview-panel {
  opacity: 0;
  filter: blur(10px);
  transition:
    opacity 760ms ease,
    filter 900ms ease,
    transform 980ms cubic-bezier(0.16, 1, 0.3, 1);
}

body.project-page-body:not(.home-page-body) .section-villa23-overview.kpd-reveal-target .villa23-overview-intro {
  transform: translate3d(0, 34px, 0);
}

body.project-page-body:not(.home-page-body) .section-villa23-overview.kpd-reveal-target .villa23-overview-panel {
  transform: translate3d(42px, 0, 0);
}

body.project-page-body:not(.home-page-body) .section-villa23-overview.kpd-reveal-target.is-kpd-visible .villa23-overview-intro,
body.project-page-body:not(.home-page-body) .section-villa23-overview.kpd-reveal-target.is-kpd-visible .villa23-overview-panel {
  opacity: 1;
  filter: blur(0);
  transform: translate3d(0, 0, 0);
}

body.project-page-body:not(.home-page-body) .section-villa23-overview.kpd-reveal-target.is-kpd-visible .villa23-overview-panel {
  transition-delay: 120ms;
}

body.project-page-body:not(.home-page-body) .project-plan-card .plan-stat-grid .label,
body.project-page-body:not(.home-page-body) .project-plan-card .plan-label,
body.project-page-body:not(.home-page-body) .project-plan-card .project-detail-list li {
  color: rgba(255, 255, 255, 0.64) !important;
}

body.project-page-body:not(.home-page-body) .project-plan-card h4,
body.project-page-body:not(.home-page-body) .project-plan-card .plan-stat-grid strong {
  color: #ffffff !important;
}

body.project-page-body:not(.home-page-body) .section-project-plans .project-plans-head {
  align-items: flex-end;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  flex: 0 0 auto;
  margin-bottom: clamp(18px, 2.4svh, 30px);
  padding-bottom: clamp(18px, 2.4svh, 30px);
}

body.project-page-body:not(.home-page-body) .project-tab-nav {
  gap: 10px;
}

body.project-page-body:not(.home-page-body) .project-tab-nav .tf-btn-tab {
  border-color: rgba(255, 255, 255, 0.28);
  color: rgba(255, 255, 255, 0.72);
}

body.project-page-body:not(.home-page-body) .project-tab-nav .tf-btn-tab:hover,
body.project-page-body:not(.home-page-body) .project-tab-nav .tf-btn-tab.active {
  border-color: #ffffff;
  background: #ffffff;
  color: #000000;
}

body.project-page-body:not(.home-page-body) .section-project-plans {
  --floor-plan-section-pad-y: clamp(48px, 6svh, 76px);
  display: flex;
  align-items: stretch;
  min-height: 100svh;
  padding-top: var(--floor-plan-section-pad-y) !important;
  padding-bottom: var(--floor-plan-section-pad-y) !important;
}

body.project-page-body:not(.home-page-body) .section-project-plans > .container {
  display: flex;
  flex-direction: column;
  max-width: 1326px;
  min-height: calc(100svh - var(--floor-plan-section-pad-y) - var(--floor-plan-section-pad-y));
}

body.project-page-body:not(.home-page-body) .project-plan-tabs {
  position: relative;
  display: grid;
  flex: 1 1 auto;
  min-height: 0;
  padding: clamp(16px, 1.5vw, 24px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background:
    radial-gradient(circle at 18% 14%, rgba(255, 255, 255, 0.07), transparent 24%),
    radial-gradient(circle at 78% 72%, rgba(255, 255, 255, 0.05), transparent 28%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.015)),
    #050505;
}

body.project-page-body:not(.home-page-body) .project-plan-tabs::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  background:
    repeating-linear-gradient(0deg, transparent 0 72px, rgba(255, 255, 255, 0.035) 73px, transparent 74px),
    repeating-linear-gradient(90deg, transparent 0 86px, rgba(255, 255, 255, 0.03) 87px, transparent 88px);
}

body.project-page-body:not(.home-page-body) .project-plan-tabs > .tab-content,
body.project-page-body:not(.home-page-body) .project-plan-tabs .tab-pane.active.show,
body.project-page-body:not(.home-page-body) .project-plan-tabs .tab-pane.active.show > .row {
  position: relative;
  z-index: 1;
  min-height: 100%;
  height: 100%;
}

body.project-page-body:not(.home-page-body) .project-plan-tabs .tab-pane.active.show > .row > [class*="col-"] {
  display: flex;
}

body.project-page-body:not(.home-page-body) .project-plan-visual {
  border: 1px solid rgba(255, 255, 255, 0.16);
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.09), transparent 48%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.012)),
    #070707;
  padding: clamp(16px, 2vw, 28px);
  width: 100%;
}

body.project-page-body:not(.home-page-body) .project-plan-card {
  padding: clamp(24px, 2.4vw, 36px);
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.018)),
    #080808 !important;
  color: #ffffff !important;
  box-shadow: none;
}

body.project-page-body:not(.home-page-body) .plan-stat-grid > div {
  border-bottom-color: rgba(255, 255, 255, 0.16);
}

body.project-page-body:not(.home-page-body) .project-plan-card .tf-btn {
  min-height: 46px;
  border-color: rgba(255, 255, 255, 0.42) !important;
  background: transparent !important;
  color: #ffffff !important;
}

body.project-page-body:not(.home-page-body) .project-plan-card .tf-btn::before {
  background: #ffffff !important;
}

body.project-page-body:not(.home-page-body) .project-plan-card .tf-btn:hover,
body.project-page-body:not(.home-page-body) .project-plan-card .tf-btn:focus-visible {
  border-color: #ffffff !important;
  background: #ffffff !important;
  color: #000000 !important;
}

body.project-page-body:not(.home-page-body) .project-plan-card .tf-btn-line {
  color: rgba(255, 255, 255, 0.72) !important;
}

body.project-page-body:not(.home-page-body) .project-plan-card .tf-btn-line:hover {
  color: #ffffff !important;
}

body.project-page-body:not(.home-page-body) .project-plan-card .plan-actions .tf-link-icon {
  color: rgba(255, 255, 255, 0.72) !important;
  font-weight: 600;
}

body.project-page-body:not(.home-page-body) .project-plan-card .plan-actions .tf-link-icon:hover,
body.project-page-body:not(.home-page-body) .project-plan-card .plan-actions .tf-link-icon:focus-visible {
  color: #ffffff !important;
}

body.project-page-body:not(.home-page-body) .project-plans-controls > .tf-btn {
  opacity: 1 !important;
}

body.project-page-body:not(.home-page-body) :is(
  .section-villa23-gallery,
  .section-villa23-amenities,
  .section-project-location,
  .section-villa23-travel-timeline,
  .project-cta
) {
  overflow: hidden;
  background: #000000 !important;
  color: #ffffff !important;
}

body.project-page-body:not(.home-page-body) :is(
  .section-villa23-gallery,
  .section-villa23-amenities,
  .section-project-location,
  .section-villa23-travel-timeline,
  .project-cta
)::before {
  opacity: 0 !important;
  background: none !important;
}

body.project-page-body:not(.home-page-body) :is(
  .section-villa23-overview,
  .section-villa23-gallery,
  .section-villa23-amenities,
  .section-project-location,
  .section-villa23-travel-timeline,
  .section-project-plans,
  .project-cta,
  .tf-footer
) > .container,
body.project-page-body:not(.home-page-body) .location-explorer-shell {
  width: min(var(--kpd-container-width), calc(100vw - clamp(40px, 5vw, 120px)));
  max-width: none;
  margin-right: auto;
  margin-left: auto;
}

body.project-page-body:not(.home-page-body) :is(
  .villa23-split-gallery__title,
  .project-section-head h2,
  .project-plans-head h2,
  .villa23-travel-head h2,
  .project-cta .s-header h2
)::after {
  display: block;
  width: clamp(84px, 9vw, 132px);
  height: 1px;
  margin-top: clamp(18px, 2.4vw, 28px);
  content: "";
  background: currentColor;
  opacity: 0.42;
}

body.project-page-body:not(.home-page-body) .section-villa23-gallery {
  display: block !important;
  min-height: auto !important;
  padding-top: clamp(70px, 8vw, 116px) !important;
  padding-bottom: clamp(70px, 8vw, 116px) !important;
}

body.project-page-body:not(.home-page-body) .section-villa23-gallery .container {
  width: min(var(--kpd-container-width), calc(100vw - clamp(40px, 5vw, 120px)));
}

body.project-page-body:not(.home-page-body) .villa23-split-gallery {
  gap: clamp(18px, 2vw, 32px);
  align-items: stretch;
}

body.project-page-body:not(.home-page-body) .villa23-split-gallery__panel {
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-height: 0;
  padding: clamp(18px, 2vw, 28px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.035);
  transition:
    border-color 260ms ease,
    transform 420ms cubic-bezier(0.16, 1, 0.3, 1),
    background-color 260ms ease;
}

body.project-page-body:not(.home-page-body) .villa23-split-gallery__panel:hover {
  border-color: rgba(255, 255, 255, 0.46);
  background: rgba(255, 255, 255, 0.055);
  transform: translateY(-6px);
}

body.project-page-body:not(.home-page-body) .villa23-split-gallery__title {
  margin-bottom: clamp(18px, 2.2vw, 30px);
}

body.project-page-body:not(.home-page-body) .villa23-split-gallery__frame {
  height: clamp(380px, 43vw, 640px);
  border-color: rgba(255, 255, 255, 0.14);
  background: #050505;
}

body.project-page-body:not(.home-page-body) .villa23-split-gallery__arrow {
  border-color: rgba(255, 255, 255, 0.72);
  background: rgba(0, 0, 0, 0.32);
}

body.project-page-body:not(.home-page-body) .villa23-split-gallery__arrow:hover,
body.project-page-body:not(.home-page-body) .villa23-split-gallery__arrow:focus-visible {
  border-color: #ffffff;
  background: #ffffff;
  color: #000000;
}

body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial {
  min-height: auto !important;
  display: block !important;
  padding-top: clamp(50px, 5vw, 78px) !important;
  padding-bottom: clamp(50px, 5vw, 78px) !important;
  background: #000000 !important;
  color: #ffffff !important;
  isolation: isolate;
}

body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial::before,
body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-editorial-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: auto auto;
  align-items: stretch;
  gap: clamp(14px, 1.3vw, 24px);
  width: 100%;
}

body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-copy {
  grid-column: 1;
  grid-row: 1;
  align-self: start;
  justify-self: stretch;
  max-width: 460px;
  padding: 0 clamp(22px, 2.6vw, 46px) 0 0;
  color: #ffffff;
  text-align: left;
}

body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-copy.effectFade {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  animation: villa23GalleryCopyReveal 760ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes villa23GalleryCopyReveal {
  from {
    opacity: 0;
    transform: translateY(22px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-title {
  display: flex;
  align-items: center;
  height: 53px;
  min-height: 53px;
  margin: 0 0 clamp(24px, 2.2vw, 34px);
  color: #ffffff !important;
  font-size: 28px !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
  letter-spacing: 0.784px !important;
  text-transform: uppercase !important;
}

body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-copy-text {
  height: 84px;
  min-height: 84px;
  max-width: 520px;
  margin: 0;
  overflow: hidden;
  color: rgba(255, 255, 255, 0.68) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
}

body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-copy-cta {
  margin-top: clamp(24px, 2.2vw, 36px);
  border-color: rgba(255, 255, 255, 0.4) !important;
  background: transparent !important;
  color: #ffffff !important;
  font-size: var(--nav);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
  cursor: pointer;
  user-select: none;
}

body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-copy-cta::before {
  background: #ffffff !important;
}

body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-copy-cta:hover,
body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-copy-cta:focus-visible {
  border-color: #ffffff !important;
  color: #000000 !important;
}

body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-card {
  position: relative;
  display: block;
  aspect-ratio: 16 / 9;
  width: 100%;
  min-height: clamp(210px, 21vw, 300px);
  overflow: hidden;
  padding: 0;
  border: 0;
  border-radius: 0;
  appearance: none;
  background: #0c0c0c;
  color: #ffffff;
  cursor: zoom-in;
  font: inherit;
  text-align: left;
  isolation: isolate;
  transform: translateZ(0);
  transition:
    opacity 420ms ease,
    filter 420ms ease,
    transform 640ms cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 560ms ease;
}

body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-card:nth-of-type(1) {
  grid-column: 2 / 4;
  grid-row: 1;
  min-height: clamp(230px, 23vw, 320px);
}

body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-card:nth-of-type(2) {
  grid-column: 1;
  grid-row: 2;
}

body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-card:nth-of-type(3) {
  grid-column: 2;
  grid-row: 2;
}

body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-card:nth-of-type(4) {
  grid-column: 3;
  grid-row: 2;
}

body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-card::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  content: "";
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.28) 66%, rgba(0, 0, 0, 0.58)),
    linear-gradient(110deg, transparent 0%, rgba(255, 255, 255, 0.18) 44%, transparent 58%);
  background-size: 100% 100%, 240% 100%;
  background-position: 0 0, -140% 0;
  opacity: 1;
  pointer-events: none;
  transition: background-position 960ms cubic-bezier(0.16, 1, 0.3, 1), opacity 420ms ease;
}

body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 1;
  filter: none;
  transform: scale(1.01);
  transition:
    opacity 360ms ease,
    filter 420ms ease,
    transform 900ms cubic-bezier(0.16, 1, 0.3, 1);
}

body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-card:hover img,
body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-card:focus-visible img {
  transform: scale(1.055);
}

body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-card:hover::after,
body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-card:focus-visible::after {
  background-position: 0 0, 140% 0;
}

body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-card.is-shuffling {
  opacity: 0.68;
  filter: none;
  transform: translateY(8px);
}

body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-card.is-shuffling img {
  opacity: 0;
  transform: scale(1.05);
}

body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-card-label {
  position: absolute;
  top: 16px;
  right: 0;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  max-width: calc(100% - 32px);
  padding: 13px 18px;
  border-radius: 0;
  background: rgba(0, 0, 0, 0.84);
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  white-space: nowrap;
  pointer-events: none;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.34);
  transition:
    background 240ms ease,
    color 240ms ease,
    transform 420ms cubic-bezier(0.16, 1, 0.3, 1);
}

body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-card-label > span:last-child {
  color: rgba(255, 255, 255, 0.64);
  font-size: 9px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-card:hover .experience-center-card-label,
body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-card:focus-visible .experience-center-card-label {
  background: #ffffff;
  color: #000000;
  transform: translateX(-6px);
}

body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial.is-gallery-paused .experience-center-card-label > span:last-child {
  color: #ffffff;
}

body.home-lightbox-open {
  overflow: hidden;
}

@keyframes homeLabPanelFade {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.experience-center-lightbox {
  position: fixed;
  inset: 0;
  z-index: 2400;
  display: grid;
  place-items: center;
  padding: clamp(18px, 3vw, 54px);
  color: #ffffff;
  animation: homeLabPanelFade 240ms ease both;
}

.experience-center-lightbox__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(0, 0, 0, 0.84);
  backdrop-filter: blur(14px);
}

.experience-center-lightbox__frame {
  position: relative;
  z-index: 1;
  display: grid;
  width: min(1180px, 94vw);
  max-height: 88vh;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: #000000;
  box-shadow: 0 36px 120px rgba(0, 0, 0, 0.58);
}

.experience-center-lightbox__frame img {
  display: block;
  width: 100%;
  max-height: 88vh;
  object-fit: contain;
  background: #000000;
}

.experience-center-lightbox__meta {
  position: absolute;
  left: 18px;
  bottom: 18px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  background: rgba(0, 0, 0, 0.68);
  backdrop-filter: blur(12px);
}

.experience-center-lightbox__meta span,
.experience-center-lightbox__meta strong {
  color: #ffffff;
  font-size: 11px;
  line-height: 1;
  text-transform: uppercase;
}

.experience-center-lightbox__meta span {
  opacity: 0.58;
  letter-spacing: 0.14em;
}

.experience-center-lightbox__meta strong {
  font-weight: 700;
  letter-spacing: 0.08em;
}

.experience-center-lightbox__nav,
.experience-center-lightbox__close {
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  height: 42px;
  padding: 0 16px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 0;
  background: rgba(0, 0, 0, 0.64);
  color: #ffffff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
}

.experience-center-lightbox__nav:hover,
.experience-center-lightbox__nav:focus-visible,
.experience-center-lightbox__close:hover,
.experience-center-lightbox__close:focus-visible {
  background: #ffffff;
  color: #000000;
}

.experience-center-lightbox__nav.is-prev {
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
}

.experience-center-lightbox__nav.is-next {
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
}

.experience-center-lightbox__close {
  top: 18px;
  right: 18px;
}

@media (max-width: 991px) {
  body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial {
    padding-top: clamp(48px, 9vw, 72px) !important;
    padding-bottom: clamp(48px, 9vw, 72px) !important;
  }

  body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-editorial-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto;
  }

  body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-copy {
    grid-column: 1;
    grid-row: 1;
    max-width: none;
    padding: 0 clamp(18px, 3vw, 28px) 0 0;
  }

  body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-card:nth-of-type(1) {
    grid-column: 2;
    grid-row: 1;
  }

  body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-card:nth-of-type(2) {
    grid-column: 1;
    grid-row: 2;
  }

  body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-card:nth-of-type(3) {
    grid-column: 2;
    grid-row: 2;
  }

  body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-card:nth-of-type(4) {
    grid-column: 1 / -1;
    grid-row: 3;
  }
}

@media (max-width: 767px) {
  body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-editorial-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }

  body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-card:nth-of-type(n) {
    grid-column: 1;
    grid-row: auto;
    min-height: 0;
  }

  body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-title {
    height: auto;
    min-height: 46px;
    font-size: 28px !important;
  }

  body.project-page-body:not(.home-page-body) .section-villa23-gallery.experience-center-editorial .experience-center-copy-text {
    height: auto;
    min-height: 0;
    font-size: 14px !important;
  }

  .experience-center-lightbox__nav {
    top: auto;
    bottom: 18px;
    transform: none !important;
  }

  .experience-center-lightbox__meta {
    left: 12px;
    bottom: 72px;
  }
}

body.project-page-body:not(.home-page-body) .section-villa23-3d-tour {
  position: relative;
  overflow: hidden;
  padding: 0 !important;
  background: #000000 !important;
  color: #ffffff !important;
  isolation: isolate;
}

body.project-page-body:not(.home-page-body) .section-villa23-3d-tour::before,
body.project-page-body:not(.home-page-body) .section-villa23-3d-tour::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

body.project-page-body:not(.home-page-body) .villa23-3d-tour-shell {
  position: relative;
  display: grid;
  min-height: clamp(520px, 56vw, 760px);
  overflow: hidden;
  place-items: center;
}

body.project-page-body:not(.home-page-body) .villa23-3d-tour-shell.effectFade {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  animation: villa23TourReveal 900ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes villa23TourReveal {
  from {
    opacity: 0;
    transform: translateY(28px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

body.project-page-body:not(.home-page-body) .villa23-3d-tour-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(237, 242, 246, 0.6) 0%, rgba(160, 171, 181, 0.24) 45%, rgba(0, 0, 0, 0.2) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.04) 0%, rgba(0, 0, 0, 0.32) 100%);
  pointer-events: none;
}

body.project-page-body:not(.home-page-body) .villa23-3d-tour-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.01);
}

body.project-page-body:not(.home-page-body) .villa23-3d-tour-panel {
  position: relative;
  z-index: 2;
  display: grid;
  width: min(680px, calc(100vw - 40px));
  padding: clamp(26px, 3vw, 42px);
  gap: clamp(18px, 2vw, 24px);
  border: 1px solid rgba(255, 255, 255, 0.26);
  border-radius: 8px;
  background: rgba(96, 101, 106, 0.48);
  color: #ffffff;
  text-align: center;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.24);
  backdrop-filter: blur(8px);
}

body.project-page-body:not(.home-page-body) .villa23-3d-tour-mark {
  justify-self: center;
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(12px, 0.9vw, 15px);
  font-weight: 700;
  letter-spacing: 0.26em;
  line-height: 1;
}

body.project-page-body:not(.home-page-body) .villa23-3d-tour-panel h2 {
  margin: 0;
  color: #ffffff !important;
  font-size: clamp(26px, 2.8vw, 44px) !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  line-height: 1.08 !important;
  text-transform: uppercase !important;
}

body.project-page-body:not(.home-page-body) .villa23-3d-tour-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  width: 100%;
  padding: 13px 22px;
  border: 1px solid #ffffff;
  border-radius: 999px;
  background: #ffffff;
  color: #000000 !important;
  font-size: clamp(11px, 0.86vw, 13px);
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 1;
  text-transform: uppercase;
  transition:
    background 260ms ease,
    border-color 260ms ease,
    color 260ms ease,
    transform 420ms cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 420ms cubic-bezier(0.16, 1, 0.3, 1);
}

body.project-page-body:not(.home-page-body) .villa23-3d-tour-button:hover,
body.project-page-body:not(.home-page-body) .villa23-3d-tour-button:focus-visible {
  border-color: #000000;
  background: #000000;
  color: #ffffff !important;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.28);
  transform: translateY(-2px);
}

@media (max-width: 767px) {
  body.project-page-body:not(.home-page-body) .villa23-3d-tour-shell {
    min-height: 520px;
    padding: 0 18px;
  }

  body.project-page-body:not(.home-page-body) .villa23-3d-tour-shell::before {
    background:
      linear-gradient(90deg, rgba(237, 242, 246, 0.5) 0%, rgba(0, 0, 0, 0.14) 100%),
      linear-gradient(180deg, rgba(0, 0, 0, 0.04) 0%, rgba(0, 0, 0, 0.38) 100%);
  }

  body.project-page-body:not(.home-page-body) .villa23-3d-tour-panel {
    width: 100%;
    padding: 24px 18px;
  }

  body.project-page-body:not(.home-page-body) .villa23-3d-tour-panel h2 {
    font-size: clamp(24px, 7vw, 34px) !important;
    letter-spacing: 0.08em !important;
  }
}

body.project-page-body:not(.home-page-body) .section-villa23-amenities {
  padding-top: clamp(70px, 8vw, 116px) !important;
  padding-bottom: clamp(70px, 8vw, 116px) !important;
  background: #000000 !important;
  color: #ffffff !important;
}

body.project-page-body:not(.home-page-body) .villa23-amenities-head {
  margin-bottom: clamp(26px, 3vw, 42px);
}

body.project-page-body:not(.home-page-body) .villa23-amenities-shell {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(0, 0, 0, 0.8);
}

body.project-page-body:not(.home-page-body) .villa23-amenities-tabs {
  border-bottom-color: rgba(255, 255, 255, 0.16);
}

body.project-page-body:not(.home-page-body) .villa23-amenities-tab {
  min-height: 84px;
  color: rgba(255, 255, 255, 0.5);
}

body.project-page-body:not(.home-page-body) .villa23-amenities-tab.is-active,
body.project-page-body:not(.home-page-body) .villa23-amenities-tab:hover,
body.project-page-body:not(.home-page-body) .villa23-amenities-tab:focus-visible {
  color: #ffffff;
}

body.project-page-body:not(.home-page-body) .villa23-amenities-stage {
  grid-template-columns: minmax(300px, 0.36fr) minmax(0, 1fr);
  min-height: clamp(420px, 44vw, 620px);
  background: #000000;
}

body.project-page-body:not(.home-page-body) .villa23-amenities-detail {
  border-right-color: rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.02) !important;
  color: #ffffff !important;
}

body.project-page-body:not(.home-page-body) .villa23-amenities-detail__eyebrow,
body.project-page-body:not(.home-page-body) .villa23-amenities-detail__copy,
body.project-page-body:not(.home-page-body) .villa23-amenities-detail__list li {
  color: rgba(255, 255, 255, 0.64) !important;
}

body.project-page-body:not(.home-page-body) .villa23-amenities-detail__title {
  color: #ffffff !important;
  font-size: clamp(28px, 2.7vw, 42px);
  line-height: 1.04;
  letter-spacing: -0.025em;
}

body.project-page-body:not(.home-page-body) .villa23-amenities-detail__list {
  border-top-color: rgba(255, 255, 255, 0.16);
}

body.project-page-body:not(.home-page-body) .villa23-amenities-detail__list li::before {
  background: #ffffff;
}

body.project-page-body:not(.home-page-body) .villa23-amenities-detail__actions .tf-btn {
  min-height: 46px;
  border-color: rgba(255, 255, 255, 0.42) !important;
  background: transparent !important;
  color: #ffffff !important;
}

body.project-page-body:not(.home-page-body) .villa23-amenities-detail__actions .tf-btn::before {
  background: #ffffff !important;
}

body.project-page-body:not(.home-page-body) .villa23-amenities-detail__actions .tf-btn:hover,
body.project-page-body:not(.home-page-body) .villa23-amenities-detail__actions .tf-btn:focus-visible {
  border-color: #ffffff !important;
  background: #ffffff !important;
  color: #000000 !important;
}

body.project-page-body:not(.home-page-body) .villa23-amenities-visual {
  min-height: 100%;
  border-left: 1px solid rgba(255, 255, 255, 0.14);
}

body.project-page-body:not(.home-page-body) .section-project-location {
  --location-section-pad-y: clamp(46px, 5svh, 72px);
  --location-head-space: clamp(96px, 12svh, 142px);
  --location-map-height: clamp(520px, calc(100svh - var(--location-section-pad-y) - var(--location-section-pad-y) - var(--location-head-space)), 760px);
  min-height: 100svh;
  padding-top: var(--location-section-pad-y) !important;
  padding-bottom: var(--location-section-pad-y) !important;
  background: #000000;
  color: #ffffff;
}

body.project-page-body:not(.home-page-body) .section-project-location .project-section-head {
  align-items: flex-end;
  margin-bottom: clamp(26px, 3vw, 42px);
}

body.project-page-body:not(.home-page-body) .section-project-location .text-display-2 {
  text-transform: uppercase;
}

body.project-page-body:not(.home-page-body) .location-explorer-shell {
  --layout-edge: clamp(22px, 2.2vw, 36px);
  width: min(1326px, calc(100vw - clamp(30px, 5vw, 96px)));
  margin: 0 auto;
  padding-top: 0;
}

body.project-page-body:not(.home-page-body) .location-explorer-stage {
  display: grid;
  grid-template-columns: minmax(320px, 1.45fr) minmax(260px, 1.15fr) minmax(220px, 0.85fr);
  grid-template-rows: repeat(2, minmax(250px, 1fr));
  gap: clamp(18px, 1.6vw, 28px);
  min-height: clamp(620px, 58vw, 820px);
  overflow: visible;
  border: 0;
  background: transparent;
}

body.project-page-body:not(.home-page-body) .route-map-shell {
  grid-column: 1 / 3;
  grid-row: 1 / 3;
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: #050505;
}

body.project-page-body:not(.home-page-body) .route-map-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(24deg, transparent 0 39%, rgba(255, 255, 255, 0.22) 40%, rgba(255, 255, 255, 0.22) 41.2%, transparent 42.2%),
    linear-gradient(147deg, transparent 0 28%, rgba(255, 255, 255, 0.16) 29%, rgba(255, 255, 255, 0.16) 30.1%, transparent 31.1%),
    linear-gradient(112deg, transparent 0 54%, rgba(255, 255, 255, 0.13) 55%, rgba(255, 255, 255, 0.13) 56%, transparent 57%),
    linear-gradient(68deg, transparent 0 64%, rgba(255, 255, 255, 0.1) 65%, rgba(255, 255, 255, 0.1) 66%, transparent 67%),
    repeating-linear-gradient(0deg, transparent 0 72px, rgba(255, 255, 255, 0.055) 73px, transparent 74px),
    repeating-linear-gradient(90deg, transparent 0 86px, rgba(255, 255, 255, 0.052) 87px, transparent 88px),
    radial-gradient(circle at 78% 20%, rgba(255, 255, 255, 0.11), transparent 22%),
    radial-gradient(circle at 16% 74%, rgba(255, 255, 255, 0.08), transparent 26%);
  opacity: 0.92;
}

body.project-page-body:not(.home-page-body) .route-map-shell::after {
  z-index: 2;
  background: rgba(0, 0, 0, 0.08);
}

body.project-page-body:not(.home-page-body) .route-map-embed {
  filter: grayscale(1) saturate(0) contrast(1.2) brightness(0.96);
  opacity: 0.54;
}

body.project-page-body:not(.home-page-body) .route-hotspot-layer {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
}

body.project-page-body:not(.home-page-body) .route-hotspot-layer .route-marker {
  pointer-events: auto;
  border-radius: 0;
  border-color: rgba(255, 255, 255, 0.24);
  background: rgba(0, 0, 0, 0.82);
  color: rgba(255, 255, 255, 0.82);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.34);
  transform: translate(-50%, -50%) translateZ(0);
}

body.project-page-body:not(.home-page-body) .route-hotspot-layer .route-marker:hover,
body.project-page-body:not(.home-page-body) .route-hotspot-layer .route-marker.is-active {
  border-color: #ffffff;
  background: #ffffff;
  color: #000000;
}

body.project-page-body:not(.home-page-body) .route-project-badge {
  z-index: 5;
}

body.project-page-body:not(.home-page-body) .route-project-badge__card {
  min-width: 0;
  padding: 10px 12px;
  border-color: rgba(255, 255, 255, 0.22);
  background: #ffffff;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.38);
}

body.project-page-body:not(.home-page-body) .route-project-badge__card strong {
  font-size: 13px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body.project-page-body:not(.home-page-body) .route-project-badge__label,
body.project-page-body:not(.home-page-body) .route-project-badge__coords {
  display: none;
}

body.project-page-body:not(.home-page-body) .route-sidebar {
  grid-column: 3;
  grid-row: 1 / 3;
  position: relative;
  top: auto;
  right: auto;
  width: auto;
  max-height: none;
  min-height: 0;
  overflow: hidden;
  padding: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}

body.project-page-body:not(.home-page-body) .route-summary-card,
body.project-page-body:not(.home-page-body) .route-destination-item {
  border-color: rgba(255, 255, 255, 0.16);
  background: rgba(0, 0, 0, 0.82);
  backdrop-filter: none;
}

body.project-page-body:not(.home-page-body) .route-destination-item:hover,
body.project-page-body:not(.home-page-body) .route-destination-item.is-active {
  border-color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
}

body.project-page-body:not(.home-page-body) .route-summary-card {
  padding: clamp(22px, 2.2vw, 32px);
}

body.project-page-body:not(.home-page-body) .route-summary-copy,
body.project-page-body:not(.home-page-body) .route-summary-note {
  font-size: 15px;
  line-height: 1.55;
}

body.project-page-body:not(.home-page-body) .route-destination-list {
  min-height: 0;
  overflow-y: auto;
  padding-right: 4px;
}

body.project-page-body:not(.home-page-body) .route-destination-item {
  padding: 17px 18px;
  color: #ffffff;
}

body.project-page-body:not(.home-page-body) .route-destination-item .name {
  color: #ffffff;
}

body.project-page-body:not(.home-page-body) .route-destination-item .meta {
  display: none;
}

@media (max-width: 991px) {
  body.project-page-body:not(.home-page-body) .location-explorer-stage {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
    min-height: 0;
  }

  body.project-page-body:not(.home-page-body) .route-map-shell {
    grid-column: 1 / -1;
    grid-row: auto;
    min-height: clamp(430px, 72vw, 640px);
  }

  body.project-page-body:not(.home-page-body) .route-sidebar {
    grid-column: 1 / -1;
    grid-row: auto;
  }
}

@media (max-width: 575px) {
  body.project-page-body:not(.home-page-body) .location-explorer-shell {
    width: calc(100vw - 30px);
  }

  body.project-page-body:not(.home-page-body) .location-explorer-stage {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  body.project-page-body:not(.home-page-body) .route-map-shell {
    min-height: 390px;
  }

  body.project-page-body:not(.home-page-body) .route-hotspot-layer .route-marker {
    padding: 7px 9px;
  }

body.project-page-body:not(.home-page-body) .route-marker-label {
    max-width: 110px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

body.project-page-body:not(.home-page-body) .section-project-location .location-explorer-stage {
  display: block;
  position: relative;
  min-height: var(--location-map-height);
  overflow: hidden;
}

body.project-page-body:not(.home-page-body) .section-project-location .location-explorer-shell {
  width: 100vw;
  max-width: none;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}

body.project-page-body:not(.home-page-body) .section-project-location .location-explorer-shell.effectFade {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

body.project-page-body:not(.home-page-body) .section-project-location .route-map-shell {
  position: relative;
  width: 100%;
  min-height: var(--location-map-height);
  height: 100%;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: #d9d9d9;
  isolation: isolate;
}

body.project-page-body:not(.home-page-body) .section-project-location .route-map-shell::before,
body.project-page-body:not(.home-page-body) .section-project-location .route-map-shell::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

body.project-page-body:not(.home-page-body) .section-project-location .route-map-embed {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block !important;
  width: 100%;
  height: 100%;
  border: 0;
  filter: grayscale(1) saturate(0) contrast(0.92) brightness(1.04);
  opacity: 1 !important;
  background: #eeeeee;
  pointer-events: auto;
}

body.project-page-body:not(.home-page-body) .section-project-location .route-map-canvas {
  display: none !important;
}

body.project-page-body:not(.home-page-body) .route-map-canvas {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background: #d9d9d9;
  cursor: grab;
  touch-action: none;
}

body.project-page-body:not(.home-page-body) .route-map-canvas.is-dragging {
  cursor: grabbing;
}

body.project-page-body:not(.home-page-body) .route-map-pan-layer {
  --route-pan-x: 0px;
  --route-pan-y: 0px;
  position: absolute;
  inset: -7%;
  z-index: 1;
  transform: translate3d(var(--route-pan-x), var(--route-pan-y), 0) scale(1.08);
  transform-origin: center center;
  transition: transform 220ms cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}

body.project-page-body:not(.home-page-body) .route-map-canvas.is-dragging .route-map-pan-layer {
  transition: none;
}

body.project-page-body:not(.home-page-body) .section-project-location .route-map-surface {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(120deg, rgba(0, 0, 0, 0.04) 0%, rgba(255, 255, 255, 0.1) 44%, rgba(0, 0, 0, 0.05) 100%),
    radial-gradient(circle at 18% 18%, rgba(255, 255, 255, 0.42), transparent 25%),
    radial-gradient(circle at 86% 62%, rgba(0, 0, 0, 0.08), transparent 28%),
    #d9d9d9;
}

body.project-page-body:not(.home-page-body) .section-project-location .route-map-water,
body.project-page-body:not(.home-page-body) .section-project-location .route-map-park,
body.project-page-body:not(.home-page-body) .section-project-location .route-map-block {
  border-radius: 0;
}

body.project-page-body:not(.home-page-body) .section-project-location .route-map-water {
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(0, 0, 0, 0.08);
}

body.project-page-body:not(.home-page-body) .section-project-location .route-map-park {
  background: rgba(0, 0, 0, 0.055);
}

body.project-page-body:not(.home-page-body) .section-project-location .route-map-block {
  border-color: rgba(0, 0, 0, 0.07);
  background: rgba(255, 255, 255, 0.2);
}

body.project-page-body:not(.home-page-body) .section-project-location .map-road-primary {
  stroke: rgba(0, 0, 0, 0.2);
}

body.project-page-body:not(.home-page-body) .section-project-location .map-road-secondary {
  stroke: rgba(0, 0, 0, 0.14);
}

body.project-page-body:not(.home-page-body) .section-project-location .map-road-tertiary {
  stroke: rgba(0, 0, 0, 0.1);
}

body.project-page-body:not(.home-page-body) .section-project-location .route-line {
  stroke: rgba(0, 0, 0, 0.52);
  filter: none;
}

body.project-page-body:not(.home-page-body) .section-project-location .route-hotspot-layer {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
}

body.project-page-body:not(.home-page-body) .section-project-location .route-hotspot-layer .route-marker {
  pointer-events: auto;
  border-radius: 0;
  border-color: rgba(0, 0, 0, 0.22);
  background: rgba(0, 0, 0, 0.82);
  color: #ffffff;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.22);
  transform: translate(-50%, -50%) translateZ(0);
}

body.project-page-body:not(.home-page-body) .section-project-location .route-hotspot-layer .route-marker:hover,
body.project-page-body:not(.home-page-body) .section-project-location .route-hotspot-layer .route-marker.is-active {
  border-color: #000000;
  background: #ffffff;
  color: #000000;
}

body.project-page-body:not(.home-page-body) .section-project-location .route-google-marker {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 220px;
  border: 1px solid rgba(255, 255, 255, 0.72);
  background: rgba(0, 0, 0, 0.88);
  color: #ffffff;
  padding: 8px 11px;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.24);
  font-family: var(--font-main), Arial, sans-serif;
  font-size: var(--nav);
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  transform-origin: center bottom;
  transition:
    background var(--kpd-hover-duration, 220ms) var(--kpd-ease-out, ease),
    color var(--kpd-hover-duration, 220ms) var(--kpd-ease-out, ease),
    border-color var(--kpd-hover-duration, 220ms) var(--kpd-ease-out, ease),
    box-shadow var(--kpd-hover-duration, 220ms) var(--kpd-ease-out, ease);
}

body.project-page-body:not(.home-page-body) .section-project-location .route-google-marker::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -8px;
  width: 13px;
  height: 13px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  background: inherit;
  transform: translateX(-50%) rotate(45deg);
}

body.project-page-body:not(.home-page-body) .section-project-location .route-google-marker-dot {
  position: relative;
  z-index: 1;
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border: 1px solid currentColor;
  background: currentColor;
}

body.project-page-body:not(.home-page-body) .section-project-location .route-google-marker-label {
  position: relative;
  z-index: 1;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.project-page-body:not(.home-page-body) .section-project-location .route-google-marker:hover,
body.project-page-body:not(.home-page-body) .section-project-location .route-google-marker.is-active {
  border-color: #000000;
  background: #ffffff;
  color: #000000;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.26);
}

body.project-page-body:not(.home-page-body) .section-project-location .route-google-marker.is-hidden {
  display: none;
}

body.project-page-body:not(.home-page-body) .section-project-location .route-google-marker--origin {
  border-color: #000000;
  background: #ffffff;
  color: #000000;
}

body.project-page-body:not(.home-page-body) .section-project-location .route-project-badge {
  z-index: 5;
}

body.project-page-body:not(.home-page-body) .section-project-location .route-map-metrics {
  position: absolute;
  left: clamp(18px, 2vw, 32px);
  bottom: clamp(18px, 2vw, 32px);
  z-index: 7;
  display: flex;
  gap: 10px;
  pointer-events: none;
}

body.project-page-body:not(.home-page-body) .section-project-location .route-map-metric {
  min-width: clamp(124px, 10vw, 160px);
  padding: 14px 16px;
  border: 1px solid rgba(0, 0, 0, 0.18);
  background: rgba(255, 255, 255, 0.92);
  color: #000000;
  display: grid;
  gap: 6px;
}

body.project-page-body:not(.home-page-body) .section-project-location .route-map-metric span {
  color: rgba(0, 0, 0, 0.54);
  font-size: var(--nav);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

body.project-page-body:not(.home-page-body) .section-project-location .route-map-metric strong {
  color: #000000;
  font-size: clamp(22px, 2vw, 34px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.025em;
  transition:
    opacity 220ms var(--kpd-ease-out, ease),
    transform 220ms var(--kpd-ease-out, ease);
}

body.project-page-body:not(.home-page-body) .section-project-location .route-map-metrics.is-updating .route-map-metric strong {
  opacity: 0.45;
  transform: translateY(2px);
}

body.project-page-body:not(.home-page-body) .section-project-location .route-sidebar {
  position: absolute;
  top: clamp(18px, 2vw, 32px);
  right: clamp(18px, 2vw, 32px);
  bottom: clamp(18px, 2vw, 32px);
  z-index: 8;
  width: min(320px, calc(100% - 40px));
  max-height: none;
  overflow: hidden;
  padding: 0;
  display: block;
  pointer-events: none;
}

body.project-page-body:not(.home-page-body) .section-project-location .route-summary-card {
  display: none !important;
}

body.project-page-body:not(.home-page-body) .section-project-location .route-destination-list {
  height: 100%;
  min-height: 0;
  overflow-y: auto;
  padding-right: 4px;
  display: grid;
  align-content: start;
  gap: 10px;
  pointer-events: auto;
}

body.project-page-body:not(.home-page-body) .section-project-location .route-destination-item {
  padding: 17px 18px;
  border-color: rgba(255, 255, 255, 0.22);
  background: rgba(0, 0, 0, 0.82);
  color: #ffffff;
  backdrop-filter: none;
}

body.project-page-body:not(.home-page-body) .section-project-location .route-destination-item:hover,
body.project-page-body:not(.home-page-body) .section-project-location .route-destination-item.is-active {
  border-color: #ffffff;
  background: #ffffff;
  color: #000000;
  transform: none;
}

body.project-page-body:not(.home-page-body) .section-project-location .route-destination-item .name {
  color: currentColor;
  font-size: var(--nav);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.25;
  text-transform: uppercase;
}

body.project-page-body:not(.home-page-body) .section-project-location .route-destination-item .meta {
  display: none !important;
}

@media (max-width: 991px) {
  body.project-page-body:not(.home-page-body) .section-project-location .location-explorer-stage,
  body.project-page-body:not(.home-page-body) .section-project-location .route-map-shell {
    min-height: var(--location-map-height);
  }

  body.project-page-body:not(.home-page-body) .section-project-location .route-sidebar {
    left: 16px;
    right: 16px;
    top: auto;
    bottom: 16px;
    width: auto;
    height: min(210px, 38%);
  }

  body.project-page-body:not(.home-page-body) .section-project-location .route-map-metrics {
    top: 16px;
    bottom: auto;
    left: 16px;
    flex-wrap: wrap;
  }
}

@media (max-width: 575px) {
  body.project-page-body:not(.home-page-body) .section-project-location .location-explorer-stage,
  body.project-page-body:not(.home-page-body) .section-project-location .route-map-shell {
    min-height: min(560px, var(--location-map-height));
  }

  body.project-page-body:not(.home-page-body) .section-project-location .route-map-metrics {
    right: 16px;
  }

  body.project-page-body:not(.home-page-body) .section-project-location .route-map-metric {
    min-width: 0;
    flex: 1 1 120px;
  }

  body.project-page-body:not(.home-page-body) .section-project-location .route-destination-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.project-page-body:not(.home-page-body) .section-project-location .route-destination-item {
    padding: 13px 12px;
  }
}

body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline {
  --travel-section-pad-y: clamp(46px, 5svh, 72px);
  --travel-head-space: clamp(96px, 12svh, 142px);
  --travel-map-height: clamp(520px, calc(100svh - var(--travel-section-pad-y) - var(--travel-section-pad-y) - var(--travel-head-space)), 760px);
  min-height: 100svh;
  padding-top: var(--travel-section-pad-y) !important;
  padding-bottom: var(--travel-section-pad-y) !important;
}

body.project-page-body:not(.home-page-body) .villa23-travel-head {
  width: min(1326px, calc(100vw - clamp(30px, 5vw, 96px)));
  margin-right: auto;
  margin-left: auto;
  margin-bottom: clamp(26px, 3vw, 42px);
}

body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline.home-white-reveal-section {
  --white-reveal-color: #ffffff;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #000000 !important;
  color: var(--white-reveal-ink, #000000) !important;
}

body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline.home-white-reveal-section::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block !important;
  pointer-events: none;
  content: "" !important;
  opacity: 1 !important;
  background: var(--white-reveal-color, #ffffff) !important;
  box-shadow: none !important;
  transform: translate3d(0, var(--white-reveal-y, 106%), 0) !important;
  transition: opacity 260ms ease;
  will-change: transform, opacity;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  -webkit-mask: none !important;
  mask: none !important;
}

body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline.home-white-reveal-section::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline.home-white-reveal-section > .container {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: none;
  padding-right: 0;
  padding-left: 0;
}

body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline.home-white-reveal-section .project-section-head h2 {
  color: var(--white-reveal-ink, #000000) !important;
  text-transform: uppercase;
}

body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline.home-white-reveal-section .project-section-head h2::after {
  background: currentColor !important;
}

body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline .villa23-travel-shell {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100% !important;
  max-width: none !important;
  min-height: auto;
  margin-right: 0 !important;
  margin-left: 0 !important;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-right: 0;
  border-left: 0;
  background: #ffffff;
  color: #000000;
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.16);
}

body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline .villa23-travel-timeline-wrap {
  position: relative;
  z-index: 5;
  width: min(88%, 1140px);
  margin: 0 auto;
  padding: clamp(110px, 9vw, 132px) 0 clamp(34px, 3vw, 48px);
  transform: none;
}

.villa23-travel-timeline {
  position: relative;
  display: flex;
  align-items: center;
}

.villa23-travel-step {
  position: relative;
  display: grid;
  flex-shrink: 0;
  place-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.villa23-travel-label {
  position: absolute;
  z-index: 12;
  bottom: clamp(86px, 7vw, 104px);
  left: 50%;
  color: #000000;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  white-space: nowrap;
  transform: translateX(-50%);
  transition: opacity 240ms ease, transform 240ms ease;
}

.villa23-travel-dot {
  position: relative;
  z-index: 2;
  width: 28px;
  height: 28px;
  border: 7px solid #ffffff;
  border-radius: 50%;
  background: #000000;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.18);
  transition:
    background-color 240ms ease,
    border-color 240ms ease,
    transform 240ms ease,
    box-shadow 240ms ease;
}

.villa23-travel-step:hover .villa23-travel-dot,
.villa23-travel-step:focus-visible .villa23-travel-dot,
.villa23-travel-step.is-active .villa23-travel-dot {
  border-color: #000000;
  background: #ffffff;
  transform: scale(1.08);
  box-shadow: 0 0 0 1px #000000, 0 18px 34px rgba(0, 0, 0, 0.18);
}

.villa23-travel-step.is-active .villa23-travel-label {
  transform: translateX(-50%) translateY(-4px);
}

.villa23-travel-line {
  flex: 1 1 auto;
  height: 1px;
  background: #000000;
  transform: translateY(-1px);
}

.villa23-travel-car {
  position: absolute;
  top: clamp(44px, 4vw, 58px);
  left: 0;
  z-index: 8;
  width: clamp(78px, 7vw, 112px);
  pointer-events: none;
  transform: translateX(0) translateZ(0);
  transition: transform 800ms cubic-bezier(0.22, 0.61, 0.36, 1);
  filter: drop-shadow(0 16px 22px rgba(0, 0, 0, 0.22));
}

body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline .villa23-travel-map-area {
  position: relative;
  width: 100%;
  min-height: var(--travel-map-height);
  margin-top: 0;
  overflow: hidden;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
  background: #ffffff;
}

body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline .villa23-travel-map {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  filter: grayscale(1) saturate(0) contrast(0.95) brightness(1.04);
  opacity: 1 !important;
}

body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline .villa23-travel-map-area::after {
  display: none;
  content: none;
}

.villa23-travel-marker-layer {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
}

.villa23-travel-reach-frame {
  --reach-scale: 0.16;
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(70vw, 58svh, 560px);
  max-width: calc(100% - 44px);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
}

.villa23-travel-reach-ring {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(0, 0, 0, 0.58);
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(0, 0, 0, 0.12) 0 2px, transparent 3px),
    radial-gradient(circle, rgba(255, 255, 255, 0.34) 0%, rgba(255, 255, 255, 0.1) 52%, rgba(0, 0, 0, 0.08) 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.66),
    0 0 0 1px rgba(0, 0, 0, 0.08),
    0 24px 90px rgba(0, 0, 0, 0.18);
  opacity: 0.86;
  transform: scale(var(--reach-scale));
  transform-origin: 50% 50%;
  transition:
    transform 900ms cubic-bezier(0.16, 1, 0.3, 1),
    opacity 420ms ease;
}

.villa23-travel-reach-ring::before,
.villa23-travel-reach-ring::after {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  content: "";
  transform-origin: 50% 50%;
}

.villa23-travel-reach-ring::before {
  border: 1px solid rgba(0, 0, 0, 0.32);
  animation: villa23ReachPulse 2400ms ease-out infinite;
}

.villa23-travel-reach-ring::after {
  border: 1px dashed rgba(0, 0, 0, 0.36);
  transform: scale(0.66);
}

.villa23-travel-center-pin {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 5;
  display: grid;
  justify-items: center;
  gap: 8px;
  transform: translate(-50%, -50%);
}

.villa23-travel-center-dot {
  position: relative;
  width: 18px;
  height: 18px;
  border: 4px solid #ffffff;
  border-radius: 50%;
  background: #000000;
  box-shadow: 0 0 0 1px #000000, 0 16px 34px rgba(0, 0, 0, 0.22);
}

.villa23-travel-center-dot::before {
  position: absolute;
  inset: -14px;
  border: 1px solid rgba(0, 0, 0, 0.32);
  border-radius: 50%;
  content: "";
  animation: villa23CenterPulse 2000ms ease-out infinite;
}

.villa23-travel-center-label,
.villa23-travel-reach-badge {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 7px 10px;
  border: 1px solid rgba(0, 0, 0, 0.82);
  background: rgba(255, 255, 255, 0.94);
  color: #000000;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.16);
}

.villa23-travel-reach-badge {
  position: absolute;
  left: 50%;
  top: calc(50% - var(--reach-offset, 8%));
  z-index: 4;
  transform: translate(-50%, -120%);
  transition: top 900ms cubic-bezier(0.16, 1, 0.3, 1);
}

.villa23-travel-reach-pins {
  position: absolute;
  inset: 0;
  z-index: 6;
}

.villa23-travel-marker {
  position: absolute;
  left: var(--x);
  top: var(--y);
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 8px 12px;
  border: 1px solid rgba(0, 0, 0, 0.86);
  background: rgba(255, 255, 255, 0.94);
  color: #000000;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.18);
  transform: translate(-50%, -50%);
  animation: villa23ReachPinIn 520ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

.villa23-travel-marker::before {
  position: absolute;
  left: 50%;
  bottom: -9px;
  width: 1px;
  height: 9px;
  content: "";
  background: #000000;
}

.villa23-travel-marker--reach {
  background: rgba(0, 0, 0, 0.86);
  color: #ffffff;
}

.villa23-travel-marker--reach::before {
  background: rgba(0, 0, 0, 0.86);
}

@keyframes villa23ReachPulse {
  0% {
    opacity: 0.52;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(1.2);
  }
}

@keyframes villa23CenterPulse {
  0% {
    opacity: 0.62;
    transform: scale(0.7);
  }
  100% {
    opacity: 0;
    transform: scale(1.8);
  }
}

@keyframes villa23ReachPinIn {
  from {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.82);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}

.villa23-travel-card {
  position: absolute;
  left: clamp(22px, 3vw, 48px);
  bottom: clamp(92px, 9vw, 132px);
  z-index: 5;
  display: grid;
  width: min(420px, calc(100% - 44px));
  gap: 12px;
  padding: clamp(22px, 2.4vw, 34px);
  border: 1px solid rgba(0, 0, 0, 0.18);
  background: rgba(255, 255, 255, 0.94);
  color: #000000;
}

.villa23-travel-card__kicker {
  color: rgba(0, 0, 0, 0.54);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.villa23-travel-card h3 {
  margin: 0;
  color: #000000;
  font-size: clamp(30px, 3vw, 46px);
  font-weight: 300;
  line-height: 1.04;
  letter-spacing: -0.025em;
}

.villa23-travel-card p {
  margin: 0;
  color: rgba(0, 0, 0, 0.64);
  font-size: var(--body);
  line-height: 1.6;
}

.villa23-travel-controls {
  position: absolute;
  left: 50%;
  bottom: clamp(24px, 3vw, 40px);
  z-index: 6;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  width: min(94%, 620px);
  transform: translateX(-50%);
}

.villa23-travel-controls button {
  min-height: 44px;
  padding: 11px 18px;
  border: 1px solid rgba(0, 0, 0, 0.4);
  background: rgba(255, 255, 255, 0.9);
  color: #000000;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition:
    background-color 240ms ease,
    color 240ms ease,
    border-color 240ms ease,
    transform 240ms ease;
}

.villa23-travel-controls button:hover,
.villa23-travel-controls button:focus-visible,
.villa23-travel-controls button.is-active {
  border-color: #000000;
  background: #000000;
  color: #ffffff;
  transform: translateY(-2px);
}

body.project-page-body:not(.home-page-body) .project-cta {
  padding-top: clamp(70px, 8vw, 116px) !important;
  padding-bottom: clamp(80px, 9vw, 132px) !important;
}

body.project-page-body:not(.home-page-body) .project-cta .bg-img {
  display: none;
}

body.project-page-body:not(.home-page-body) .project-cta .s-header {
  margin-bottom: clamp(26px, 3vw, 42px);
}

body.project-page-body:not(.home-page-body) .project-cta .s-header .row {
  align-items: flex-end;
}

body.project-page-body:not(.home-page-body) .project-cta .s-header h2 {
  color: #ffffff !important;
  text-align: left !important;
}

body.project-page-body:not(.home-page-body) .project-cta .form-cta {
  border-color: rgba(255, 255, 255, 0.18);
  border-radius: 0;
  background: #ffffff;
  box-shadow: none;
}

body.project-page-body:not(.home-page-body) .project-cta .form-cta :is(.tf-input, .tf-select, .nice-select) {
  border-radius: 0 !important;
}

body.project-page-body:not(.home-page-body) .project-cta .form-cta .form-action .tf-btn {
  border-radius: 0;
  background: transparent !important;
}

body.project-page-body:not(.home-page-body) .project-cta .form-cta .form-action .tf-btn::before {
  background: #000000 !important;
}

body.project-page-body:not(.home-page-body) .project-cta .form-cta .form-action .tf-btn:hover,
body.project-page-body:not(.home-page-body) .project-cta .form-cta .form-action .tf-btn:focus-visible {
  background: #000000 !important;
  color: #ffffff !important;
}

@media (max-width: 991px) {
  body.project-page-body:not(.home-page-body) .section-villa23-overview {
    min-height: auto !important;
    padding-top: clamp(64px, 10vw, 92px) !important;
    padding-bottom: clamp(64px, 10vw, 92px) !important;
  }

  body.project-page-body:not(.home-page-body) .villa23-overview-shell {
    grid-template-columns: 1fr;
    gap: clamp(28px, 7vw, 48px);
  }

  body.project-page-body:not(.home-page-body) .section-villa23-overview.kpd-reveal-target .villa23-overview-panel {
    width: 100%;
    margin-right: 0;
    transform: translate3d(0, 30px, 0);
  }

  body.project-page-body:not(.home-page-body) .project-plans-controls {
    justify-content: flex-start;
  }

  body.project-page-body:not(.home-page-body) .project-plan-tabs {
    min-height: 0;
    padding: clamp(14px, 4vw, 22px);
  }

  body.project-page-body:not(.home-page-body) .project-plan-tabs .tab-pane.active.show,
  body.project-page-body:not(.home-page-body) .project-plan-tabs .tab-pane.active.show > .row {
    height: auto;
    min-height: 0;
  }

  body.project-page-body:not(.home-page-body) .project-plan-visual {
    min-height: clamp(300px, 56vw, 460px);
  }

  body.project-page-body:not(.home-page-body) .villa23-split-gallery,
  body.project-page-body:not(.home-page-body) .villa23-amenities-stage {
    grid-template-columns: 1fr;
  }

  body.project-page-body:not(.home-page-body) .villa23-amenities-detail,
  body.project-page-body:not(.home-page-body) .villa23-amenities-visual {
    border-right: 0;
    border-left: 0;
  }

  body.project-page-body:not(.home-page-body) .location-explorer-toolbar--head {
    justify-content: flex-start;
  }

  body.project-page-body:not(.home-page-body) .route-sidebar {
    position: static;
    width: auto;
    max-height: none;
    padding: clamp(18px, 4vw, 28px);
  }

  body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline .villa23-travel-shell {
    width: 100% !important;
    max-width: none !important;
    min-height: auto;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline .villa23-travel-timeline-wrap {
    position: relative;
    width: calc(100% - 44px);
    padding-top: 118px;
    padding-bottom: 44px;
    transform: none;
  }

  .villa23-travel-label {
    bottom: 90px;
    font-size: 10px;
    letter-spacing: 0.1em;
  }

  .villa23-travel-car {
    top: 50px;
  }

  body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline .villa23-travel-card {
    position: absolute;
    left: 18px;
    bottom: clamp(92px, 12vw, 128px);
    width: min(420px, calc(100% - 36px));
    margin: 0;
  }

  body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline .villa23-travel-map-area {
    display: block;
    min-height: var(--travel-map-height);
  }

  body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline .villa23-travel-map {
    min-height: 100%;
  }
}

/* Villa 23 compact section pass */
body.project-page-body:not(.home-page-body) .section-villa23-overview {
  --villa23-overview-pad-y: clamp(30px, 3.8svh, 52px);
  --villa23-overview-min: clamp(540px, 70svh, 720px);
  min-height: var(--villa23-overview-min) !important;
  padding-top: var(--villa23-overview-pad-y) !important;
  padding-bottom: var(--villa23-overview-pad-y) !important;
}

body.project-page-body:not(.home-page-body) .section-villa23-overview > .container {
  display: flex;
  align-items: center;
  min-height: calc(var(--villa23-overview-min) - var(--villa23-overview-pad-y) - var(--villa23-overview-pad-y));
}

body.project-page-body:not(.home-page-body) .villa23-overview-shell {
  gap: clamp(22px, 3vw, 48px);
}

body.project-page-body:not(.home-page-body) .villa23-overview-panel {
  padding: clamp(18px, 2vw, 28px);
}

body.project-page-body:not(.home-page-body) .project-fact-row {
  padding: clamp(10px, 1.2vw, 15px) 0;
}

body.project-page-body:not(.home-page-body) .section-villa23-overview + .section-villa23-gallery.experience-center-editorial {
  padding-top: clamp(44px, 5.5vw, 78px) !important;
}

body.project-page-body:not(.home-page-body) .villa23-3d-tour-shell {
  min-height: clamp(430px, 48vw, 620px);
}

body.project-page-body:not(.home-page-body) .villa23-3d-tour-panel {
  width: min(660px, calc(100vw - 40px));
  gap: clamp(14px, 1.6vw, 20px);
  padding: clamp(24px, 2.6vw, 36px);
  border-radius: 0 !important;
  background: rgba(20, 20, 20, 0.5);
}

body.project-page-body:not(.home-page-body) .villa23-3d-tour-mark {
  font-size: var(--nav);
  font-weight: 700;
  letter-spacing: 0.18em;
}

body.project-page-body:not(.home-page-body) .villa23-3d-tour-panel h2 {
  font-size: 40px !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
}

body.project-page-body:not(.home-page-body) .villa23-3d-tour-button {
  position: relative;
  min-height: 46px;
  border-radius: 0 !important;
  border-color: rgba(255, 255, 255, 0.72);
  background: transparent;
  color: #ffffff !important;
  font-size: var(--nav);
  font-weight: 700;
  letter-spacing: 0.12em;
  box-shadow: none;
}

body.project-page-body:not(.home-page-body) .villa23-3d-tour-button:hover,
body.project-page-body:not(.home-page-body) .villa23-3d-tour-button:focus-visible {
  border-color: #ffffff;
  background: #ffffff;
  color: #000000 !important;
  box-shadow: none;
}

body.project-page-body:not(.home-page-body) .section-villa23-amenities {
  padding-top: clamp(46px, 5vw, 78px) !important;
  padding-bottom: clamp(24px, 2.8vw, 42px) !important;
}

body.project-page-body:not(.home-page-body) .villa23-amenities-head {
  margin-bottom: clamp(18px, 2vw, 30px);
}

body.project-page-body:not(.home-page-body) .villa23-amenities-tab {
  min-height: 68px;
}

body.project-page-body:not(.home-page-body) .villa23-amenities-stage {
  min-height: clamp(340px, 36vw, 500px);
}

body.project-page-body:not(.home-page-body) .villa23-amenities-detail {
  padding: clamp(20px, 2vw, 30px);
}

body.project-page-body:not(.home-page-body) .section-project-location {
  --location-section-pad-y: clamp(26px, 3svh, 44px);
  --location-map-height: clamp(520px, calc(100svh - var(--location-section-pad-y) - var(--location-head-space)), 760px);
  padding-top: var(--location-section-pad-y) !important;
  padding-bottom: 0 !important;
}

body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline {
  --travel-map-height: clamp(520px, calc(100svh - var(--travel-section-pad-y) - var(--travel-head-space)), 760px);
  padding-bottom: 0 !important;
}

body.project-page-body:not(.home-page-body) .section-project-plans {
  --floor-plan-section-pad-y: clamp(42px, 5svh, 64px);
  min-height: auto !important;
  padding-top: var(--floor-plan-section-pad-y) !important;
  padding-bottom: var(--floor-plan-section-pad-y) !important;
}

body.project-page-body:not(.home-page-body) .section-project-plans > .container {
  min-height: 0;
}

body.project-page-body:not(.home-page-body) .section-project-plans .project-plans-head {
  margin-bottom: clamp(14px, 1.8svh, 24px);
  padding-bottom: clamp(14px, 1.8svh, 24px);
}

body.project-page-body:not(.home-page-body) .project-plan-tabs {
  flex: 0 0 auto;
  min-height: 0;
  padding: clamp(12px, 1.25vw, 20px);
}

body.project-page-body:not(.home-page-body) .project-plan-tabs > .tab-content,
body.project-page-body:not(.home-page-body) .project-plan-tabs .tab-pane.active.show,
body.project-page-body:not(.home-page-body) .project-plan-tabs .tab-pane.active.show > .row {
  min-height: 0;
  height: auto;
}

body.project-page-body:not(.home-page-body) .project-plan-visual {
  min-height: clamp(300px, 34vw, 440px);
  padding: clamp(12px, 1.5vw, 22px);
}

body.project-page-body:not(.home-page-body) .project-plan-card {
  padding: clamp(20px, 2vw, 28px);
}

@media (max-width: 767px) {
  body.project-page-body:not(.home-page-body) .villa23-3d-tour-panel h2 {
    font-size: clamp(28px, 9vw, 36px) !important;
  }
}

/* About page KPD theme pass */
body.about-rebuilt-page,
body.about-rebuilt-page #wrapper {
  background: #000000 !important;
  color: #ffffff !important;
  --about-paper: #000000;
  --about-ink: #ffffff;
  --about-muted: rgba(255, 255, 255, 0.68);
  --about-soft: rgba(255, 255, 255, 0.16);
  --about-burgundy: #ffffff;
  --about-burgundy-dark: #ffffff;
  --about-section-width: min(1326px, calc(100vw - clamp(30px, 5vw, 96px)));
  --about-section-min: clamp(540px, 70svh, 720px);
  --about-section-pad-y: clamp(46px, 5.5svh, 78px);
}

body.about-rebuilt-page .section-about-hero {
  min-height: 100vh !important;
  min-height: 100svh !important;
  display: flex !important;
  align-items: flex-end !important;
  padding-top: clamp(120px, 14svh, 180px) !important;
  padding-bottom: clamp(70px, 10svh, 128px) !important;
  background: #000000 !important;
  overflow: hidden;
}

body.about-rebuilt-page .section-about-hero .container {
  position: relative;
  z-index: 3;
  width: var(--about-section-width);
  max-width: var(--about-section-width);
}

body.about-rebuilt-page .section-about-hero .project-hero-bg {
  background: #000000 !important;
}

body.about-rebuilt-page .section-about-hero .project-hero-bg img {
  opacity: 0.74 !important;
  filter: none !important;
  object-fit: cover;
  transform: scale(1.04);
}

body.kpd-page-ready.about-rebuilt-page .section-about-hero .project-hero-bg img {
  opacity: 0.78 !important;
  transform: scale(1.015);
}

body.about-rebuilt-page .section-about-hero .project-hero-shade {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.92) 0%, rgba(0, 0, 0, 0.55) 42%, rgba(0, 0, 0, 0.14) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.52) 0%, rgba(0, 0, 0, 0.08) 48%, rgba(0, 0, 0, 0.92) 100%) !important;
}

body.about-rebuilt-page .section-about-hero .project-hero-grid {
  opacity: 0.16 !important;
}

body.about-rebuilt-page .section-about-hero .project-title,
body.about-rebuilt-page .about-ref-heading,
body.about-rebuilt-page .about-ref-recognition__title,
body.about-rebuilt-page .about-ref-band h2,
body.about-rebuilt-page .about-ref-expertise__head h2 {
  margin: 0 !important;
  color: currentColor !important;
  font-size: 40px !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
}

body.about-rebuilt-page .about-ref-heading {
  display: inline-block;
  padding: 0 !important;
}

body.about-rebuilt-page .about-ref-heading::before,
body.about-rebuilt-page .about-ref-expertise__head h2::before {
  display: none !important;
  content: none !important;
}

body.about-rebuilt-page .about-ref-heading::after,
body.about-rebuilt-page .about-ref-recognition__title::after,
body.about-rebuilt-page .about-ref-expertise__head h2::after {
  display: block;
  width: clamp(84px, 9vw, 132px);
  height: 1px;
  margin-top: clamp(18px, 2.4vw, 28px);
  background: currentColor;
  opacity: 0.44;
  content: "";
}

body.about-rebuilt-page .about-ref-section,
body.about-rebuilt-page .about-ref-band {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-top: var(--about-section-pad-y) !important;
  padding-bottom: var(--about-section-pad-y) !important;
  background: #000000 !important;
  color: #ffffff !important;
}

body.about-rebuilt-page .about-ref-section::before,
body.about-rebuilt-page .about-ref-section::after,
body.about-rebuilt-page .about-ref-band::after {
  display: none !important;
  content: none !important;
}

body.about-rebuilt-page .about-ref-section > .container,
body.about-rebuilt-page .about-ref-band > .container {
  position: relative;
  z-index: 2;
  width: var(--about-section-width);
  max-width: var(--about-section-width);
}

body.about-rebuilt-page .about-ref-section p,
body.about-rebuilt-page .about-ref-band p,
body.about-rebuilt-page .about-ref-expertise-card p {
  color: var(--about-muted) !important;
  font-size: var(--body) !important;
  font-weight: 300 !important;
  line-height: 1.65 !important;
  letter-spacing: 0 !important;
}

body.about-rebuilt-page .about-ref-story,
body.about-rebuilt-page .about-ref-message--chairman {
  min-height: var(--about-section-min) !important;
  display: flex !important;
  align-items: center;
}

body.about-rebuilt-page .about-ref-story__grid,
body.about-rebuilt-page .about-ref-message__grid,
body.about-rebuilt-page .about-ref-recognition__grid,
body.about-rebuilt-page .about-ref-sustainability__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.72fr);
  gap: clamp(24px, 4vw, 64px);
  align-items: center;
}

body.about-rebuilt-page .about-ref-message__grid {
  grid-template-columns: minmax(340px, 0.58fr) minmax(0, 1fr);
}

body.about-rebuilt-page .about-ref-story__copy,
body.about-rebuilt-page .about-ref-message__copy,
body.about-rebuilt-page .about-ref-recognition__copy,
body.about-rebuilt-page .about-ref-sustainability__copy {
  display: grid;
  gap: clamp(16px, 1.8vw, 24px);
  max-width: 720px;
}

body.about-rebuilt-page .about-ref-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: clamp(4px, 1vw, 12px) 0;
}

body.about-rebuilt-page .about-ref-metric,
body.about-rebuilt-page .about-ref-band__item,
body.about-rebuilt-page .about-ref-expertise-card {
  min-height: 0;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, 0.035) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

body.about-rebuilt-page .about-ref-metric {
  padding: clamp(18px, 2vw, 26px);
}

body.about-rebuilt-page .about-ref-metric span,
body.about-rebuilt-page .about-ref-expertise-card__icon,
body.about-rebuilt-page .about-ref-expertise-card h3 {
  color: #ffffff !important;
  font-size: var(--nav) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

body.about-rebuilt-page .about-ref-metric strong {
  color: #ffffff !important;
  font-size: clamp(34px, 5vw, 60px) !important;
  font-weight: 300 !important;
  line-height: 0.95 !important;
  letter-spacing: -0.025em !important;
}

body.about-rebuilt-page .about-ref-story__media,
body.about-rebuilt-page .about-ref-message__media,
body.about-rebuilt-page .about-ref-recognition__media,
body.about-rebuilt-page .about-ref-sustainability__media {
  overflow: hidden;
  margin: 0;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 0 !important;
  background: #050505 !important;
  box-shadow: none !important;
}

body.about-rebuilt-page .about-ref-story__media {
  aspect-ratio: 4 / 3;
}

body.about-rebuilt-page .about-ref-message__media {
  aspect-ratio: 4 / 5;
}

body.about-rebuilt-page .about-ref-recognition__media,
body.about-rebuilt-page .about-ref-sustainability__media {
  aspect-ratio: 16 / 10;
}

body.about-rebuilt-page .about-ref-story__media img,
body.about-rebuilt-page .about-ref-message__media img,
body.about-rebuilt-page .about-ref-recognition__media img,
body.about-rebuilt-page .about-ref-sustainability__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  filter: none !important;
  transform: scale(1.01);
  transition: transform 900ms cubic-bezier(0.16, 1, 0.3, 1);
}

body.about-rebuilt-page .about-ref-story__media:hover img,
body.about-rebuilt-page .about-ref-message__media:hover img,
body.about-rebuilt-page .about-ref-recognition__media:hover img,
body.about-rebuilt-page .about-ref-sustainability__media:hover img {
  transform: scale(1.045);
}

body.about-rebuilt-page .about-ref-mission-vision {
  --white-reveal-color: #ffffff;
  min-height: clamp(440px, 58svh, 640px);
  display: flex;
  align-items: center;
  background: #000000 !important;
  color: var(--white-reveal-ink, #ffffff) !important;
}

body.about-rebuilt-page .about-ref-mission-vision.home-white-reveal-section::before {
  position: absolute;
  inset: -1px 0;
  z-index: 0;
  display: block !important;
  pointer-events: none;
  content: "" !important;
  opacity: 1 !important;
  background: var(--white-reveal-color, #ffffff) !important;
  box-shadow: none !important;
  transform: translate3d(0, var(--white-reveal-y, 106%), 0) !important;
  will-change: transform;
}

body.about-rebuilt-page .about-ref-mission-vision.home-white-reveal-section .about-ref-band__grid {
  position: relative;
  z-index: 2;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item {
  min-height: clamp(220px, 25vw, 320px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: clamp(24px, 4vw, 56px);
  padding: clamp(26px, 3vw, 42px);
  border-color: var(--white-reveal-border, rgba(255, 255, 255, 0.28)) !important;
  background: rgba(0, 0, 0, 0.9) !important;
  color: #ffffff !important;
}

body.about-rebuilt-page .about-ref-mission-vision.is-white-revealed .about-ref-band__item {
  border-color: rgba(0, 0, 0, 0.14) !important;
  background: #ffffff !important;
  color: #000000 !important;
}

body.about-rebuilt-page .about-ref-mission-vision.is-white-revealed .about-ref-band__item p {
  color: rgba(0, 0, 0, 0.68) !important;
}

body.about-rebuilt-page .about-ref-band__item + .about-ref-band__item {
  border-left: 1px solid var(--white-reveal-border, rgba(255, 255, 255, 0.28)) !important;
}

body.about-rebuilt-page .about-ref-message__copy {
  padding: clamp(26px, 3vw, 44px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.035);
}

body.about-rebuilt-page .about-ref-signature {
  margin-top: clamp(4px, 1vw, 12px);
  padding-top: clamp(18px, 2vw, 28px);
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  color: #ffffff !important;
}

body.about-rebuilt-page .about-ref-signature strong,
body.about-rebuilt-page .about-ref-signature span {
  color: inherit !important;
}

body.about-rebuilt-page .about-ref-recognition {
  min-height: clamp(520px, 64svh, 700px);
  display: flex;
  align-items: center;
}

body.about-rebuilt-page .about-ref-recognition__title {
  max-width: 760px;
  margin-bottom: clamp(26px, 4vw, 56px) !important;
}

body.about-rebuilt-page .about-ref-expertise {
  background: #ffffff !important;
  color: #000000 !important;
}

body.about-rebuilt-page .about-ref-expertise__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: clamp(26px, 4vw, 56px);
}

body.about-rebuilt-page .about-ref-expertise__arrows {
  display: none !important;
}

body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card {
  min-height: clamp(260px, 24vw, 340px);
  padding: clamp(24px, 2.8vw, 40px);
  border-color: rgba(0, 0, 0, 0.14) !important;
  background: #ffffff !important;
  color: #000000 !important;
}

body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card:hover {
  transform: translateY(-8px);
  border-color: rgba(0, 0, 0, 0.36) !important;
}

body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card__icon,
body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card h3 {
  color: #000000 !important;
}

body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card p {
  color: rgba(0, 0, 0, 0.68) !important;
}

body.about-rebuilt-page .about-ref-sustainability {
  min-height: clamp(500px, 62svh, 680px);
  display: flex;
  align-items: center;
}

body.about-rebuilt-page .about-ref-sustainability__media::after,
body.about-rebuilt-page .about-ref-play,
body.about-rebuilt-page .about-ref-play::before {
  display: none !important;
  content: none !important;
}

body.about-rebuilt-page .tf-footer {
  background: #000000 !important;
  color: #ffffff !important;
}

body.about-rebuilt-page .tf-footer .br-line,
body.about-rebuilt-page .tf-footer .footer-shell,
body.about-rebuilt-page .tf-footer .footer-grid,
body.about-rebuilt-page .tf-footer .footer-bottom-row {
  border-color: rgba(255, 255, 255, 0.16) !important;
}

body.about-rebuilt-page .tf-footer .footer-summary,
body.about-rebuilt-page .tf-footer .footer-heading,
body.about-rebuilt-page .tf-footer .footer-menu-note,
body.about-rebuilt-page .tf-footer .text-white-64 {
  color: rgba(255, 255, 255, 0.64) !important;
}

body.kpd-interior-page.about-rebuilt-page .kpd-reveal-target {
  opacity: 0;
  transform: translate3d(0, 42px, 0);
  transition:
    opacity 900ms cubic-bezier(0.16, 1, 0.3, 1),
    transform 1000ms cubic-bezier(0.16, 1, 0.3, 1),
    border-color 260ms ease,
    background-color 260ms ease,
    color 260ms ease;
}

body.kpd-interior-page.about-rebuilt-page .kpd-reveal-target.is-kpd-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

@media (max-width: 991px) {
  body.about-rebuilt-page .section-about-hero {
    min-height: clamp(620px, 88svh, 820px) !important;
  }

  body.about-rebuilt-page .about-ref-story,
  body.about-rebuilt-page .about-ref-message--chairman,
  body.about-rebuilt-page .about-ref-recognition,
  body.about-rebuilt-page .about-ref-sustainability {
    min-height: auto !important;
  }

  body.about-rebuilt-page .about-ref-story__grid,
  body.about-rebuilt-page .about-ref-message__grid,
  body.about-rebuilt-page .about-ref-recognition__grid,
  body.about-rebuilt-page .about-ref-sustainability__grid,
  body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__grid,
  body.about-rebuilt-page .about-ref-expertise__grid {
    grid-template-columns: 1fr !important;
  }

  body.about-rebuilt-page .about-ref-message__media {
    max-height: 620px;
  }
}

@media (max-width: 767px) {
  body.about-rebuilt-page .section-about-hero .project-title,
  body.about-rebuilt-page .about-ref-heading,
  body.about-rebuilt-page .about-ref-recognition__title,
  body.about-rebuilt-page .about-ref-band h2,
  body.about-rebuilt-page .about-ref-expertise__head h2 {
    font-size: clamp(30px, 10vw, 38px) !important;
  }

  body.about-rebuilt-page .about-ref-metrics {
    grid-template-columns: 1fr;
  }

  body.about-rebuilt-page .about-ref-expertise__head {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* About page plain black background pass */
body.about-rebuilt-page,
body.about-rebuilt-page #wrapper,
body.about-rebuilt-page main,
body.about-rebuilt-page .section-about-hero,
body.about-rebuilt-page .about-ref-section,
body.about-rebuilt-page .about-ref-band,
body.about-rebuilt-page .about-ref-expertise,
body.about-rebuilt-page .tf-footer {
  background: #000000 !important;
  background-color: #000000 !important;
  background-image: none !important;
  color: #ffffff !important;
}

body.about-rebuilt-page .section-about-hero::before,
body.about-rebuilt-page .section-about-hero::after,
body.about-rebuilt-page .home-section-mirror-bg,
body.about-rebuilt-page .home-section-mirror-bg::before,
body.about-rebuilt-page .home-section-mirror-bg::after,
body.about-rebuilt-page .home-section-mirror-bg__item,
body.about-rebuilt-page .about-ref-mission-vision.home-white-reveal-section::before {
  display: none !important;
  content: none !important;
  background: none !important;
}

body.about-rebuilt-page .about-ref-mission-vision {
  color: #ffffff !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item,
body.about-rebuilt-page .about-ref-mission-vision.is-white-revealed .about-ref-band__item,
body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card {
  border-color: rgba(255, 255, 255, 0.18) !important;
  background: rgba(255, 255, 255, 0.035) !important;
  color: #ffffff !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item p,
body.about-rebuilt-page .about-ref-mission-vision.is-white-revealed .about-ref-band__item p,
body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card p {
  color: rgba(255, 255, 255, 0.68) !important;
}

body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card__icon,
body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card h3 {
  color: #ffffff !important;
}

/* About Our Story overview arrangement */
body.about-rebuilt-page .about-ref-story {
  min-height: var(--about-section-min) !important;
  padding-top: clamp(30px, 3.8svh, 52px) !important;
  padding-bottom: clamp(30px, 3.8svh, 52px) !important;
}

body.about-rebuilt-page .about-ref-story > .container {
  display: flex;
  align-items: center;
  min-height: calc(var(--about-section-min) - clamp(30px, 3.8svh, 52px) - clamp(30px, 3.8svh, 52px));
}

body.about-rebuilt-page .about-ref-story__grid {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.66fr) !important;
  gap: clamp(22px, 3vw, 48px) !important;
  width: 100%;
}

body.about-rebuilt-page .about-ref-story__copy {
  max-width: 720px;
}

body.about-rebuilt-page .about-ref-story .about-ref-story__media {
  justify-self: end;
  width: min(100%, 440px);
  margin-right: clamp(24px, 3vw, 56px);
  aspect-ratio: 4 / 5;
  border-color: rgba(255, 255, 255, 0.18) !important;
  background: rgba(255, 255, 255, 0.035) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03), 0 28px 80px rgba(0, 0, 0, 0.34);
}

body.about-rebuilt-page .about-ref-story .about-ref-story__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.kpd-interior-page.about-rebuilt-page .about-ref-story.kpd-reveal-target {
  opacity: 1;
  transform: none;
}

body.kpd-interior-page.about-rebuilt-page .about-ref-story.kpd-reveal-target .about-ref-story__copy,
body.kpd-interior-page.about-rebuilt-page .about-ref-story.kpd-reveal-target .about-ref-story__media {
  opacity: 0;
  filter: blur(10px);
  transition:
    opacity 760ms ease,
    filter 900ms ease,
    transform 980ms cubic-bezier(0.16, 1, 0.3, 1);
}

body.kpd-interior-page.about-rebuilt-page .about-ref-story.kpd-reveal-target .about-ref-story__copy {
  transform: translate3d(0, 34px, 0);
}

body.kpd-interior-page.about-rebuilt-page .about-ref-story.kpd-reveal-target .about-ref-story__media {
  transform: translate3d(42px, 0, 0);
}

body.kpd-interior-page.about-rebuilt-page .about-ref-story.kpd-reveal-target.is-kpd-visible .about-ref-story__copy,
body.kpd-interior-page.about-rebuilt-page .about-ref-story.kpd-reveal-target.is-kpd-visible .about-ref-story__media {
  opacity: 1;
  filter: blur(0);
  transform: translate3d(0, 0, 0);
}

body.kpd-interior-page.about-rebuilt-page .about-ref-story.kpd-reveal-target.is-kpd-visible .about-ref-story__media {
  transition-delay: 120ms;
}

/* About Chairman featured-style reveal */
body.about-rebuilt-page .about-ref-message--chairman.home-white-reveal-section {
  --white-reveal-color: #ffffff;
  position: relative;
  isolation: isolate;
  min-height: clamp(540px, 70svh, 720px) !important;
  display: flex !important;
  align-items: center;
  overflow: hidden;
  background: #000000 !important;
  color: var(--white-reveal-ink, #ffffff) !important;
}

body.about-rebuilt-page .about-ref-message--chairman.home-white-reveal-section::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block !important;
  pointer-events: none;
  content: "" !important;
  opacity: 1 !important;
  background: var(--white-reveal-color, #ffffff) !important;
  box-shadow: none !important;
  transform: translate3d(0, var(--white-reveal-y, 106%), 0) !important;
  will-change: transform;
}

body.about-rebuilt-page .about-ref-message--chairman.home-white-reveal-section::after {
  display: none !important;
  content: none !important;
}

body.about-rebuilt-page .about-ref-message--chairman.home-white-reveal-section > .container {
  position: relative;
  z-index: 2;
}

body.about-rebuilt-page .about-ref-message--chairman .about-ref-message__grid {
  grid-template-columns: minmax(320px, 0.54fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 64px);
  align-items: center;
}

body.about-rebuilt-page .about-ref-message--chairman .about-ref-message__media,
body.about-rebuilt-page .about-ref-message--chairman .about-ref-message__copy {
  border-color: var(--white-reveal-border, rgba(255, 255, 255, 0.22)) !important;
  border-radius: 0 !important;
}

body.about-rebuilt-page .about-ref-message--chairman .about-ref-message__media {
  width: min(100%, 430px);
  justify-self: start;
  aspect-ratio: 4 / 5;
  background: rgba(255, 255, 255, 0.04) !important;
}

body.about-rebuilt-page .about-ref-message--chairman .about-ref-message__copy {
  max-width: 760px;
  padding: clamp(28px, 3.2vw, 48px);
  background: rgba(255, 255, 255, 0.035);
  color: var(--white-reveal-ink, #ffffff) !important;
  box-shadow: none;
}

body.about-rebuilt-page .about-ref-message--chairman.is-white-revealed .about-ref-message__media,
body.about-rebuilt-page .about-ref-message--chairman.is-white-revealed .about-ref-message__copy {
  border-color: rgba(0, 0, 0, 0.14) !important;
}

body.about-rebuilt-page .about-ref-message--chairman.is-white-revealed .about-ref-message__copy {
  background: #ffffff !important;
  color: #000000 !important;
}

body.about-rebuilt-page .about-ref-message--chairman .about-ref-heading {
  color: currentColor !important;
  font-size: 40px !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
}

body.about-rebuilt-page .about-ref-message--chairman .about-ref-heading::after {
  background: currentColor !important;
}

body.about-rebuilt-page .about-ref-message--chairman .about-ref-message__copy p {
  color: var(--white-reveal-ink, #ffffff) !important;
  font-size: var(--body) !important;
  font-weight: 300 !important;
  line-height: 1.65 !important;
  letter-spacing: 0 !important;
  opacity: 0.68;
}

body.about-rebuilt-page .about-ref-message--chairman.is-white-revealed .about-ref-message__copy p {
  color: rgba(0, 0, 0, 0.68) !important;
}

body.about-rebuilt-page .about-ref-message--chairman .about-ref-signature {
  border-top-color: currentColor !important;
  color: currentColor !important;
}

body.about-rebuilt-page .about-ref-message--chairman .about-ref-signature strong,
body.about-rebuilt-page .about-ref-message--chairman .about-ref-signature span {
  color: currentColor !important;
  font-size: var(--nav) !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* Chairman cards-only white treatment */
body.about-rebuilt-page .about-ref-message--chairman,
body.about-rebuilt-page .about-ref-message--chairman.home-white-reveal-section {
  background: #000000 !important;
  color: #ffffff !important;
}

body.about-rebuilt-page .about-ref-message--chairman.home-white-reveal-section::before,
body.about-rebuilt-page .about-ref-message--chairman.home-white-reveal-section::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

body.about-rebuilt-page .about-ref-message--chairman .about-ref-message__media,
body.about-rebuilt-page .about-ref-message--chairman .about-ref-message__copy,
body.about-rebuilt-page .about-ref-message--chairman.is-white-revealed .about-ref-message__media,
body.about-rebuilt-page .about-ref-message--chairman.is-white-revealed .about-ref-message__copy {
  border-color: rgba(255, 255, 255, 0.18) !important;
  background: #ffffff !important;
}

body.about-rebuilt-page .about-ref-message--chairman .about-ref-message__media img {
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

body.about-rebuilt-page .about-ref-message--chairman .about-ref-message__copy,
body.about-rebuilt-page .about-ref-message--chairman.is-white-revealed .about-ref-message__copy {
  background: #000000 !important;
  color: #ffffff !important;
}

body.about-rebuilt-page .about-ref-message--chairman .about-ref-message__copy p,
body.about-rebuilt-page .about-ref-message--chairman.is-white-revealed .about-ref-message__copy p {
  color: rgba(255, 255, 255, 0.68) !important;
  opacity: 1;
}

body.about-rebuilt-page .about-ref-message--chairman .about-ref-signature,
body.about-rebuilt-page .about-ref-message--chairman .about-ref-signature strong,
body.about-rebuilt-page .about-ref-message--chairman .about-ref-signature span {
  color: #ffffff !important;
}

/* Long-horizon featured-style reveal */
body.about-rebuilt-page .about-ref-recognition.home-white-reveal-section {
  --white-reveal-color: #ffffff;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #000000 !important;
  color: var(--white-reveal-ink, #ffffff) !important;
}

body.about-rebuilt-page .about-ref-recognition.home-white-reveal-section::before {
  position: absolute;
  inset: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  z-index: 0;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 100% !important;
  pointer-events: none;
  content: "" !important;
  opacity: 1 !important;
  background: var(--white-reveal-color, #ffffff) !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: translate3d(0, var(--white-reveal-y, 106%), 0) !important;
  will-change: transform;
}

body.about-rebuilt-page .about-ref-recognition.home-white-reveal-section::after {
  display: none !important;
  content: none !important;
}

body.about-rebuilt-page .about-ref-recognition.home-white-reveal-section > .container {
  position: relative;
  z-index: 2;
}

body.about-rebuilt-page .about-ref-recognition.home-white-reveal-section .about-ref-recognition__title,
body.about-rebuilt-page .about-ref-recognition.home-white-reveal-section .about-ref-recognition__copy {
  color: var(--white-reveal-ink, #ffffff) !important;
}

body.about-rebuilt-page .about-ref-recognition.home-white-reveal-section .about-ref-recognition__title::after {
  background: currentColor !important;
}

body.about-rebuilt-page .about-ref-recognition.home-white-reveal-section .about-ref-recognition__copy p {
  color: var(--white-reveal-ink, #ffffff) !important;
  opacity: 0.68;
}

body.about-rebuilt-page .about-ref-recognition.home-white-reveal-section .about-ref-recognition__media {
  border-color: var(--white-reveal-border, rgba(255, 255, 255, 0.22)) !important;
  background: rgba(255, 255, 255, 0.035) !important;
}

body.about-rebuilt-page .about-ref-recognition.home-white-reveal-section.is-white-revealed .about-ref-recognition__media {
  border-color: rgba(0, 0, 0, 0.14) !important;
}

/* About page homepage motion pass */
body.about-rebuilt-page {
  --about-motion-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --about-motion-line: rgba(255, 255, 255, 0.58);
  --about-motion-glow: rgba(255, 255, 255, 0.1);
}

body.kpd-interior-page.about-rebuilt-page :is(
  .about-ref-mission-vision,
  .about-ref-message--chairman,
  .about-ref-recognition,
  .about-ref-expertise
).kpd-reveal-target {
  opacity: 1;
  transform: none;
}

body.about-rebuilt-page :is(
  .about-ref-heading,
  .about-ref-recognition__title,
  .about-ref-expertise__head h2
)::after {
  opacity: 0.28;
  transform: scaleX(0.2);
  transform-origin: left center;
  transition:
    opacity 720ms ease,
    transform 980ms var(--about-motion-ease);
}

body.about-rebuilt-page :is(.about-ref-story, .about-ref-message--chairman).is-kpd-visible .about-ref-heading::after,
body.about-rebuilt-page .about-ref-recognition.is-kpd-visible .about-ref-recognition__title::after,
body.about-rebuilt-page .about-ref-recognition__title.is-kpd-visible::after,
body.about-rebuilt-page .about-ref-expertise.is-kpd-visible .about-ref-expertise__head h2::after,
body.about-rebuilt-page .about-ref-expertise__head.is-kpd-visible h2::after {
  opacity: 0.58;
  transform: scaleX(1);
}

body.about-rebuilt-page .about-ref-recognition.home-white-reveal-section.is-white-revealed {
  --about-motion-line: rgba(0, 0, 0, 0.56);
  --about-motion-glow: rgba(0, 0, 0, 0.07);
}

body.about-rebuilt-page :is(
  .about-ref-story__media,
  .about-ref-message__media,
  .about-ref-recognition__media,
  .about-ref-band__item,
  .about-ref-expertise-card
) {
  position: relative;
  overflow: hidden;
  transform: translateZ(0);
  transition:
    opacity 900ms var(--about-motion-ease),
    filter 920ms var(--about-motion-ease),
    transform 980ms var(--about-motion-ease),
    border-color 340ms ease,
    background-color 340ms ease,
    box-shadow 520ms ease;
  will-change: transform, opacity, filter;
}

body.about-rebuilt-page :is(
  .about-ref-story__media,
  .about-ref-message__media,
  .about-ref-recognition__media,
  .about-ref-band__item,
  .about-ref-expertise-card
)::before {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  content: "";
  opacity: 0;
  background:
    repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0 1px, transparent 1px 9px),
    linear-gradient(90deg, transparent 0%, var(--about-motion-glow) 46%, rgba(255, 255, 255, 0.22) 50%, var(--about-motion-glow) 54%, transparent 100%);
  mix-blend-mode: screen;
  transform: translate3d(0, -110%, 0);
}

body.about-rebuilt-page :is(.about-ref-band__item, .about-ref-expertise-card)::before {
  background:
    linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.08) 44%, rgba(255, 255, 255, 0.22) 50%, rgba(255, 255, 255, 0.08) 56%, transparent 100%);
  mix-blend-mode: normal;
}

body.about-rebuilt-page .about-ref-story.is-kpd-visible .about-ref-story__media::before,
body.about-rebuilt-page .about-ref-message--chairman.is-kpd-visible .about-ref-message__media::before,
body.about-rebuilt-page .about-ref-recognition.is-kpd-visible .about-ref-recognition__media::before,
body.about-rebuilt-page .about-ref-mission-vision.is-kpd-visible .about-ref-band__item::before,
body.about-rebuilt-page .about-ref-expertise.is-kpd-visible .about-ref-expertise-card::before,
body.about-rebuilt-page :is(
  .about-ref-story__media,
  .about-ref-message__media,
  .about-ref-recognition__media,
  .about-ref-band__item,
  .about-ref-expertise-card
).kpd-reveal-target.is-kpd-visible::before {
  animation: aboutFutureImageScan 1.55s var(--about-motion-ease) 180ms both;
}

body.about-rebuilt-page .about-ref-message--chairman.is-kpd-visible .about-ref-message__copy,
body.about-rebuilt-page .about-ref-recognition.is-kpd-visible .about-ref-recognition__copy {
  transition-delay: 110ms;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item:nth-child(2),
body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card:nth-child(2) {
  transition-delay: 90ms;
}

body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card:nth-child(3) {
  transition-delay: 170ms;
}

body.about-rebuilt-page .about-ref-expertise-card__icon,
body.about-rebuilt-page .about-ref-expertise-card h3,
body.about-rebuilt-page .about-ref-band__item h2 {
  transition:
    color 320ms ease,
    opacity 320ms ease,
    transform 520ms var(--about-motion-ease);
}

body.about-rebuilt-page .about-ref-expertise-card.is-kpd-visible .about-ref-expertise-card__icon,
body.about-rebuilt-page .about-ref-expertise-card.is-kpd-visible h3,
body.about-rebuilt-page .about-ref-band__item.is-kpd-visible h2 {
  transform: translate3d(0, 0, 0);
}

@media (hover: hover) and (pointer: fine) {
  body.about-rebuilt-page :is(
    .about-ref-story__media,
    .about-ref-message__media,
    .about-ref-recognition__media,
    .about-ref-band__item,
    .about-ref-expertise-card
  ):hover {
    border-color: rgba(255, 255, 255, 0.36) !important;
    box-shadow: 0 26px 70px rgba(0, 0, 0, 0.32), inset 0 0 0 1px rgba(255, 255, 255, 0.04) !important;
    transition-delay: 0ms !important;
    transform: translate3d(0, -8px, 0);
  }

  body.about-rebuilt-page .about-ref-recognition.home-white-reveal-section.is-white-revealed .about-ref-recognition__media:hover {
    border-color: rgba(0, 0, 0, 0.28) !important;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.16) !important;
  }

  body.about-rebuilt-page :is(.about-ref-band__item, .about-ref-expertise-card):hover :is(h2, h3, .about-ref-expertise-card__icon) {
    transform: translate3d(0, -3px, 0);
  }
}

@media (min-width: 992px) {
  body.about-rebuilt-page .about-ref-message--chairman .about-ref-message__grid {
    align-items: center;
  }

  body.about-rebuilt-page .about-ref-message--chairman .about-ref-message__media {
    height: var(--chairman-media-height, auto) !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 5;
  }

  body.about-rebuilt-page .about-ref-message--chairman .about-ref-message__media.is-height-matched img {
    position: static;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

@media (max-width: 991px) {
  body.about-rebuilt-page .about-ref-story > .container {
    min-height: 0;
  }

  body.about-rebuilt-page .about-ref-story__grid {
    grid-template-columns: 1fr !important;
  }

  body.about-rebuilt-page .about-ref-story .about-ref-story__media {
    justify-self: stretch;
    width: 100%;
    margin-right: 0;
    aspect-ratio: 16 / 10;
  }

  body.about-rebuilt-page .about-ref-message--chairman.home-white-reveal-section {
    min-height: auto !important;
  }

  body.about-rebuilt-page .about-ref-message--chairman .about-ref-message__grid {
    grid-template-columns: 1fr;
  }

  body.about-rebuilt-page .about-ref-message--chairman .about-ref-message__media {
    width: 100%;
    max-height: 620px;
  }
}

/* Leadership page rebuild */
body.leadership-page-body {
  --leadership-motion-ease: cubic-bezier(0.16, 1, 0.3, 1);
  background: #000000 !important;
  color: #ffffff !important;
}

body.leadership-page-body #wrapper,
body.leadership-page-body :is(.section-leadership-message, .section-leadership-team, .tf-footer) {
  background: #000000 !important;
  color: #ffffff !important;
}

body.leadership-page-body :is(.home-section-mirror-bg, .home-section-mirror-bg__item, .bg-image-list, .wrap-flip-image),
body.leadership-page-body :is(.section-leadership-message, .section-leadership-team)::before,
body.leadership-page-body :is(.section-leadership-message, .section-leadership-team)::after {
  display: none !important;
  content: none !important;
}

body.leadership-page-body .section-leadership-hero {
  height: 100vh !important;
  min-height: 100svh !important;
  padding: 0 !important;
  background: #000000 !important;
}

body.leadership-page-body .section-leadership-hero .container {
  min-height: 100svh !important;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  padding-top: clamp(116px, 11vw, 172px);
  padding-bottom: clamp(54px, 7vw, 104px);
}

body.leadership-page-body .section-leadership-hero .project-hero-bg video {
  opacity: 1 !important;
  filter: none !important;
  transform: scale(1.01) !important;
  transition: none !important;
}

body.kpd-page-ready.leadership-page-body .section-leadership-hero .project-hero-bg video {
  opacity: 1 !important;
  transform: scale(1.01) !important;
}

body.leadership-page-body .section-leadership-hero .project-hero-shade {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.58) 42%, rgba(0, 0, 0, 0.22) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.88) 100%) !important;
}

body.leadership-page-body .leadership-hero-content {
  max-width: min(100%, 620px);
}

body.leadership-page-body .section-leadership-hero .project-title,
body.leadership-page-body .section-leadership-team .s-header h2 {
  margin: 0 !important;
  color: #ffffff !important;
  font-family: var(--font-main);
  font-size: 40px !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
}

body.leadership-page-body .section-leadership-hero .project-title {
  max-width: none;
}

body.leadership-page-body .section-leadership-team .s-header h2::after {
  display: block;
  width: clamp(84px, 9vw, 132px);
  height: 1px;
  margin-top: clamp(18px, 2.4vw, 28px);
  background: currentColor;
  opacity: 0.28;
  content: "";
  transform: scaleX(0.2);
  transform-origin: left center;
  transition:
    opacity 720ms ease,
    transform 980ms var(--leadership-motion-ease);
}

body.leadership-page-body .section-leadership-team.is-kpd-visible .s-header h2::after,
body.leadership-page-body .section-leadership-team .s-header.is-kpd-visible h2::after {
  opacity: 0.58;
  transform: scaleX(1);
}

body.leadership-page-body .section-leadership-message.flat-spacing,
body.leadership-page-body .section-leadership-team.flat-spacing {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-top: clamp(40px, 6svh, 84px) !important;
  padding-bottom: clamp(40px, 6svh, 84px) !important;
}

body.leadership-page-body .section-leadership-message.flat-spacing {
  min-height: clamp(560px, 74svh, 760px);
  display: flex;
  align-items: center;
}

body.leadership-page-body .section-leadership-message > .container,
body.leadership-page-body .section-leadership-team > .container {
  width: min(1320px, calc(100% - 48px));
  max-width: 1320px;
}

body.leadership-page-body .section-leadership-message .container {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.48fr);
  align-items: stretch;
  gap: clamp(24px, 4vw, 64px);
}

body.leadership-page-body .leadership-message-copy,
body.leadership-page-body .leadership-message-portrait {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 0 !important;
  background: #000000 !important;
  box-shadow: none !important;
}

body.leadership-page-body .leadership-message-copy {
  display: grid;
  gap: clamp(18px, 2.3vw, 30px);
  max-width: none;
  padding: clamp(28px, 3.2vw, 48px);
}

body.leadership-page-body .leadership-message-eyebrow,
body.leadership-page-body .leadership-card-index,
body.leadership-page-body .leadership-card-role,
body.leadership-page-body .leadership-message-name,
body.leadership-page-body .leadership-message-role {
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.66) !important;
  font-size: var(--nav) !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

body.leadership-page-body .leadership-message-quote {
  max-width: 30ch;
  margin: 0 !important;
  color: #ffffff !important;
  font-size: clamp(25px, 2.8vw, 42px) !important;
  font-weight: 300 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.025em !important;
  text-transform: none !important;
}

body.leadership-page-body .leadership-message-meta {
  display: grid;
  gap: 6px;
  padding-top: clamp(18px, 2vw, 28px);
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

body.leadership-page-body .leadership-message-name {
  color: #ffffff !important;
}

body.leadership-page-body .leadership-message-portrait {
  position: relative;
  align-self: stretch;
  height: var(--leadership-message-card-height, auto);
  min-height: 0;
  display: block;
  background: #050505 !important;
}

body.leadership-page-body .leadership-message-portrait img {
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  filter: none !important;
}

body.leadership-page-body .section-leadership-team .s-header {
  margin-bottom: clamp(28px, 4vw, 56px);
}

body.leadership-page-body .leadership-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

body.leadership-page-body .leadership-card {
  min-height: clamp(520px, 42vw, 650px);
  border-color: rgba(255, 255, 255, 0.18) !important;
  border-radius: 0 !important;
  background: #050505 !important;
  box-shadow: none !important;
  transition:
    border-color 340ms ease,
    box-shadow 520ms ease,
    transform 900ms var(--leadership-motion-ease);
}

body.leadership-page-body .leadership-card-content {
  min-height: clamp(520px, 42vw, 650px);
  padding: clamp(22px, 2.2vw, 32px);
}

body.leadership-page-body .leadership-card::before {
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.42) 48%, rgba(0, 0, 0, 0.94) 100%);
}

body.leadership-page-body .leadership-card::after,
body.leadership-page-body .leadership-message-portrait::before {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  content: "";
  opacity: 0;
  background:
    repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0 1px, transparent 1px 9px),
    linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.08) 44%, rgba(255, 255, 255, 0.22) 50%, rgba(255, 255, 255, 0.08) 56%, transparent 100%);
  mix-blend-mode: screen;
  transform: translate3d(0, -110%, 0);
}

body.leadership-page-body .leadership-card-media img {
  filter: none !important;
  transform: scale(1.01);
  transition:
    filter 700ms ease,
    transform 900ms var(--leadership-motion-ease);
}

body.leadership-page-body .leadership-card-name {
  margin: 0 !important;
  color: #ffffff !important;
  font-size: clamp(22px, 1.7vw, 28px) !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.025em !important;
  text-transform: none !important;
}

body.leadership-page-body .leadership-card-bio p {
  color: rgba(255, 255, 255, 0.68) !important;
  font-size: var(--body) !important;
  font-weight: 300 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
}

body.leadership-page-body .leadership-card.is-kpd-visible::after,
body.leadership-page-body .leadership-message-portrait.is-kpd-visible::before {
  animation: aboutFutureImageScan 1.55s var(--leadership-motion-ease) 180ms both;
}

body.leadership-page-body .leadership-card:nth-child(2) {
  transition-delay: 80ms;
}

body.leadership-page-body .leadership-card:nth-child(3) {
  transition-delay: 150ms;
}

body.kpd-interior-page.leadership-page-body :is(.section-leadership-message, .section-leadership-team).kpd-reveal-target {
  opacity: 1;
  transform: none;
}

@media (hover: hover) and (pointer: fine) {
  body.leadership-page-body .leadership-card:hover,
  body.leadership-page-body .leadership-card:focus-visible,
  body.leadership-page-body .leadership-card:focus-within,
  body.leadership-page-body .leadership-message-portrait:hover {
    border-color: rgba(255, 255, 255, 0.36) !important;
    box-shadow: 0 26px 70px rgba(0, 0, 0, 0.32), inset 0 0 0 1px rgba(255, 255, 255, 0.04) !important;
    transition-delay: 0ms !important;
    transform: translate3d(0, -8px, 0);
  }

  body.leadership-page-body .leadership-card:hover::before,
  body.leadership-page-body .leadership-card:focus-visible::before,
  body.leadership-page-body .leadership-card:focus-within::before {
    background:
      linear-gradient(180deg, rgba(0, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.56) 42%, rgba(0, 0, 0, 0.98) 100%);
  }

  body.leadership-page-body .leadership-card:hover .leadership-card-media img,
  body.leadership-page-body .leadership-card:focus-visible .leadership-card-media img,
  body.leadership-page-body .leadership-card:focus-within .leadership-card-media img {
    filter: none !important;
    transform: scale(1.045);
  }
}

@media (max-width: 1199px) {
  body.leadership-page-body .leadership-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.leadership-page-body .section-leadership-message .container {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.62fr);
  }
}

@media (max-width: 767px) {
  body.leadership-page-body .section-leadership-hero .container {
    padding-top: 128px;
    padding-bottom: 42px;
  }

  body.leadership-page-body .section-leadership-message .container,
  body.leadership-page-body .leadership-grid {
    grid-template-columns: 1fr;
  }

  body.leadership-page-body .leadership-message-portrait {
    min-height: 460px;
  }

  body.leadership-page-body .leadership-card,
  body.leadership-page-body .leadership-card-content {
    min-height: 500px;
  }

  body.leadership-page-body .leadership-card-bio {
    max-height: none;
    opacity: 1;
    transform: none;
    margin-top: 10px;
  }
}

/* Legacy page Villa 23 hero */
body.legacy-page-body .section-legacy-video-hero {
  height: 100vh !important;
  min-height: 100svh !important;
  padding: 0 !important;
  background: #000000 !important;
}

body.legacy-page-body .section-legacy-video-hero .container {
  min-height: 100svh !important;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  padding-top: clamp(116px, 11vw, 172px);
  padding-bottom: clamp(54px, 7vw, 104px);
}

body.legacy-page-body .section-legacy-video-hero .project-hero-bg video {
  opacity: 1 !important;
  filter: none !important;
  transform: scale(1.01) !important;
  transition: none !important;
}

body.kpd-page-ready.legacy-page-body .section-legacy-video-hero .project-hero-bg video {
  opacity: 1 !important;
  transform: scale(1.01) !important;
}

body.legacy-page-body .section-legacy-video-hero .project-hero-shade {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.58) 42%, rgba(0, 0, 0, 0.22) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.88) 100%) !important;
}

body.legacy-page-body .section-legacy-video-hero .legacy-hero-content {
  max-width: min(100%, 620px);
}

body.legacy-page-body .section-legacy-video-hero .project-title {
  margin: 0 !important;
  max-width: none;
  color: #ffffff !important;
  font-family: var(--font-main);
  font-size: 40px !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
}

/* Legacy page post-hero plain black pass */
body.legacy-page-body,
body.legacy-page-body #wrapper,
body.legacy-page-body :is(.section-legacy-timeline, .tf-footer) {
  background: #000000 !important;
  background-color: #000000 !important;
  background-image: none !important;
  color: #ffffff !important;
}

body.legacy-page-body :is(.section-legacy-timeline, .tf-footer).home-mirror-section {
  background: #000000 !important;
}

body.legacy-page-body :is(.section-legacy-timeline, .tf-footer)::before,
body.legacy-page-body :is(.section-legacy-timeline, .tf-footer)::after,
body.legacy-page-body :is(.section-legacy-timeline, .tf-footer) > .home-section-mirror-bg,
body.legacy-page-body :is(.section-legacy-timeline, .tf-footer) .home-section-mirror-bg,
body.legacy-page-body :is(.section-legacy-timeline, .tf-footer) .home-section-mirror-bg::before,
body.legacy-page-body :is(.section-legacy-timeline, .tf-footer) .home-section-mirror-bg::after,
body.legacy-page-body :is(.section-legacy-timeline, .tf-footer) .home-section-mirror-bg__item,
body.legacy-page-body :is(.section-legacy-timeline, .tf-footer) .bg-image-list,
body.legacy-page-body :is(.section-legacy-timeline, .tf-footer) .wrap-flip-image {
  display: none !important;
  content: none !important;
  background: none !important;
  background-image: none !important;
}

body.legacy-page-body .legacy-react-panel {
  display: grid !important;
  grid-template-rows: 0fr !important;
  opacity: 0 !important;
  transition:
    grid-template-rows 760ms cubic-bezier(0.16, 1, 0.3, 1),
    opacity 460ms ease !important;
}

body.legacy-page-body .legacy-react-card.is-current > .legacy-react-panel {
  grid-template-rows: 1fr !important;
  opacity: 1 !important;
}

body.legacy-page-body .legacy-react-panel-inner {
  min-height: 0 !important;
  overflow: hidden !important;
}

/* Contact page Villa 23 theme pass */
body.contact-page-body,
body.contact-page-body #wrapper {
  background: #000000 !important;
  color: #ffffff !important;
}

body.contact-page-body :is(.home-section-mirror-bg, .home-section-mirror-bg__item, .bg-image-list, .wrap-flip-image),
body.contact-page-body :is(.section-contact-routes, .section-contact-locations, .section-contact-inquiry, .tf-footer) > .home-section-mirror-bg {
  display: none !important;
  content: none !important;
  background: none !important;
  background-image: none !important;
}

body.contact-page-body .section-contact-hero {
  height: 100vh !important;
  min-height: 100svh !important;
  display: flex;
  align-items: flex-end;
  padding: 0 !important;
  background: #000000 !important;
}

body.contact-page-body .section-contact-hero .container {
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-top: clamp(120px, 15svh, 180px);
  padding-bottom: clamp(52px, 8svh, 94px);
}

body.contact-page-body .section-contact-hero .project-hero-top {
  position: absolute;
  top: clamp(108px, 13svh, 160px);
  left: var(--bs-gutter-x, 12px);
  margin: 0;
}

body.contact-page-body .section-contact-hero .project-hero-bg img {
  object-position: center;
  opacity: 0.82;
  filter: none !important;
}

body.contact-page-body .section-contact-hero .project-hero-shade {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.94) 0%, rgba(0, 0, 0, 0.64) 48%, rgba(0, 0, 0, 0.24) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.82) 100%) !important;
}

body.contact-page-body .contact-hero-content {
  display: grid;
  gap: 14px;
  max-width: 680px;
}

body.contact-page-body .contact-hero-kicker {
  margin: 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: var(--label);
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.2;
  text-transform: uppercase;
}

body.contact-page-body .section-contact-hero .project-title {
  margin: 0 !important;
  max-width: none;
  color: #ffffff !important;
  font-family: var(--font-main);
  font-size: 40px !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
}

body.contact-page-body :is(.section-contact-routes, .section-contact-locations, .section-contact-inquiry, .tf-footer) {
  background: #000000 !important;
  color: #ffffff !important;
  overflow: hidden;
}

body.contact-page-body :is(.section-contact-routes, .section-contact-locations, .section-contact-inquiry, .tf-footer)::before,
body.contact-page-body :is(.section-contact-routes, .section-contact-locations, .section-contact-inquiry, .tf-footer)::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

body.contact-page-body :is(.section-contact-routes, .section-contact-locations, .section-contact-inquiry, .tf-footer) > .container {
  width: min(var(--kpd-container-width), calc(100vw - clamp(40px, 5vw, 120px)));
  max-width: none;
}

body.contact-page-body .section-contact-routes {
  padding-top: clamp(72px, 8vw, 128px) !important;
  padding-bottom: clamp(72px, 8vw, 128px) !important;
}

body.contact-page-body .contact-section-head {
  margin-bottom: clamp(24px, 3vw, 42px) !important;
}

body.contact-page-body .contact-section-head .title {
  margin: 0;
  color: #ffffff !important;
  font-size: 40px !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
}

body.contact-page-body .contact-route-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 1.2vw, 20px);
}

body.contact-page-body .contact-process-link {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: clamp(16px, 1.8vw, 26px);
  min-height: clamp(180px, 15vw, 230px);
  padding: clamp(20px, 2vw, 30px);
  border: 1px solid rgba(255, 255, 255, 0.16);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.014)),
    #050505;
  color: #ffffff !important;
  transform: translateZ(0);
  transition:
    border-color 260ms ease,
    background-color 260ms ease,
    color 260ms ease,
    transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

body.contact-page-body .contact-process-link::before {
  position: absolute;
  inset: -1px;
  z-index: -1;
  content: "";
  opacity: 0;
  background: #ffffff;
  transform: scaleY(0);
  transform-origin: bottom;
  transition:
    opacity 260ms ease,
    transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

body.contact-page-body .contact-process-link:hover,
body.contact-page-body .contact-process-link:focus-visible {
  border-color: #ffffff;
  color: #000000 !important;
  transform: translateY(-6px);
}

body.contact-page-body .contact-process-link:hover::before,
body.contact-page-body .contact-process-link:focus-visible::before {
  opacity: 1;
  transform: scaleY(1);
}

body.contact-page-body .contact-process-number {
  min-width: auto;
  color: currentColor;
  font-size: clamp(24px, 2.4vw, 36px);
  font-weight: 300;
  line-height: 1;
  letter-spacing: -0.025em;
}

body.contact-page-body .contact-process-copy {
  align-self: end;
  gap: clamp(10px, 1vw, 14px);
}

body.contact-page-body .contact-process-copy h3 {
  margin: 0;
  color: currentColor;
  font-size: clamp(20px, 1.6vw, 28px);
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: -0.025em;
}

body.contact-page-body .contact-process-copy p {
  margin: 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: var(--body);
  font-weight: 300;
  line-height: 1.55;
  letter-spacing: 0;
  transition: color 260ms ease;
}

body.contact-page-body .contact-process-link:hover .contact-process-copy p,
body.contact-page-body .contact-process-link:focus-visible .contact-process-copy p {
  color: rgba(0, 0, 0, 0.68);
}

body.contact-page-body .contact-process-meta {
  color: rgba(255, 255, 255, 0.46);
  font-size: var(--label);
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.35;
  transition: color 260ms ease;
}

body.contact-page-body .contact-process-link:hover .contact-process-meta,
body.contact-page-body .contact-process-link:focus-visible .contact-process-meta {
  color: rgba(0, 0, 0, 0.58);
}

body.contact-page-body .section-contact-locations {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.contact-page-body .contact-location-stack {
  gap: 0;
}

body.contact-page-body .contact-location-card {
  min-height: clamp(520px, 56vw, 760px) !important;
  border-color: rgba(255, 255, 255, 0.16);
  background: #000000 !important;
}

body.contact-page-body .contact-location-title {
  color: #ffffff !important;
  font-size: 40px !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
}

body.contact-page-body .contact-location-text {
  color: rgba(255, 255, 255, 0.68);
  font-size: var(--body);
  font-weight: 300;
  line-height: 1.65;
  letter-spacing: 0;
}

body.contact-page-body .contact-location-row strong {
  color: #ffffff;
  font-size: var(--body);
  font-weight: 300;
  letter-spacing: 0;
}

body.contact-page-body .contact-location-media iframe {
  filter: grayscale(1) saturate(0) contrast(1.05) brightness(0.88) !important;
  opacity: 1 !important;
}

body.contact-page-body .contact-location-actions .tf-btn {
  min-height: 46px;
  border-color: rgba(255, 255, 255, 0.42) !important;
  background: transparent !important;
  color: #ffffff !important;
}

body.contact-page-body .contact-location-actions .tf-btn::before {
  background: #ffffff !important;
}

body.contact-page-body .contact-location-actions .tf-btn:hover,
body.contact-page-body .contact-location-actions .tf-btn:focus-visible {
  border-color: #ffffff !important;
  color: #000000 !important;
}

body.contact-page-body .section-contact-inquiry {
  min-height: 0 !important;
  display: block !important;
  padding-top: clamp(46px, 5.2vw, 78px) !important;
  padding-bottom: clamp(46px, 5.2vw, 78px) !important;
  background: #f3f3f3 !important;
  color: #000000 !important;
  isolation: isolate;
}

body.contact-page-body .contact-inquiry-shell {
  display: grid;
  grid-template-columns: minmax(220px, 0.44fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 68px);
  align-items: start;
}

body.contact-page-body .contact-inquiry-copy {
  display: grid;
  gap: clamp(14px, 1.5vw, 22px);
  padding-top: 4px;
}

body.contact-page-body .contact-inquiry-copy h2 {
  margin: 0;
  color: inherit !important;
}

body.contact-page-body .contact-inquiry-copy p {
  max-width: 32ch;
  margin: 0;
  color: inherit;
  opacity: 0.72;
  font-size: var(--body);
  font-weight: 300;
  line-height: 1.65;
}

body.contact-page-body .contact-react-root {
  min-height: 0;
}

.contact-react-form {
  display: grid;
  gap: clamp(12px, 1.05vw, 17px);
  width: min(100%, 760px);
  padding: 0;
  color: #000000;
}

.contact-form-modes {
  display: grid;
  gap: 12px;
  padding: 0;
  margin: 0;
  border: 0;
}

.contact-form-modes legend {
  padding: 0;
  color: #000000;
  font-size: var(--body);
  font-weight: 500;
  line-height: 1.2;
}

.contact-form-modes legend span {
  color: #000000;
}

.contact-form-mode-grid,
.contact-form-grid {
  display: grid;
  gap: clamp(12px, 1.1vw, 18px);
}

.contact-form-mode-grid,
.contact-form-grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contact-form-mode {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 54px;
  padding: 13px 24px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  background: rgba(255, 255, 255, 0.7);
  color: #000000;
  cursor: pointer;
  transition:
    border-color 220ms ease,
    background-color 220ms ease,
    transform 420ms cubic-bezier(0.16, 1, 0.3, 1);
}

.contact-form-mode:hover,
.contact-form-mode.is-selected {
  border-color: #000000;
  background: #ffffff;
  transform: translateY(-2px);
}

.contact-form-mode input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.contact-form-mode span {
  font-size: var(--body);
  font-weight: 500;
  line-height: 1.2;
}

.contact-form-mode i {
  width: 14px;
  height: 14px;
  border: 1px solid rgba(0, 0, 0, 0.55);
  border-radius: 999px;
}

.contact-form-mode.is-selected i {
  border: 4px solid #000000;
}

.contact-form-field {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 48px;
}

body.contact-page-body .contact-react-form .contact-form-field input,
body.contact-page-body .contact-react-form .contact-form-field select {
  width: 100%;
  min-height: 48px;
  padding: 0 24px !important;
  border: 1px solid rgba(0, 0, 0, 0.36);
  border-radius: 0;
  background: rgba(255, 255, 255, 0.82) !important;
  color: #000000 !important;
  font: inherit;
  font-size: var(--body);
  font-weight: 400;
  letter-spacing: 0;
  outline: 0;
  transition:
    border-color 220ms ease,
    background-color 220ms ease,
    box-shadow 220ms ease;
}

body.contact-page-body .contact-react-form .contact-form-field input::placeholder {
  color: rgba(0, 0, 0, 0.46) !important;
  opacity: 1;
}

body.contact-page-body .contact-react-form .contact-form-field select {
  appearance: none;
  color: rgba(0, 0, 0, 0.56) !important;
}

body.contact-page-body .contact-react-form .contact-form-field input:focus,
body.contact-page-body .contact-react-form .contact-form-field select:focus {
  border-color: #000000;
  background: #ffffff;
  box-shadow: 0 0 0 1px #000000;
}

.contact-form-phone-row {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 10px;
}

.contact-form-code {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  min-height: 48px;
  padding: 0 12px;
  border: 1px solid rgba(0, 0, 0, 0.36);
  background: rgba(255, 255, 255, 0.82);
}

.contact-form-code select {
  min-height: 46px;
  padding: 0 14px 0 8px;
  border: 0;
  background: transparent;
  box-shadow: none;
  font-size: 14px;
}

.contact-form-code select:focus {
  box-shadow: none;
}

.contact-form-flag {
  width: 22px;
  height: 14px;
  border: 1px solid rgba(0, 0, 0, 0.18);
  background:
    linear-gradient(90deg, #e11d2e 0 24%, transparent 24%),
    linear-gradient(180deg, #009b5a 0 33.33%, #ffffff 33.33% 66.66%, #000000 66.66%);
}

.contact-form-select__chevron {
  position: absolute;
  top: 50%;
  right: 28px;
  width: 10px;
  height: 10px;
  border-right: 1px solid rgba(0, 0, 0, 0.45);
  border-bottom: 1px solid rgba(0, 0, 0, 0.45);
  pointer-events: none;
  transform: translateY(-64%) rotate(45deg);
}

.contact-form-code .contact-form-select__chevron {
  position: static;
  transform: translateY(-2px) rotate(45deg);
}

.contact-form-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: #000000;
  font-size: var(--body);
  line-height: 1.4;
}

.contact-form-check input {
  width: 17px;
  height: 17px;
  margin-top: 1px;
  accent-color: #000000;
}

.contact-form-check a {
  color: #000000;
  text-decoration: underline;
}

.contact-form-submit-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  min-height: 44px;
}

.contact-form-submit {
  min-width: 160px;
  min-height: 44px;
  border-color: #000000 !important;
  border-radius: 999px;
  background: transparent !important;
  color: #000000 !important;
  font-size: var(--nav);
  font-weight: 700;
  letter-spacing: 0.24em;
}

.contact-form-submit::before {
  background: #000000 !important;
}

.contact-form-submit:hover,
.contact-form-submit:focus-visible {
  color: #ffffff !important;
}

.contact-form-submit-row p {
  min-height: 1.4em;
  margin: 0;
  color: rgba(0, 0, 0, 0.58);
  font-size: var(--label);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.4;
  text-transform: uppercase;
}

body.contact-page-body .section-contact-inquiry.home-white-reveal-section {
  --white-reveal-color: #f3f3f3;
  background: #000000 !important;
  color: var(--white-reveal-ink, #ffffff) !important;
}

body.contact-page-body .section-contact-inquiry.home-white-reveal-section::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block !important;
  pointer-events: none;
  content: "" !important;
  opacity: 1 !important;
  background: var(--white-reveal-color, #f3f3f3) !important;
  transform: translate3d(0, var(--white-reveal-y, 106%), 0) !important;
  will-change: transform;
}

body.contact-page-body .section-contact-inquiry.home-white-reveal-section > .container {
  position: relative;
  z-index: 2;
}

body.contact-page-body .section-contact-inquiry.home-white-reveal-section .contact-inquiry-copy h2,
body.contact-page-body .section-contact-inquiry.home-white-reveal-section .contact-inquiry-copy p,
body.contact-page-body .section-contact-inquiry.home-white-reveal-section .contact-form-modes legend,
body.contact-page-body .section-contact-inquiry.home-white-reveal-section .contact-form-check,
body.contact-page-body .section-contact-inquiry.home-white-reveal-section .contact-form-check a {
  color: var(--white-reveal-ink, #ffffff) !important;
  -webkit-text-fill-color: var(--white-reveal-ink, #ffffff) !important;
  transition:
    color 260ms ease,
    -webkit-text-fill-color 260ms ease;
}

html body.contact-page-body .section-contact-inquiry.home-white-reveal-section:not(.is-white-revealed) .contact-inquiry-copy h2,
html body.contact-page-body .section-contact-inquiry.home-white-reveal-section:not(.is-white-revealed) .contact-inquiry-copy p,
html body.contact-page-body .section-contact-inquiry.home-white-reveal-section:not(.is-white-revealed) .contact-form-modes legend,
html body.contact-page-body .section-contact-inquiry.home-white-reveal-section:not(.is-white-revealed) .contact-form-check,
html body.contact-page-body .section-contact-inquiry.home-white-reveal-section:not(.is-white-revealed) .contact-form-check a {
  color: var(--white-reveal-ink, #ffffff) !important;
}

body.contact-page-body #contactScroll.home-white-reveal-section:not(.is-white-revealed) .contact-inquiry-copy h2,
body.contact-page-body #contactScroll.home-white-reveal-section:not(.is-white-revealed) .contact-inquiry-copy p {
  color: var(--white-reveal-ink, #ffffff) !important;
  -webkit-text-fill-color: var(--white-reveal-ink, #ffffff) !important;
}

body.contact-page-body .section-contact-inquiry.home-white-reveal-section .contact-form-mode,
body.contact-page-body .section-contact-inquiry.home-white-reveal-section .contact-react-form .contact-form-field input,
body.contact-page-body .section-contact-inquiry.home-white-reveal-section .contact-react-form .contact-form-field select,
body.contact-page-body .section-contact-inquiry.home-white-reveal-section .contact-form-code {
  border-color: var(--white-reveal-border, rgba(255, 255, 255, 0.28)) !important;
  background: var(--white-reveal-surface, rgba(0, 0, 0, 0.16)) !important;
  color: var(--white-reveal-ink, #ffffff) !important;
  transition:
    border-color 260ms ease,
    background-color 260ms ease,
    color 260ms ease,
    box-shadow 260ms ease,
    transform 420ms cubic-bezier(0.16, 1, 0.3, 1);
}

body.contact-page-body .section-contact-inquiry.home-white-reveal-section .contact-react-form .contact-form-field input::placeholder {
  color: var(--white-reveal-ink, rgba(255, 255, 255, 0.66)) !important;
  opacity: 0.58;
}

body.contact-page-body .section-contact-inquiry.home-white-reveal-section .contact-form-select__chevron {
  border-color: var(--white-reveal-border, rgba(255, 255, 255, 0.44)) !important;
}

body.contact-page-body .section-contact-inquiry.home-white-reveal-section .contact-form-mode i,
body.contact-page-body .section-contact-inquiry.home-white-reveal-section .contact-form-check input {
  border-color: var(--white-reveal-ink, #ffffff) !important;
}

body.contact-page-body .section-contact-inquiry.home-white-reveal-section.is-white-revealed,
body.contact-page-body .section-contact-inquiry.home-white-reveal-section.is-white-revealed .contact-react-form {
  color: #000000 !important;
}

body.contact-page-body .section-contact-inquiry.home-white-reveal-section.is-white-revealed .contact-inquiry-copy h2,
body.contact-page-body .section-contact-inquiry.home-white-reveal-section.is-white-revealed .contact-form-modes legend,
body.contact-page-body .section-contact-inquiry.home-white-reveal-section.is-white-revealed .contact-form-check,
body.contact-page-body .section-contact-inquiry.home-white-reveal-section.is-white-revealed .contact-form-check a {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

body.contact-page-body .section-contact-inquiry.home-white-reveal-section.is-white-revealed .contact-inquiry-copy p,
body.contact-page-body .section-contact-inquiry.home-white-reveal-section.is-white-revealed .contact-form-submit-row p {
  color: rgba(0, 0, 0, 0.62) !important;
  -webkit-text-fill-color: rgba(0, 0, 0, 0.62) !important;
}

body.contact-page-body .section-contact-inquiry.home-white-reveal-section.is-white-revealed .contact-form-mode,
body.contact-page-body .section-contact-inquiry.home-white-reveal-section.is-white-revealed .contact-react-form .contact-form-field input,
body.contact-page-body .section-contact-inquiry.home-white-reveal-section.is-white-revealed .contact-react-form .contact-form-field select,
body.contact-page-body .section-contact-inquiry.home-white-reveal-section.is-white-revealed .contact-form-code {
  border-color: rgba(0, 0, 0, 0.36) !important;
  background: rgba(255, 255, 255, 0.82) !important;
  color: #000000 !important;
}

body.contact-page-body .section-contact-inquiry.home-white-reveal-section.is-white-revealed .contact-react-form .contact-form-field input::placeholder {
  color: rgba(0, 0, 0, 0.46) !important;
  opacity: 1;
}

body.contact-page-body .section-contact-inquiry.home-white-reveal-section.is-white-revealed .contact-form-select__chevron {
  border-color: rgba(0, 0, 0, 0.45) !important;
}

body.contact-page-body .section-contact-inquiry.home-white-reveal-section.is-white-revealed .contact-form-submit {
  border-color: #000000 !important;
  color: #000000 !important;
}

body.contact-page-body .kpd-reveal-target:is(.contact-process-item, .contact-inquiry-shell, .contact-react-root) {
  opacity: 0;
  filter: blur(10px);
  transform: translate3d(0, 32px, 0);
  transition:
    opacity 760ms ease,
    filter 900ms ease,
    transform 980ms cubic-bezier(0.16, 1, 0.3, 1);
}

body.contact-page-body .kpd-reveal-target:is(.contact-process-item, .contact-inquiry-shell, .contact-react-root).is-kpd-visible {
  opacity: 1;
  filter: blur(0);
  transform: translate3d(0, 0, 0);
}

@media (max-width: 991px) {
  body.contact-page-body .contact-route-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.contact-page-body .contact-inquiry-shell {
    grid-template-columns: 1fr;
  }

  body.contact-page-body .contact-location-card,
  body.contact-page-body .contact-location-card--office {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-height: clamp(520px, 56vw, 760px) !important;
  }

  body.contact-page-body .contact-location-media {
    min-height: 0;
  }

  .contact-react-form {
    width: 100%;
  }
}

@media (max-width: 767px) {
  body.contact-page-body .section-contact-hero .container {
    padding-bottom: 48px;
  }

  body.contact-page-body .section-contact-hero .project-hero-top {
    top: 104px;
  }

  body.contact-page-body .contact-route-grid,
  .contact-form-mode-grid,
  .contact-form-grid--two,
  .contact-form-phone-row {
    grid-template-columns: 1fr;
  }

  body.contact-page-body .contact-location-card,
  body.contact-page-body .contact-location-card--office {
    grid-template-columns: 1fr;
    min-height: auto !important;
  }

  body.contact-page-body .contact-process-link {
    min-height: 0;
  }

  body.contact-page-body .contact-location-media {
    min-height: 340px;
  }
}

@media (max-width: 767px) {
  body.legacy-page-body .section-legacy-video-hero .container {
    padding-top: 128px;
    padding-bottom: 42px;
  }
}

/* Media, blog, events, and investor pages: align with the homepage / Villa visual system. */
body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) {
  --media-light: #f3f3f3;
  --media-black: #000000;
  --media-line-dark: rgba(0, 0, 0, 0.18);
  --media-line-light: rgba(255, 255, 255, 0.16);
  --media-muted-light: rgba(255, 255, 255, 0.66);
  --media-muted-dark: rgba(0, 0, 0, 0.62);
  background: #000000 !important;
  color: #ffffff;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) #wrapper {
  background: #000000 !important;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) .cursor-trail,
body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) .home-section-mirror-bg {
  display: none !important;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) :is(
  .section-project-hero,
  .section-project-hero .container
) {
  min-height: 100vh !important;
  min-height: 100svh !important;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) .section-project-hero {
  display: flex !important;
  align-items: flex-end !important;
  height: 100vh !important;
  height: 100svh !important;
  padding: 0 !important;
  background: #000000 !important;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) .section-project-hero .container {
  width: min(var(--kpd-container-width), calc(100vw - clamp(40px, 5vw, 120px)));
  max-width: none;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-top: clamp(120px, 15svh, 180px);
  padding-bottom: clamp(52px, 8svh, 94px);
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) .section-project-hero .project-hero-top {
  position: absolute;
  top: clamp(108px, 13svh, 160px);
  left: var(--bs-gutter-x, 12px);
  margin: 0;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) .section-project-hero .project-hero-bg img {
  opacity: 0.86 !important;
  filter: none !important;
  transform: scale(1.045);
  object-position: center;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) .section-project-hero .project-hero-shade {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.94) 0%, rgba(0, 0, 0, 0.64) 48%, rgba(0, 0, 0, 0.24) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.84) 100%) !important;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) .section-project-hero .project-title {
  max-width: none !important;
  margin: 0 !important;
  color: #ffffff !important;
  font-size: 40px !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) :is(
  .section-news-atlas,
  .section-blog,
  .section-events-schedule,
  .section-investor-guide-intro,
  .section-investor-guide-drivers,
  .section-investor-guide-yields,
  .section-investor-guide-advantages,
  .section-investor-guide-opportunities
) {
  overflow: hidden;
  background: #000000 !important;
  color: #ffffff;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) :is(
  .section-news-atlas,
  .section-blog,
  .section-events-schedule,
  .section-investor-guide-intro,
  .section-investor-guide-drivers,
  .section-investor-guide-yields,
  .section-investor-guide-advantages,
  .section-investor-guide-opportunities
) > .container {
  width: min(var(--kpd-container-width), calc(100vw - clamp(40px, 5vw, 120px)));
  max-width: none;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) :is(
  .section-news-atlas,
  .section-blog,
  .section-events-schedule,
  .section-investor-guide-intro,
  .section-investor-guide-yields,
  .section-investor-guide-opportunities
).home-white-reveal-section {
  --white-reveal-color: var(--media-light);
  position: relative;
  isolation: isolate;
  background: #000000 !important;
  color: var(--white-reveal-ink, #ffffff) !important;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) :is(
  .section-news-atlas,
  .section-blog,
  .section-events-schedule,
  .section-investor-guide-intro,
  .section-investor-guide-yields,
  .section-investor-guide-opportunities
).home-white-reveal-section::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block !important;
  pointer-events: none;
  content: "" !important;
  opacity: 1 !important;
  background: var(--white-reveal-color, #f3f3f3) !important;
  transform: translate3d(0, var(--white-reveal-y, 106%), 0) !important;
  will-change: transform;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) :is(
  .section-news-atlas,
  .section-blog,
  .section-events-schedule,
  .section-investor-guide-intro,
  .section-investor-guide-yields,
  .section-investor-guide-opportunities
).home-white-reveal-section > .container {
  position: relative;
  z-index: 2;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) :is(
  .section-news-atlas,
  .section-blog,
  .section-events-schedule,
  .section-investor-guide-intro,
  .section-investor-guide-yields,
  .section-investor-guide-opportunities
).home-white-reveal-section :is(
  h2,
  h3,
  h4,
  h5,
  h6,
  .title,
  .infor_name,
  .event-card__title,
  .investor-guide-intro__title,
  .investor-guide-inquiry__title,
  .investor-guide-section-head h2,
  .events-schedule-block__title,
  .text-caption
) {
  color: var(--white-reveal-ink, #ffffff) !important;
  -webkit-text-fill-color: var(--white-reveal-ink, #ffffff) !important;
  transition:
    color 260ms ease,
    -webkit-text-fill-color 260ms ease,
    border-color 260ms ease;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) :is(
  .section-news-atlas,
  .section-blog,
  .section-events-schedule,
  .section-investor-guide-intro,
  .section-investor-guide-yields,
  .section-investor-guide-opportunities
).home-white-reveal-section .tf-btn {
  border-color: var(--white-reveal-border, rgba(255, 255, 255, 0.28)) !important;
  color: var(--white-reveal-ink, #ffffff) !important;
  -webkit-text-fill-color: var(--white-reveal-ink, #ffffff) !important;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) :is(
  .section-news-atlas,
  .section-blog,
  .section-events-schedule,
  .section-investor-guide-intro,
  .section-investor-guide-yields,
  .section-investor-guide-opportunities
).home-white-reveal-section .tf-btn::before {
  background: var(--white-reveal-ink, #ffffff) !important;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) :is(
  .section-news-atlas,
  .section-blog,
  .section-events-schedule,
  .section-investor-guide-intro,
  .section-investor-guide-yields,
  .section-investor-guide-opportunities
).home-white-reveal-section .tf-btn:hover,
body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) :is(
  .section-news-atlas,
  .section-blog,
  .section-events-schedule,
  .section-investor-guide-intro,
  .section-investor-guide-yields,
  .section-investor-guide-opportunities
).home-white-reveal-section .tf-btn:focus-visible {
  border-color: var(--white-reveal-ink, #ffffff) !important;
  color: var(--white-reveal-inverse, #000000) !important;
  -webkit-text-fill-color: var(--white-reveal-inverse, #000000) !important;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) :is(
  .section-news-atlas,
  .section-blog,
  .section-events-schedule,
  .section-investor-guide-intro,
  .section-investor-guide-yields,
  .section-investor-guide-opportunities
).home-white-reveal-section :is(
  p,
  .text-white-64,
  .text-body-1.text-white-64,
  .text-body-2.text-white-64,
  .infor_sub,
  .event-card__meta,
  .event-card__details,
  .event-card__location,
  .investor-guide-stat-card p,
  .investor-guide-driver-card p,
  .investor-guide-opportunity-card p,
  .investor-guide-yield-trend
) {
  color: var(--white-reveal-muted, rgba(255, 255, 255, 0.68)) !important;
  -webkit-text-fill-color: var(--white-reveal-muted, rgba(255, 255, 255, 0.68)) !important;
  transition:
    color 260ms ease,
    -webkit-text-fill-color 260ms ease;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) :is(
  .section-news-atlas,
  .section-blog,
  .section-events-schedule,
  .section-investor-guide-intro,
  .section-investor-guide-yields,
  .section-investor-guide-opportunities
).home-white-reveal-section :is(
  .article-blog,
  .event-card,
  .investor-guide-stat-card,
  .investor-guide-side-card,
  .investor-guide-opportunity-card,
  .investor-guide-inquiry,
  .investor-guide-yields__table-shell
) {
  border-color: var(--white-reveal-border, rgba(255, 255, 255, 0.24)) !important;
  background: var(--white-reveal-surface, rgba(0, 0, 0, 0.16)) !important;
  color: var(--white-reveal-ink, #ffffff) !important;
  backdrop-filter: none !important;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) :is(
  .section-news-atlas,
  .section-blog,
  .section-events-schedule,
  .section-investor-guide-intro,
  .section-investor-guide-yields,
  .section-investor-guide-opportunities
).home-white-reveal-section.is-white-revealed :is(
  .article-blog,
  .event-card,
  .investor-guide-stat-card,
  .investor-guide-side-card,
  .investor-guide-opportunity-card,
  .investor-guide-inquiry,
  .investor-guide-yields__table-shell
) {
  border-color: rgba(0, 0, 0, 0.14) !important;
  background: #ffffff !important;
  color: #000000 !important;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) :is(
  .section-news-atlas,
  .section-blog,
  .section-events-schedule,
  .section-investor-guide-intro,
  .section-investor-guide-yields,
  .section-investor-guide-opportunities
) :is(.article-blog, .event-card, .investor-guide-stat-card, .investor-guide-driver-card, .investor-guide-side-card, .investor-guide-advantage-card, .investor-guide-opportunity-card) {
  border-radius: 0 !important;
  box-shadow: none !important;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) :is(.article-blog, .event-card, .investor-guide-advantage-card) :is(.blog-image, .event-card__visual, img) {
  border-radius: 0 !important;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) .article-blog {
  display: flex;
  flex-direction: column;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) .article-blog.style-horizontal {
  display: grid;
  grid-template-columns: minmax(320px, 0.95fr) minmax(0, 1.05fr);
  gap: 0;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) .article-blog .blog-image {
  aspect-ratio: 16 / 9;
  width: 100%;
  border: 0 !important;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) .article-blog.style-horizontal .blog-image {
  height: 100%;
  min-height: clamp(300px, 34vw, 500px);
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) .article-blog .blog-image img,
body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) .event-card__visual img,
body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) .investor-guide-advantage-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: none !important;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) .article-blog .blog-content {
  min-height: 210px;
  padding: clamp(22px, 2.2vw, 34px);
  border: 0;
  background: transparent !important;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) .article-blog.style-horizontal .blog-content {
  min-height: 100%;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) .article-blog .infor_name,
body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) .event-card__title,
body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) .investor-guide-driver-card h3,
body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) .investor-guide-side-card h3,
body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) .investor-guide-opportunity-card h3,
body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) .investor-guide-advantage-card__body h3 {
  font-size: clamp(24px, 2.2vw, 34px) !important;
  font-weight: 300 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.025em !important;
  text-transform: none !important;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) :is(
  .s-header h2,
  .events-schedule-block__title,
  .investor-guide-section-head h2,
  .investor-guide-intro__title,
  .investor-guide-inquiry__title
) {
  font-size: 40px !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) :is(.s-header h2, .events-schedule-block__title, .investor-guide-section-head h2)::after {
  display: block;
  width: clamp(80px, 8vw, 132px);
  height: 1px;
  margin-top: clamp(16px, 2vw, 26px);
  content: "";
  background: currentColor;
  opacity: 0.48;
}

body:is(.news-page-body, .blog-updates-page-body, .events-page-body) :is(.news-atlas-intro, .events-schedule-intro, .s-header) {
  margin-bottom: clamp(30px, 4vw, 56px);
}

body.events-page-body .events-schedule-block + .events-schedule-block {
  margin-top: clamp(42px, 5vw, 72px);
}

body.events-page-body .events-schedule-grid--upcoming {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.events-page-body .events-recap-grid {
  align-items: stretch;
}

body.events-page-body .event-card__actions .tf-btn,
body.events-page-body .event-recap-action {
  width: max-content;
}

body.investor-guide-page-body :is(.section-investor-guide-drivers, .section-investor-guide-advantages) {
  background: #000000 !important;
  color: #ffffff !important;
}

body.investor-guide-page-body :is(.section-investor-guide-drivers, .section-investor-guide-advantages)::before {
  display: none !important;
  content: none !important;
}

body.investor-guide-page-body :is(.section-investor-guide-drivers, .section-investor-guide-advantages) :is(
  .investor-guide-driver-card,
  .investor-guide-advantage-card
) {
  border-color: rgba(255, 255, 255, 0.16) !important;
  background: #050505 !important;
  color: #ffffff !important;
  backdrop-filter: none !important;
}

body.investor-guide-page-body :is(.section-investor-guide-drivers, .section-investor-guide-advantages) :is(
  .investor-guide-driver-card p,
  .investor-guide-advantage-card__body p,
  .text-white-64,
  .text-body-1.text-white-64,
  .text-body-2.text-white-64
) {
  color: rgba(255, 255, 255, 0.66) !important;
}

body.investor-guide-page-body .investor-guide-yield-table__head {
  background: rgba(0, 0, 0, 0.06) !important;
  color: var(--white-reveal-muted, rgba(0, 0, 0, 0.58)) !important;
}

body.investor-guide-page-body .investor-guide-yield-table__row {
  border-color: var(--white-reveal-border, rgba(0, 0, 0, 0.14)) !important;
}

body.investor-guide-page-body .investor-guide-yield-bar__fill {
  background: linear-gradient(90deg, #000000, rgba(0, 0, 0, 0.24)) !important;
}

body.investor-guide-page-body .section-investor-guide-intro.home-white-reveal-section :is(.tf-field .tf-input, .tf-select, .nice-select),
body.investor-guide-page-body .section-investor-guide-intro.home-white-reveal-section .investor-guide-inquiry__form :is(.tf-field .tf-input, .tf-select) {
  border-color: var(--white-reveal-border, rgba(255, 255, 255, 0.28)) !important;
  background: var(--white-reveal-surface, rgba(0, 0, 0, 0.16)) !important;
  color: var(--white-reveal-ink, #ffffff) !important;
}

body.investor-guide-page-body .section-investor-guide-intro.home-white-reveal-section :is(.tf-field .tf-lable, .lead-select-label, .nice-select .current) {
  color: var(--white-reveal-muted, rgba(255, 255, 255, 0.68)) !important;
}

body.investor-guide-page-body .section-investor-guide-intro.home-white-reveal-section.is-white-revealed :is(.tf-field .tf-input, .tf-select, .nice-select) {
  border-color: rgba(0, 0, 0, 0.24) !important;
  background: #ffffff !important;
  color: #000000 !important;
}

body.investor-guide-page-body .section-investor-guide-intro.home-white-reveal-section.is-white-revealed :is(.tf-field .tf-lable, .lead-select-label, .nice-select .current) {
  color: rgba(0, 0, 0, 0.58) !important;
}

/* News and updates listings: match homepage Press & News cards. */
body:is(.news-page-body, .blog-updates-page-body) .section-blog .tf-grid-layout {
  gap: clamp(18px, 1.8vw, 28px) !important;
}

body:is(.news-page-body, .blog-updates-page-body) .section-blog .article-blog {
  display: flex !important;
  min-width: 0;
  min-height: clamp(360px, 25vw, 420px);
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  color: #000000 !important;
  flex-direction: column !important;
  gap: 0 !important;
  box-shadow: none !important;
  transition:
    border-color 320ms cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 320ms ease,
    transform 320ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

body:is(.news-page-body, .blog-updates-page-body) .section-blog .article-blog::before,
body:is(.news-page-body, .blog-updates-page-body) .section-blog .article-blog::after {
  display: none !important;
  content: none !important;
}

body:is(.news-page-body, .blog-updates-page-body) .section-blog .article-blog:hover {
  border-color: rgba(0, 0, 0, 0.14) !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.12) !important;
  transform: translateY(-4px);
}

body:is(.news-page-body, .blog-updates-page-body) .section-blog.home-white-reveal-section .article-blog {
  border-color: rgba(0, 0, 0, 0.08) !important;
  background: #ffffff !important;
  color: #000000 !important;
}

body:is(.news-page-body, .blog-updates-page-body) .section-blog .article-blog.style-horizontal {
  display: flex !important;
  min-height: clamp(360px, 25vw, 420px);
  margin-bottom: clamp(28px, 3.4vw, 50px) !important;
  flex-direction: column !important;
}

body:is(.news-page-body, .blog-updates-page-body) .section-blog .article-blog .blog-image,
body:is(.news-page-body, .blog-updates-page-body) .section-blog .article-blog.style-horizontal .blog-image {
  display: block;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 22px 22px 0 !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  aspect-ratio: 16 / 8.4 !important;
  background: #0e0e0e;
  flex: 0 0 auto !important;
}

body:is(.news-page-body, .blog-updates-page-body) .section-blog .article-blog .blog-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: none !important;
  transform: scale(1.01);
  transition: transform 760ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

body:is(.news-page-body, .blog-updates-page-body) .section-blog .article-blog:hover .blog-image img {
  transform: scale(1.06);
}

body:is(.news-page-body, .blog-updates-page-body) .section-blog .article-blog .blog-content,
body:is(.news-page-body, .blog-updates-page-body) .section-blog .article-blog.style-horizontal .blog-content {
  display: flex !important;
  min-height: 0 !important;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0;
  padding: clamp(22px, 1.9vw, 30px) !important;
  border: 0 !important;
  background: transparent !important;
  color: #000000 !important;
}

body:is(.news-page-body, .blog-updates-page-body) .section-blog .article-blog .infor {
  display: flex;
  width: 100%;
  flex: 1 1 auto;
  flex-direction: column;
}

body:is(.news-page-body, .blog-updates-page-body) .section-blog .article-blog h6 {
  margin: 0;
}

body:is(.news-page-body, .blog-updates-page-body) .section-blog .article-blog .infor_name {
  display: block !important;
  max-width: 15ch;
  overflow: visible;
  color: #000000 !important;
  font-size: clamp(20px, 1.45vw, 26px) !important;
  font-weight: 400 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  -webkit-line-clamp: unset;
  -webkit-text-fill-color: #000000 !important;
}

body:is(.news-page-body, .blog-updates-page-body) .section-blog .article-blog .infor_sub {
  max-width: 24ch;
  margin: 14px 0 0 !important;
  color: rgba(0, 0, 0, 0.56) !important;
  font-size: var(--label) !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  -webkit-text-fill-color: rgba(0, 0, 0, 0.56) !important;
}

body:is(.news-page-body, .blog-updates-page-body) .section-blog .article-blog .btn-action {
  display: inline-flex !important;
  align-items: center;
  justify-content: flex-start;
  width: max-content !important;
  height: auto !important;
  min-height: 0 !important;
  margin-top: auto;
  padding: 28px 0 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #000000 !important;
  font-size: 0 !important;
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  -webkit-text-fill-color: #000000 !important;
  transition:
    color 220ms ease,
    transform 220ms ease !important;
}

body:is(.news-page-body, .blog-updates-page-body) .section-blog .article-blog .btn-action:hover,
body:is(.news-page-body, .blog-updates-page-body) .section-blog .article-blog .btn-action:focus-visible {
  border: 0 !important;
  background: transparent !important;
  color: #000000 !important;
  transform: translateX(3px);
}

body:is(.news-page-body, .blog-updates-page-body) .section-blog .article-blog .btn-action .icon {
  display: none !important;
}

body:is(.news-page-body, .blog-updates-page-body) .section-blog .article-blog .btn-action::before {
  display: inline;
  content: "READ HERE";
  font-size: var(--label);
  font-weight: 600;
}

body:is(.news-page-body, .blog-updates-page-body) .section-blog .article-blog .btn-action::after {
  display: inline;
  margin-left: 8px;
  content: ">";
  font-size: var(--label);
  font-weight: 600;
}

@media (max-width: 991px) {
  body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) .article-blog.style-horizontal,
  body.events-page-body .events-schedule-grid--upcoming,
  body.investor-guide-page-body .investor-guide-drivers__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) .section-project-hero .container {
    width: min(100% - 28px, var(--kpd-container-width));
    padding-bottom: 48px;
  }

  body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) .section-project-hero .project-hero-top {
    top: 104px;
  }

  body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) :is(
    .section-news-atlas,
    .section-blog,
    .section-events-schedule,
    .section-investor-guide-intro,
    .section-investor-guide-drivers,
    .section-investor-guide-yields,
    .section-investor-guide-advantages,
    .section-investor-guide-opportunities
  ) > .container {
    width: min(100% - 28px, var(--kpd-container-width));
  }

  body:is(.news-page-body, .blog-updates-page-body, .events-page-body, .investor-guide-page-body) :is(
    .s-header h2,
    .events-schedule-block__title,
    .investor-guide-section-head h2,
    .investor-guide-intro__title,
    .investor-guide-inquiry__title
  ) {
    font-size: clamp(32px, 8vw, 40px) !important;
  }
}

/* Individual media detail pages */
body:is(.news-single-page-body, .blog-single-page-body) {
  --detail-light: #f3f3f3;
  --detail-black: #000000;
  --detail-muted-light: rgba(255, 255, 255, 0.66);
  --detail-muted-dark: rgba(0, 0, 0, 0.62);
  background: #000000 !important;
  color: #ffffff;
}

body:is(.news-single-page-body, .blog-single-page-body) #wrapper {
  background: #000000 !important;
}

body:is(.news-single-page-body, .blog-single-page-body) .cursor-trail,
body:is(.news-single-page-body, .blog-single-page-body) .home-section-mirror-bg {
  display: none !important;
}

body:is(.news-single-page-body, .blog-single-page-body) .section-project-hero {
  height: 100vh !important;
  height: 100svh !important;
  min-height: 100vh !important;
  min-height: 100svh !important;
  display: flex !important;
  align-items: flex-end !important;
  padding: 0 !important;
  background: #000000 !important;
}

body:is(.news-single-page-body, .blog-single-page-body) .section-project-hero .container {
  width: min(var(--kpd-container-width), calc(100vw - clamp(40px, 5vw, 120px)));
  max-width: none;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-top: clamp(120px, 15svh, 180px);
  padding-bottom: clamp(52px, 8svh, 94px);
}

body:is(.news-single-page-body, .blog-single-page-body) .section-project-hero .project-hero-top {
  position: absolute;
  top: clamp(108px, 13svh, 160px);
  left: var(--bs-gutter-x, 12px);
  margin: 0;
}

body:is(.news-single-page-body, .blog-single-page-body) .section-project-hero .project-hero-bg img {
  opacity: 0.86 !important;
  filter: none !important;
  transform: scale(1.045);
  object-position: center;
}

body:is(.news-single-page-body, .blog-single-page-body) .section-project-hero .project-hero-shade {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.94) 0%, rgba(0, 0, 0, 0.64) 48%, rgba(0, 0, 0, 0.24) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.84) 100%) !important;
}

body:is(.news-single-page-body, .blog-single-page-body) .section-project-hero .project-title {
  max-width: min(18ch, 980px) !important;
  margin: 0 !important;
  color: #ffffff !important;
  font-size: 40px !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
}

body:is(.news-single-page-body, .blog-single-page-body) :is(.section-news-snippet, .section-blog) {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: #000000 !important;
  color: var(--white-reveal-ink, #ffffff) !important;
}

body:is(.news-single-page-body, .blog-single-page-body) :is(.section-news-snippet, .section-blog).home-white-reveal-section::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block !important;
  pointer-events: none;
  content: "" !important;
  opacity: 1 !important;
  background: var(--white-reveal-color, #f3f3f3) !important;
  transform: translate3d(0, var(--white-reveal-y, 106%), 0) !important;
  will-change: transform;
}

body:is(.news-single-page-body, .blog-single-page-body) :is(.section-news-snippet, .section-blog) > .container {
  position: relative;
  z-index: 2;
  width: min(var(--kpd-container-width), calc(100vw - clamp(40px, 5vw, 120px)));
  max-width: none;
}

body:is(.news-single-page-body, .blog-single-page-body) :is(.section-news-snippet, .section-blog) :is(
  h2,
  h3,
  h4,
  h5,
  h6,
  .heading,
  .sidebar-title,
  .news-snippet-source-card__title,
  .infor_name,
  .link,
  .tags-links h6
) {
  color: var(--white-reveal-ink, #ffffff) !important;
  -webkit-text-fill-color: var(--white-reveal-ink, #ffffff) !important;
  transition:
    color 260ms ease,
    -webkit-text-fill-color 260ms ease;
}

body:is(.news-single-page-body, .blog-single-page-body) :is(.section-news-snippet, .section-blog) :is(
  p,
  .text-white-64,
  .text-body-2,
  .text-body-3,
  .meta-list span,
  .news-snippet-source-card p,
  .blog-sidebar .sidebar-categories .item span,
  .blog-sidebar .sidebar-categories .item a,
  .relatest-post-item .time
) {
  color: var(--white-reveal-muted, rgba(255, 255, 255, 0.68)) !important;
  -webkit-text-fill-color: var(--white-reveal-muted, rgba(255, 255, 255, 0.68)) !important;
  transition:
    color 260ms ease,
    -webkit-text-fill-color 260ms ease;
}

body:is(.news-single-page-body, .blog-single-page-body) :is(
  .news-snippet-source-card,
  .blog-sidebar .sidebar-item,
  .blockquote-wrap,
  .article-blog
) {
  border: 1px solid var(--white-reveal-border, rgba(255, 255, 255, 0.22)) !important;
  border-radius: 0 !important;
  background: var(--white-reveal-surface, rgba(0, 0, 0, 0.16)) !important;
  color: var(--white-reveal-ink, #ffffff) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body:is(.news-single-page-body, .blog-single-page-body) :is(.section-news-snippet, .section-blog).is-white-revealed :is(
  .news-snippet-source-card,
  .blog-sidebar .sidebar-item,
  .blockquote-wrap,
  .article-blog
) {
  border-color: rgba(0, 0, 0, 0.14) !important;
  background: #ffffff !important;
  color: #000000 !important;
}

body.blog-single-page-body .blog-single-wrap {
  gap: clamp(24px, 3vw, 42px);
}

body.blog-single-page-body .blog-single-wrap > .image,
body.news-single-page-body .news-snippet-image {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 1px solid var(--white-reveal-border, rgba(255, 255, 255, 0.18));
  border-radius: 0 !important;
  background: #050505;
}

body.blog-single-page-body .blog-single-wrap > .image img,
body.news-single-page-body .news-snippet-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0 !important;
  filter: none !important;
}

body.blog-single-page-body .blog-single-wrap h4,
body.news-single-page-body .news-snippet-source-card__title {
  font-size: 40px !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
}

body.blog-single-page-body .blockquote-wrap {
  padding: clamp(28px, 4vw, 54px);
}

body.blog-single-page-body .blockquote-wrap .text {
  max-width: 860px;
  font-size: clamp(26px, 3vw, 42px) !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
}

body.blog-single-page-body .entry-footer {
  padding-top: clamp(22px, 3vw, 34px);
  border-top: 1px solid var(--white-reveal-border, rgba(255, 255, 255, 0.18));
}

body:is(.news-single-page-body, .blog-single-page-body) .meta-list {
  flex-wrap: wrap;
  gap: 12px 22px;
}

body:is(.news-single-page-body, .blog-single-page-body) .meta-list .icon {
  color: var(--white-reveal-ink, #ffffff) !important;
}

body:is(.news-single-page-body, .blog-single-page-body) .list-tags a,
body:is(.news-single-page-body, .blog-single-page-body) .social-links a {
  border: 1px solid var(--white-reveal-border, rgba(255, 255, 255, 0.2));
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--white-reveal-ink, #ffffff) !important;
  -webkit-text-fill-color: var(--white-reveal-ink, #ffffff) !important;
}

body:is(.news-single-page-body, .blog-single-page-body) .list-tags a:hover,
body:is(.news-single-page-body, .blog-single-page-body) .social-links a:hover {
  background: var(--white-reveal-ink, #ffffff) !important;
  color: var(--white-reveal-inverse, #000000) !important;
  -webkit-text-fill-color: var(--white-reveal-inverse, #000000) !important;
}

body.blog-single-page-body .blog-sidebar {
  position: sticky;
  top: 118px;
  display: grid;
  gap: clamp(18px, 2vw, 26px);
}

body.blog-single-page-body .blog-sidebar .sidebar-item {
  padding: clamp(22px, 2.4vw, 34px);
}

body.blog-single-page-body .sidebar-title {
  margin-bottom: 18px;
  font-size: clamp(24px, 2.2vw, 34px) !important;
  font-weight: 300 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
}

body.blog-single-page-body .relatest-post-item .image {
  width: 80px;
  height: 80px;
  flex: 0 0 80px;
  overflow: hidden;
  border-radius: 0 !important;
}

body.blog-single-page-body .relatest-post-item .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0 !important;
}

body:is(.news-single-page-body, .blog-single-page-body) .tf-btn {
  border-color: var(--white-reveal-border, rgba(255, 255, 255, 0.28)) !important;
  color: var(--white-reveal-ink, #ffffff) !important;
  -webkit-text-fill-color: var(--white-reveal-ink, #ffffff) !important;
}

body:is(.news-single-page-body, .blog-single-page-body) .tf-btn::before {
  background: var(--white-reveal-ink, #ffffff) !important;
}

body:is(.news-single-page-body, .blog-single-page-body) .tf-btn:hover,
body:is(.news-single-page-body, .blog-single-page-body) .tf-btn:focus-visible {
  color: var(--white-reveal-inverse, #000000) !important;
  -webkit-text-fill-color: var(--white-reveal-inverse, #000000) !important;
}

/* Event detail surface lives in the recap modal/gallery. */
body.events-page-body .event-recap-modal__dialog {
  border-radius: 0 !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
  background: #000000 !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

body.events-page-body .event-recap-modal__viewport,
body.events-page-body .event-recap-modal__slide,
body.events-page-body .event-recap-modal__slide img {
  border-radius: 0 !important;
}

body.events-page-body .event-recap-modal__title {
  font-size: 40px !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
}

body.events-page-body .event-recap-modal__nav,
body.events-page-body .event-recap-modal__close {
  border-radius: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  background: #000000 !important;
  color: #ffffff !important;
}

body.events-page-body .event-recap-modal__nav:hover,
body.events-page-body .event-recap-modal__close:hover {
  background: #ffffff !important;
  color: #000000 !important;
}

@media (max-width: 991px) {
  body.blog-single-page-body .blog-sidebar {
    position: static;
    margin-top: 42px;
  }

  body:is(.news-single-page-body, .blog-single-page-body) :is(.section-news-snippet, .section-blog) > .container,
  body:is(.news-single-page-body, .blog-single-page-body) .section-project-hero .container {
    width: min(var(--kpd-container-width), calc(100vw - 32px));
  }
}

@media (max-width: 767px) {
  body:is(.news-single-page-body, .blog-single-page-body) .section-project-hero .container {
    width: min(100% - 28px, var(--kpd-container-width));
    padding-bottom: 48px;
  }

  body:is(.news-single-page-body, .blog-single-page-body) .section-project-hero .project-hero-top {
    top: 104px;
  }

  body:is(.news-single-page-body, .blog-single-page-body) .section-project-hero .project-title,
  body.blog-single-page-body .blog-single-wrap h4,
  body.news-single-page-body .news-snippet-source-card__title {
    font-size: clamp(32px, 8vw, 40px) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.kpd-interior-page .kpd-reveal-target,
  body:not(.home-page-body) .section-project-hero::after,
  body:not(.home-page-body) :is(img, video, iframe, .tf-btn, .article-blog, .development-feature, .event-card, .leadership-card) {
    transition: none !important;
    transform: none !important;
  }
}

/* Homepage hero viewport lock */
body.home-page-body .section-hero-v1 {
  height: 100vh !important;
  min-height: 100svh !important;
  display: flex;
  align-items: flex-end;
  padding: 0 !important;
  overflow: hidden;
}

body.home-page-body .tf-header {
  position: fixed !important;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  margin-bottom: 0 !important;
  background: rgba(0, 0, 0, 0);
  box-shadow: none;
  transition: background-color 420ms cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 420ms cubic-bezier(0.16, 1, 0.3, 1);
}

body.home-page-body.home-header-band-visible .tf-header {
  background: #000000;
  box-shadow: 0 16px 44px rgba(0, 0, 0, 0.28);
}

body.home-page-body.home-video-intro-active .tf-header {
  background: transparent !important;
  box-shadow: none !important;
}

body.home-page-body .section-hero-v1 .bg-video,
body.home-page-body .section-hero-v1 .bg-video video {
  width: 100%;
  height: 100%;
}

body.home-page-body .section-hero-v1 .overlay,
body.home-page-body .section-hero-v1 .bg-video .video-overlay,
body.home-page-body .section-hero-v1 .bg-video .video-overlay-2 {
  display: none !important;
  opacity: 0 !important;
  background: transparent !important;
}

body.home-page-body .section-hero-v1 .content-wrap {
  min-height: 100svh;
  display: flex;
  align-items: flex-end;
}

body.home-page-body .section-hero-v1 .content-wrap .container {
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-top: clamp(120px, 15svh, 180px);
  padding-bottom: clamp(52px, 8svh, 94px);
}

body.home-page-body .section-hero-v1 .content-wrap .row {
  width: 100%;
}

@media (max-width: 767px) {
  body.home-page-body .section-hero-v1 .content-wrap .container {
    padding-top: clamp(96px, 14svh, 132px);
    padding-bottom: clamp(38px, 7svh, 68px);
  }
}

/* News / Blogs listing: keep the first feature card compact. */
body:is(.news-page-body, .blog-updates-page-body) .section-blog > .container > .article-blog.style-horizontal {
  display: grid !important;
  height: clamp(300px, 24vw, 360px) !important;
  min-height: clamp(260px, 24vw, 340px) !important;
  max-height: 360px !important;
  margin-bottom: clamp(26px, 3vw, 44px) !important;
  grid-template-columns: minmax(0, 0.56fr) minmax(320px, 0.44fr) !important;
  align-items: stretch !important;
}

body:is(.news-page-body, .blog-updates-page-body) .section-blog > .container > .article-blog.style-horizontal .blog-image {
  width: 100% !important;
  height: calc(100% - 44px) !important;
  min-height: 0 !important;
  margin: 22px 0 22px 22px !important;
  aspect-ratio: auto !important;
}

body:is(.news-page-body, .blog-updates-page-body) .section-blog > .container > .article-blog.style-horizontal .blog-content {
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  padding: clamp(24px, 2.2vw, 36px) clamp(28px, 2.6vw, 46px) !important;
  justify-content: center !important;
  overflow: hidden !important;
}

body:is(.news-page-body, .blog-updates-page-body) .section-blog > .container > .article-blog.style-horizontal .infor_name {
  max-width: 19ch !important;
  font-size: clamp(24px, 2vw, 32px) !important;
  line-height: 1.12 !important;
}

body:is(.news-page-body, .blog-updates-page-body) .section-blog > .container > .article-blog.style-horizontal .btn-action {
  margin-top: clamp(20px, 2vw, 32px) !important;
  padding-top: 0 !important;
}

@media (max-width: 991px) {
  body:is(.news-page-body, .blog-updates-page-body) .section-blog > .container > .article-blog.style-horizontal {
    height: auto !important;
    max-height: none !important;
    grid-template-columns: 1fr !important;
  }

  body:is(.news-page-body, .blog-updates-page-body) .section-blog > .container > .article-blog.style-horizontal .blog-image {
    height: auto !important;
    margin: 18px 18px 0 !important;
    aspect-ratio: 16 / 8.4 !important;
  }

  body:is(.news-page-body, .blog-updates-page-body) .section-blog > .container > .article-blog.style-horizontal .blog-content {
    height: auto !important;
    max-height: none !important;
  }
}

/* Investor Guide reference body rebuild */
body.investor-guide-page-body {
  --investor-ref-bg: #ffffff;
  --investor-ref-ink: #0b0b0b;
  --investor-ref-muted: rgba(0, 0, 0, 0.58);
  --investor-ref-line: rgba(0, 0, 0, 0.13);
  --investor-ref-soft: #f3f2ef;
  --investor-ref-accent: #c8a47f;
  --investor-ref-accent-dark: #a67f59;
  --investor-ref-dark: #111111;
  --investor-ref-width: min(var(--kpd-container-width, 1326px), calc(100vw - clamp(36px, 7vw, 132px)));
}

body.investor-guide-page-body :is(.investor-ref-inquiry, .investor-ref-section, .investor-ref-pattern, .investor-ref-management, .investor-ref-awards) {
  position: relative;
  overflow: hidden;
  font-family: var(--font-main, "Inter", Arial, sans-serif);
}

body.investor-guide-page-body :is(.investor-ref-inquiry, .investor-ref-section, .investor-ref-pattern, .investor-ref-management) > .container {
  width: var(--investor-ref-width);
  max-width: var(--investor-ref-width);
  padding-right: 0;
  padding-left: 0;
}

body.investor-guide-page-body :is(.investor-ref-section, .investor-ref-pattern) {
  background: var(--investor-ref-bg) !important;
  color: var(--investor-ref-ink) !important;
  padding: clamp(70px, 8vw, 116px) 0;
}

body.investor-guide-page-body .investor-ref-pattern {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.95)),
    repeating-linear-gradient(135deg, rgba(0, 0, 0, 0.04) 0 1px, transparent 1px 22px),
    var(--investor-ref-soft) !important;
}

body.investor-guide-page-body .investor-ref-heading,
body.investor-guide-page-body :is(.investor-ref-centered, .investor-ref-split-head, .investor-ref-title-row, .investor-ref-relations__grid, .investor-ref-faq__grid) h2,
body.investor-guide-page-body .investor-ref-management__copy h2,
body.investor-guide-page-body .investor-ref-form-panel__copy h2 {
  margin: 0;
  color: currentColor;
  font-family: var(--font-main, "Inter", Arial, sans-serif) !important;
  font-size: clamp(34px, 4vw, 40px) !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase;
}

body.investor-guide-page-body .investor-ref-heading::after,
body.investor-guide-page-body :is(.investor-ref-centered, .investor-ref-split-head, .investor-ref-title-row, .investor-ref-relations__grid, .investor-ref-faq__grid) h2::after,
body.investor-guide-page-body .investor-ref-management__copy h2::after,
body.investor-guide-page-body .investor-ref-form-panel__copy h2::after {
  display: block;
  width: 88px;
  height: 1px;
  margin-top: clamp(18px, 2vw, 28px);
  background: currentColor;
  content: "";
  opacity: 0.55;
}

body.investor-guide-page-body .investor-ref-centered {
  display: grid;
  justify-items: center;
  gap: 14px;
  max-width: 760px;
  margin: 0 auto clamp(34px, 4vw, 58px);
  text-align: center;
}

body.investor-guide-page-body .investor-ref-centered h2::after {
  margin-right: auto;
  margin-left: auto;
}

body.investor-guide-page-body .investor-ref-centered p,
body.investor-guide-page-body .investor-ref-title-row p,
body.investor-guide-page-body .investor-ref-split-head p,
body.investor-guide-page-body .investor-ref-management__copy p,
body.investor-guide-page-body .investor-ref-relations__grid p {
  margin: 0;
  color: var(--investor-ref-muted);
  font-size: clamp(15px, 1.2vw, 17px);
  font-weight: 300;
  line-height: 1.72;
}

body.investor-guide-page-body .investor-ref-inquiry {
  background: #000000 !important;
  color: #ffffff;
  padding: clamp(52px, 6.5vw, 92px) 0;
}

body.investor-guide-page-body .investor-ref-form-panel {
  display: grid;
  grid-template-columns: minmax(220px, 0.34fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 72px);
  align-items: start;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.03));
  padding: clamp(30px, 4vw, 56px);
}

body.investor-guide-page-body .investor-ref-form-panel__copy {
  display: grid;
  gap: 18px;
}

body.investor-guide-page-body .investor-ref-form {
  display: grid;
  gap: 16px;
}

body.investor-guide-page-body .investor-ref-form__row {
  display: grid;
  gap: 16px;
}

body.investor-guide-page-body .investor-ref-form__row--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.investor-guide-page-body .investor-ref-form__row--four {
  grid-template-columns: 170px minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
}

body.investor-guide-page-body .investor-ref-form :is(input, select),
body.investor-guide-page-body .investor-ref-phone {
  width: 100%;
  min-height: 54px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 0;
  background: rgba(0, 0, 0, 0.16);
  color: #ffffff;
  font-family: var(--font-main, "Inter", Arial, sans-serif);
  font-size: 15px;
  font-weight: 400;
  outline: 0;
  transition: border-color 0.35s ease, background 0.35s ease, color 0.35s ease;
}

body.investor-guide-page-body .investor-ref-form :is(input, select) {
  padding: 0 18px;
}

body.investor-guide-page-body .investor-ref-phone {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 0 14px;
}

body.investor-guide-page-body .investor-ref-phone input {
  min-height: 50px;
  border: 0;
  background: transparent;
  padding: 0;
}

body.investor-guide-page-body .investor-ref-form :is(input, select):focus,
body.investor-guide-page-body .investor-ref-phone:focus-within {
  border-color: #ffffff;
  background: rgba(255, 255, 255, 0.1);
}

body.investor-guide-page-body .investor-ref-form input::placeholder {
  color: rgba(255, 255, 255, 0.58);
  opacity: 1;
}

body.investor-guide-page-body .investor-ref-form select {
  appearance: none;
  color: rgba(255, 255, 255, 0.78);
}

body.investor-guide-page-body .investor-ref-form__checks {
  display: grid;
  gap: 10px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 14px;
  line-height: 1.45;
}

body.investor-guide-page-body .investor-ref-form__checks label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
}

body.investor-guide-page-body .investor-ref-form__checks input {
  width: 16px;
  min-width: 16px;
  height: 16px;
  min-height: 16px;
  padding: 0;
  accent-color: #ffffff;
}

body.investor-guide-page-body .investor-ref-form .tf-btn {
  width: fit-content;
  min-width: 180px;
  min-height: 48px;
  border-color: rgba(255, 255, 255, 0.7) !important;
  color: #ffffff !important;
  background: transparent !important;
}

body.investor-guide-page-body .investor-ref-form .tf-btn::before {
  background: #ffffff !important;
}

body.investor-guide-page-body .investor-ref-form .tf-btn:hover,
body.investor-guide-page-body .investor-ref-form .tf-btn:focus-visible {
  color: #000000 !important;
}

body.investor-guide-page-body .investor-ref-card-scroll,
body.investor-guide-page-body .investor-ref-four-grid,
body.investor-guide-page-body .investor-ref-image-grid,
body.investor-guide-page-body .investor-ref-inventory-grid {
  display: grid;
  gap: clamp(16px, 1.6vw, 24px);
}

body.investor-guide-page-body .investor-ref-card-scroll {
  grid-template-columns: repeat(4, minmax(230px, 1fr));
  overflow-x: auto;
  padding-bottom: 6px;
  scrollbar-width: thin;
}

body.investor-guide-page-body .investor-ref-info-card,
body.investor-guide-page-body .investor-ref-image-card,
body.investor-guide-page-body .investor-ref-inventory-card,
body.investor-guide-page-body .investor-ref-doc-card,
body.investor-guide-page-body .investor-ref-faq__list details {
  border: 1px solid var(--investor-ref-line);
  border-radius: 0 !important;
  background: #ffffff;
  color: var(--investor-ref-ink);
  box-shadow: none;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.35s ease, background 0.35s ease;
}

body.investor-guide-page-body .investor-ref-info-card {
  min-height: 232px;
  padding: clamp(24px, 2.2vw, 34px);
}

body.investor-guide-page-body .investor-ref-info-card:hover,
body.investor-guide-page-body .investor-ref-image-card:hover,
body.investor-guide-page-body .investor-ref-inventory-card:hover,
body.investor-guide-page-body .investor-ref-doc-card:hover,
body.investor-guide-page-body .investor-ref-faq__list details[open] {
  border-color: rgba(0, 0, 0, 0.3);
  transform: translateY(-4px);
}

body.investor-guide-page-body .investor-ref-icon,
body.investor-guide-page-body .investor-ref-doc-card span {
  display: inline-flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  margin-bottom: clamp(28px, 3vw, 48px);
  border: 1px solid var(--investor-ref-line);
  color: var(--investor-ref-accent-dark);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.investor-guide-page-body .investor-ref-info-card h3,
body.investor-guide-page-body .investor-ref-image-card h3,
body.investor-guide-page-body .investor-ref-inventory-card h3,
body.investor-guide-page-body .investor-ref-doc-card h3 {
  margin: 0 0 12px;
  color: inherit;
  font-size: clamp(21px, 2vw, 28px);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: 0;
}

body.investor-guide-page-body .investor-ref-info-card p,
body.investor-guide-page-body .investor-ref-image-card p,
body.investor-guide-page-body .investor-ref-doc-card p,
body.investor-guide-page-body .investor-ref-faq__list p,
body.investor-guide-page-body .investor-ref-inventory-card li {
  margin: 0;
  color: var(--investor-ref-muted);
  font-size: 15px;
  font-weight: 300;
  line-height: 1.65;
}

body.investor-guide-page-body .investor-ref-info-card strong {
  display: block;
  margin-top: 8px;
  color: var(--investor-ref-ink);
  font-size: clamp(24px, 2.3vw, 34px);
  font-weight: 300;
  line-height: 1;
}

body.investor-guide-page-body .investor-ref-yield .investor-ref-heading {
  max-width: 880px;
  margin: 0 auto clamp(30px, 4vw, 58px);
  text-align: center;
}

body.investor-guide-page-body .investor-ref-yield .investor-ref-heading::after {
  margin-right: auto;
  margin-left: auto;
}

body.investor-guide-page-body .investor-ref-yield-table {
  max-width: 920px;
  margin: 0 auto;
  border: 1px solid var(--investor-ref-line);
  background: #ffffff;
}

body.investor-guide-page-body .investor-ref-yield-table__head,
body.investor-guide-page-body .investor-ref-yield-table__row {
  display: grid;
  grid-template-columns: minmax(180px, 0.34fr) minmax(260px, 1fr) 120px;
  align-items: center;
  gap: clamp(14px, 2vw, 26px);
  padding: 18px clamp(18px, 2.4vw, 34px);
}

body.investor-guide-page-body .investor-ref-yield-table__head {
  background: var(--investor-ref-accent);
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.investor-guide-page-body .investor-ref-yield-table__row + .investor-ref-yield-table__row {
  border-top: 1px solid var(--investor-ref-line);
}

body.investor-guide-page-body .investor-ref-yield-table__row strong {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--investor-ref-ink);
  font-size: 16px;
  font-weight: 500;
}

body.investor-guide-page-body .investor-ref-yield-bar {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 54px;
  align-items: center;
  gap: 12px;
}

body.investor-guide-page-body .investor-ref-yield-bar::before,
body.investor-guide-page-body .investor-ref-yield-bar span {
  display: block;
  height: 8px;
  content: "";
}

body.investor-guide-page-body .investor-ref-yield-bar::before {
  grid-column: 1;
  grid-row: 1;
  background: #ebe9e5;
}

body.investor-guide-page-body .investor-ref-yield-bar span {
  position: relative;
  z-index: 1;
  grid-column: 1;
  grid-row: 1;
  background: var(--investor-ref-accent);
}

body.investor-guide-page-body .investor-ref-yield-bar em {
  grid-column: 2;
  color: var(--investor-ref-ink);
  font-style: normal;
  font-weight: 600;
}

body.investor-guide-page-body .investor-ref-yield-table__row b {
  justify-self: end;
  font-size: 14px;
  font-weight: 700;
}

body.investor-guide-page-body .investor-ref-yield-table__row b.is-positive {
  color: #167246;
}

body.investor-guide-page-body .investor-ref-yield-table__row b.is-negative {
  color: #8a312c;
}

body.investor-guide-page-body .investor-ref-disclaimer,
body.investor-guide-page-body .investor-ref-note {
  max-width: 760px;
  margin: clamp(18px, 2vw, 26px) auto 0;
  color: var(--investor-ref-muted);
  font-size: 13px;
  font-weight: 300;
  line-height: 1.6;
  text-align: center;
}

body.investor-guide-page-body .investor-ref-split-head,
body.investor-guide-page-body .investor-ref-title-row {
  display: grid;
  grid-template-columns: minmax(220px, 0.35fr) minmax(0, 1fr);
  gap: clamp(28px, 5vw, 80px);
  align-items: start;
  margin-bottom: clamp(30px, 4vw, 56px);
}

body.investor-guide-page-body .investor-ref-payment-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 1.6vw, 24px);
}

body.investor-guide-page-body .investor-ref-four-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.investor-guide-page-body .investor-ref-image-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.investor-guide-page-body .investor-ref-image-card {
  overflow: hidden;
  background: #ffffff;
}

body.investor-guide-page-body .investor-ref-image-card img {
  width: 100%;
  aspect-ratio: 4 / 3.1;
  object-fit: cover;
  filter: none !important;
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

body.investor-guide-page-body .investor-ref-image-card:hover img {
  transform: scale(1.045);
}

body.investor-guide-page-body .investor-ref-image-card :is(h3, p) {
  padding-inline: clamp(20px, 2vw, 30px);
}

body.investor-guide-page-body .investor-ref-image-card h3 {
  padding-top: clamp(20px, 2vw, 28px);
}

body.investor-guide-page-body .investor-ref-image-card p {
  padding-bottom: clamp(22px, 2.2vw, 32px);
}

body.investor-guide-page-body .investor-ref-management {
  min-height: clamp(560px, 72vw, 760px);
  display: flex;
  align-items: stretch;
  background: #000000;
  color: #ffffff;
}

body.investor-guide-page-body .investor-ref-management__bg,
body.investor-guide-page-body .investor-ref-management__bg::after {
  position: absolute;
  inset: 0;
}

body.investor-guide-page-body .investor-ref-management__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: none !important;
  opacity: 0.72;
}

body.investor-guide-page-body .investor-ref-management__bg::after {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.92), rgba(0, 0, 0, 0.55) 50%, rgba(0, 0, 0, 0.78)),
    linear-gradient(180deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.6));
  content: "";
}

body.investor-guide-page-body .investor-ref-management > .container {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(280px, 0.42fr) minmax(420px, 1fr);
  gap: clamp(32px, 6vw, 92px);
  align-items: center;
}

body.investor-guide-page-body .investor-ref-management__copy {
  display: grid;
  gap: 24px;
}

body.investor-guide-page-body .investor-ref-management__copy p {
  color: rgba(255, 255, 255, 0.74);
}

body.investor-guide-page-body .investor-ref-management__orbits {
  position: relative;
  min-height: 430px;
}

body.investor-guide-page-body .investor-ref-management__orbits article {
  position: absolute;
  display: grid;
  width: clamp(180px, 16vw, 230px);
  height: clamp(180px, 16vw, 230px);
  place-items: center;
  align-content: center;
  gap: 10px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.62);
  padding: 30px;
  text-align: center;
  backdrop-filter: blur(10px);
}

body.investor-guide-page-body .investor-ref-management__orbits article:nth-child(1) {
  top: 0;
  left: 2%;
}

body.investor-guide-page-body .investor-ref-management__orbits article:nth-child(2) {
  top: 20%;
  right: 5%;
}

body.investor-guide-page-body .investor-ref-management__orbits article:nth-child(3) {
  bottom: 0;
  left: 30%;
}

body.investor-guide-page-body .investor-ref-management__orbits strong {
  color: #ffffff;
  font-size: clamp(17px, 1.5vw, 22px);
  font-weight: 500;
  line-height: 1.16;
}

body.investor-guide-page-body .investor-ref-management__orbits span {
  color: rgba(255, 255, 255, 0.64);
  font-size: 13px;
  line-height: 1.45;
}

body.investor-guide-page-body .investor-ref-two-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 1.7vw, 26px);
}

body.investor-guide-page-body .investor-ref-two-grid .investor-ref-info-card {
  min-height: 210px;
}

body.investor-guide-page-body .investor-ref-inventory-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.investor-guide-page-body .investor-ref-inventory-card {
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
  background: #ffffff;
}

body.investor-guide-page-body .investor-ref-inventory-card img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  filter: none !important;
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

body.investor-guide-page-body .investor-ref-inventory-card:hover img {
  transform: scale(1.04);
}

body.investor-guide-page-body .investor-ref-inventory-card div {
  padding: clamp(22px, 2.2vw, 32px);
}

body.investor-guide-page-body .investor-ref-inventory-card ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.investor-guide-page-body .investor-ref-relations__grid {
  display: grid;
  grid-template-columns: minmax(220px, 0.42fr) repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 28px);
  align-items: stretch;
}

body.investor-guide-page-body .investor-ref-relations__grid > div {
  display: grid;
  align-content: start;
  gap: 24px;
  padding-right: clamp(12px, 2vw, 24px);
}

body.investor-guide-page-body .investor-ref-doc-card {
  display: grid;
  align-content: space-between;
  min-height: 280px;
  padding: clamp(24px, 2.4vw, 36px);
}

body.investor-guide-page-body .investor-ref-doc-card a {
  width: fit-content;
  margin-top: 28px;
  color: var(--investor-ref-ink);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

body.investor-guide-page-body .investor-ref-awards {
  background: var(--investor-ref-soft);
  padding: clamp(46px, 6vw, 80px) 0;
}

body.investor-guide-page-body .investor-ref-awards__track {
  display: grid;
  grid-auto-columns: clamp(170px, 16vw, 224px);
  grid-auto-flow: column;
  gap: clamp(18px, 2vw, 30px);
  width: min(100% - clamp(32px, 8vw, 140px), var(--kpd-container-width, 1326px));
  margin: 0 auto;
  overflow-x: auto;
  padding: 10px 0 18px;
}

body.investor-guide-page-body .investor-ref-awards__track article {
  display: grid;
  min-height: clamp(170px, 16vw, 224px);
  place-items: center;
  align-content: center;
  gap: 12px;
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: 50%;
  background: #ffffff;
  padding: 28px;
  text-align: center;
}

body.investor-guide-page-body .investor-ref-awards__track strong {
  color: var(--investor-ref-accent-dark);
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 300;
}

body.investor-guide-page-body .investor-ref-awards__track span {
  color: var(--investor-ref-muted);
  font-size: 13px;
  line-height: 1.45;
}

body.investor-guide-page-body .investor-ref-faq__grid {
  display: grid;
  grid-template-columns: minmax(220px, 0.34fr) minmax(0, 1fr);
  gap: clamp(30px, 5vw, 82px);
  align-items: start;
}

body.investor-guide-page-body .investor-ref-faq__list {
  display: grid;
  gap: 12px;
}

body.investor-guide-page-body .investor-ref-faq__list details {
  padding: 0;
}

body.investor-guide-page-body .investor-ref-faq__list summary {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  min-height: 74px;
  padding: 18px clamp(18px, 2vw, 28px);
  color: var(--investor-ref-ink);
  font-size: clamp(17px, 1.5vw, 21px);
  font-weight: 400;
  line-height: 1.25;
  cursor: pointer;
  list-style: none;
}

body.investor-guide-page-body .investor-ref-faq__list summary::-webkit-details-marker {
  display: none;
}

body.investor-guide-page-body .investor-ref-faq__list summary span {
  color: var(--investor-ref-accent-dark);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
}

body.investor-guide-page-body .investor-ref-faq__list p {
  padding: 0 clamp(18px, 2vw, 28px) 22px calc(clamp(18px, 2vw, 28px) + 58px);
}

@media (max-width: 1199px) {
  body.investor-guide-page-body .investor-ref-card-scroll,
  body.investor-guide-page-body .investor-ref-four-grid,
  body.investor-guide-page-body .investor-ref-image-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.investor-guide-page-body .investor-ref-management > .container {
    grid-template-columns: 1fr;
    padding-block: clamp(70px, 9vw, 110px);
  }

  body.investor-guide-page-body .investor-ref-management__orbits {
    min-height: 300px;
  }
}

@media (max-width: 991px) {
  body.investor-guide-page-body :is(.investor-ref-inquiry, .investor-ref-section, .investor-ref-pattern) {
    padding: clamp(54px, 8vw, 78px) 0;
  }

  body.investor-guide-page-body .investor-ref-form-panel,
  body.investor-guide-page-body .investor-ref-split-head,
  body.investor-guide-page-body .investor-ref-title-row,
  body.investor-guide-page-body .investor-ref-relations__grid,
  body.investor-guide-page-body .investor-ref-faq__grid {
    grid-template-columns: 1fr;
  }

  body.investor-guide-page-body .investor-ref-form__row--four,
  body.investor-guide-page-body .investor-ref-payment-grid,
  body.investor-guide-page-body .investor-ref-inventory-grid,
  body.investor-guide-page-body .investor-ref-two-grid {
    grid-template-columns: 1fr;
  }

  body.investor-guide-page-body .investor-ref-yield-table {
    overflow-x: auto;
  }

  body.investor-guide-page-body .investor-ref-yield-table__head,
  body.investor-guide-page-body .investor-ref-yield-table__row {
    min-width: 720px;
  }
}

@media (max-width: 767px) {
  body.investor-guide-page-body {
    --investor-ref-width: min(100% - 28px, var(--kpd-container-width, 1326px));
  }

  body.investor-guide-page-body .investor-ref-form__row--two,
  body.investor-guide-page-body .investor-ref-card-scroll,
  body.investor-guide-page-body .investor-ref-four-grid,
  body.investor-guide-page-body .investor-ref-image-grid {
    grid-template-columns: 1fr;
  }

  body.investor-guide-page-body .investor-ref-management {
    min-height: 0;
  }

  body.investor-guide-page-body .investor-ref-management > .container {
    padding-block: 58px;
  }

  body.investor-guide-page-body .investor-ref-management__orbits {
    display: grid;
    min-height: 0;
    gap: 14px;
  }

  body.investor-guide-page-body .investor-ref-management__orbits article {
    position: static;
    width: 100%;
    height: auto;
    min-height: 150px;
    border-radius: 0;
  }

  body.investor-guide-page-body .investor-ref-faq__list summary {
    grid-template-columns: 36px minmax(0, 1fr);
  }

  body.investor-guide-page-body .investor-ref-faq__list p {
    padding-left: clamp(18px, 2vw, 28px);
  }
}

/* About page mission / vision split band */
body.about-rebuilt-page .about-ref-mission-vision,
body.about-rebuilt-page .about-ref-mission-vision.home-white-reveal-section,
body.about-rebuilt-page .about-ref-mission-vision.is-white-revealed {
  min-height: 0 !important;
  display: block !important;
  padding: clamp(72px, 7vw, 118px) 0 !important;
  background: #91304a !important;
  background-color: #91304a !important;
  background-image: none !important;
  color: #ffffff !important;
}

body.about-rebuilt-page .about-ref-mission-vision::before,
body.about-rebuilt-page .about-ref-mission-vision::after,
body.about-rebuilt-page .about-ref-mission-vision.home-white-reveal-section::before,
body.about-rebuilt-page .about-ref-mission-vision.home-white-reveal-section::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

body.about-rebuilt-page .about-ref-mission-vision > .container {
  width: min(1760px, calc(100vw - clamp(64px, 8vw, 160px))) !important;
  max-width: none !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__grid {
  position: relative;
  z-index: 1;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(38px, 5vw, 76px) !important;
  align-items: start;
  border: 0 !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__grid::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background: rgba(255, 255, 255, 0.34);
  content: "";
  transform: translateX(-50%);
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item,
body.about-rebuilt-page .about-ref-mission-vision.is-white-revealed .about-ref-band__item {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(230px, 0.36fr) minmax(0, 1fr);
  gap: clamp(28px, 2.8vw, 44px) !important;
  align-items: start;
  justify-content: initial !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #ffffff !important;
  filter: none !important;
  transform: none !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item + .about-ref-band__item {
  border-left: 0 !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item::before,
body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item::after {
  display: none !important;
  content: none !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item h2 {
  margin: 0 !important;
  color: #ffffff !important;
  font-family: var(--font-main, "Inter", Arial, sans-serif) !important;
  font-size: clamp(28px, 2.5vw, 38px) !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  white-space: nowrap;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item h2::after {
  display: none !important;
  content: none !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item p,
body.about-rebuilt-page .about-ref-mission-vision.is-white-revealed .about-ref-band__item p {
  max-width: 56ch;
  margin: 0 !important;
  color: #ffffff !important;
  font-family: var(--font-main, "Inter", Arial, sans-serif) !important;
  font-size: clamp(16px, 1.2vw, 20px) !important;
  font-weight: 600 !important;
  line-height: 1.42 !important;
  letter-spacing: 0 !important;
  opacity: 1 !important;
}

@media (max-width: 1199px) {
  body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item {
    grid-template-columns: 1fr;
    gap: 18px !important;
  }
}

@media (max-width: 991px) {
  body.about-rebuilt-page .about-ref-mission-vision {
    padding: clamp(48px, 8vw, 70px) 0 !important;
  }

  body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__grid {
    grid-template-columns: 1fr !important;
    gap: clamp(34px, 6vw, 52px) !important;
  }

  body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__grid::before {
    top: 50%;
    right: 0;
    bottom: auto;
    left: 0;
    width: 100%;
    height: 1px;
    transform: translateY(-50%);
  }
}

@media (max-width: 767px) {
  body.about-rebuilt-page .about-ref-mission-vision > .container {
    width: min(100% - 28px, var(--kpd-container-width, 1326px)) !important;
  }

  body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__grid::before {
    opacity: 0.26;
  }

  body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item h2 {
    white-space: normal;
  }
}

/* About expertise cards: match Contact inquiry route interaction */
body.about-rebuilt-page .about-ref-expertise .about-ref-expertise__grid {
  gap: clamp(14px, 1.2vw, 20px) !important;
  border-left: 0 !important;
}

body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card {
  position: relative;
  z-index: 0;
  min-height: clamp(180px, 15vw, 230px) !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas:
    "number title"
    "number copy";
  gap: clamp(10px, 1vw, 14px) clamp(16px, 1.8vw, 26px) !important;
  align-content: start !important;
  overflow: hidden;
  padding: clamp(20px, 2vw, 30px) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, 0.035) !important;
  color: #ffffff !important;
  cursor: default;
  isolation: isolate;
  outline: 0;
  box-shadow: none !important;
  transition:
    transform 0.42s cubic-bezier(0.16, 1, 0.3, 1),
    border-color 0.32s ease,
    color 0.32s ease,
    background-color 0.32s ease !important;
}

body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card::before {
  position: absolute;
  inset: -1px;
  z-index: -1;
  display: block !important;
  pointer-events: none;
  content: "" !important;
  opacity: 0;
  background: #ffffff !important;
  mix-blend-mode: normal !important;
  transform: scaleY(0) !important;
  transform-origin: bottom center;
  animation: none !important;
  transition:
    opacity 0.32s ease,
    transform 0.42s cubic-bezier(0.16, 1, 0.3, 1);
}

body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card::after {
  display: none !important;
  content: none !important;
}

body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card:hover,
body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card:focus,
body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card:focus-visible {
  border-color: #ffffff !important;
  background: rgba(255, 255, 255, 0.035) !important;
  color: #000000 !important;
  transform: translateY(-6px) !important;
  transition-delay: 0ms !important;
  box-shadow: none !important;
}

body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card:hover::before,
body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card:focus::before,
body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card:focus-visible::before {
  opacity: 1;
  transform: scaleY(1) !important;
}

body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card__icon {
  grid-area: number;
  min-width: auto !important;
  width: auto !important;
  height: auto !important;
  display: inline-flex !important;
  align-items: flex-start;
  justify-content: flex-start;
  margin: 0 !important;
  border: 0 !important;
  color: currentColor !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  font-weight: 300 !important;
  line-height: 0.95 !important;
  letter-spacing: -0.04em !important;
  opacity: 0.9;
  transform: none !important;
  transition: color 0.32s ease, opacity 0.32s ease !important;
}

body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card h3 {
  grid-area: title;
  margin: 0 !important;
  color: currentColor !important;
  font-size: clamp(18px, 1.4vw, 24px) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  transform: none !important;
  transition: color 0.32s ease !important;
}

body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card p {
  grid-area: copy;
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.68) !important;
  font-size: var(--body) !important;
  font-weight: 300 !important;
  line-height: 1.58 !important;
  transition: color 0.32s ease !important;
}

body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card:hover p,
body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card:focus p,
body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card:focus-visible p {
  color: rgba(0, 0, 0, 0.68) !important;
}

body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card:hover .about-ref-expertise-card__icon,
body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card:focus .about-ref-expertise-card__icon,
body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card:focus-visible .about-ref-expertise-card__icon,
body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card:hover h3,
body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card:focus h3,
body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card:focus-visible h3 {
  color: #000000 !important;
  transform: none !important;
}

@media (max-width: 991px) {
  body.about-rebuilt-page .about-ref-expertise .about-ref-expertise__grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 575px) {
  body.about-rebuilt-page .about-ref-expertise .about-ref-expertise-card {
    grid-template-columns: 1fr;
    grid-template-areas:
      "number"
      "title"
      "copy";
    min-height: 0 !important;
  }
}

/* Site-wide hero overlay and breadcrumb cleanup */
body:not(.home-page-body) .section-project-hero .project-hero-shade {
  z-index: 1;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.16) 0%, rgba(0, 0, 0, 0.2) 100%) !important;
  opacity: 1 !important;
}

body:not(.home-page-body) .section-project-hero .project-hero-shade::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: clamp(150px, 26.0417svh, 320px);
  pointer-events: none;
  content: "";
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.56) 66%, #020303 100%);
}

.breadcrumbs,
.breadcrumb,
.about-ref-breadcrumb {
  display: none !important;
}

/* About page story: partner-site CTA layout */
body.about-rebuilt-page .about-ref-story {
  min-height: auto !important;
  padding: clamp(58px, 7.2vw, 96px) 0 !important;
  background: #ffffff !important;
  color: #000000 !important;
  overflow: hidden;
}

body.about-rebuilt-page .about-ref-story > .container {
  display: block !important;
  min-height: 0 !important;
}

body.about-rebuilt-page .about-ref-story__grid {
  width: 100%;
  display: grid !important;
  grid-template-columns: minmax(320px, 0.86fr) minmax(460px, 1.14fr) !important;
  align-items: center !important;
  gap: clamp(48px, 6.2vw, 110px) !important;
}

body.about-rebuilt-page .about-ref-story__copy {
  max-width: none !important;
  display: grid !important;
  gap: clamp(24px, 2.3vw, 36px) !important;
  color: #000000 !important;
}

body.about-rebuilt-page .about-ref-story .about-ref-heading {
  position: relative;
  margin: 0 !important;
  padding-left: clamp(18px, 1.5vw, 26px);
  color: #000000 !important;
  font-family: var(--font-main, "Inter", Arial, sans-serif) !important;
  font-size: clamp(36px, 3.15vw, 54px) !important;
  font-weight: 300 !important;
  line-height: 0.98 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

body.about-rebuilt-page .about-ref-story .about-ref-heading::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 4px;
  height: 1.9em;
  content: "";
  background: #8f2d46;
  transform: translateY(-50%);
}

body.about-rebuilt-page .about-ref-story .about-ref-heading::after {
  display: none !important;
  content: none !important;
}

body.about-rebuilt-page .about-ref-story__copy p {
  max-width: 60ch;
  margin: 0 !important;
  color: rgba(0, 0, 0, 0.88) !important;
  font-family: var(--font-main, "Inter", Arial, sans-serif) !important;
  font-size: clamp(17px, 1.12vw, 21px) !important;
  font-weight: 400 !important;
  line-height: 1.34 !important;
  letter-spacing: 0 !important;
  opacity: 1 !important;
}

body.about-rebuilt-page .about-ref-story__site-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 30px);
  margin: clamp(4px, 0.8vw, 10px) 0;
}

body.about-rebuilt-page .about-ref-story__site-card {
  min-height: clamp(118px, 8vw, 150px);
  display: grid;
  align-content: center;
  gap: clamp(12px, 1vw, 16px);
  padding: clamp(20px, 2vw, 30px);
  border: 1px solid rgba(0, 0, 0, 0.32);
  background: #ffffff;
  color: #000000;
  text-decoration: none;
  transition:
    background-color 360ms cubic-bezier(0.16, 1, 0.3, 1),
    border-color 360ms cubic-bezier(0.16, 1, 0.3, 1),
    color 360ms cubic-bezier(0.16, 1, 0.3, 1),
    transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

body.about-rebuilt-page .about-ref-story__site-card span {
  color: currentColor;
  font-family: var(--font-main, "Inter", Arial, sans-serif);
  font-size: clamp(20px, 1.7vw, 30px);
  font-weight: 300;
  line-height: 1.04;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

body.about-rebuilt-page .about-ref-story__site-card strong {
  color: currentColor;
  font-family: var(--font-main, "Inter", Arial, sans-serif);
  font-size: clamp(12px, 0.78vw, 14px);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.6;
}

body.about-rebuilt-page .about-ref-story__site-card:hover,
body.about-rebuilt-page .about-ref-story__site-card:focus-visible {
  border-color: #000000;
  background: #000000;
  color: #ffffff;
  transform: translateY(-5px);
}

body.about-rebuilt-page .about-ref-story .about-ref-story__media {
  justify-self: stretch !important;
  width: 100% !important;
  margin: 0 !important;
  aspect-ratio: 16 / 9 !important;
  border: 0 !important;
  background: #f4f4f4 !important;
}

body.about-rebuilt-page .about-ref-story .about-ref-story__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  filter: grayscale(1) contrast(1.06) brightness(1.04) !important;
  transform: scale(1.01);
}

body.about-rebuilt-page .about-ref-story .about-ref-story__media:hover img {
  transform: scale(1.045);
}

body.kpd-interior-page.about-rebuilt-page .about-ref-story.kpd-reveal-target .about-ref-story__media {
  transform: translate3d(46px, 0, 0);
}

@media (max-width: 1199px) {
  body.about-rebuilt-page .about-ref-story__grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.about-rebuilt-page .about-ref-story .about-ref-story__media {
    aspect-ratio: 16 / 8 !important;
  }
}

@media (max-width: 767px) {
  body.about-rebuilt-page .about-ref-story {
    padding: clamp(46px, 12vw, 72px) 0 !important;
  }

  body.about-rebuilt-page .about-ref-story__site-links {
    grid-template-columns: 1fr;
  }

  body.about-rebuilt-page .about-ref-story .about-ref-story__media {
    aspect-ratio: 16 / 10 !important;
  }
}

/* Investor Guide refinement: global site rhythm, reveal sections, sharp interactive cards */
body.investor-guide-page-body {
  --investor-ref-bg: #f4f4f2;
  --investor-ref-ink: #000000;
  --investor-ref-muted: rgba(0, 0, 0, 0.62);
  --investor-ref-line: rgba(0, 0, 0, 0.16);
  --investor-ref-dark-line: rgba(255, 255, 255, 0.18);
  --investor-ref-dark-muted: rgba(255, 255, 255, 0.68);
  --investor-ref-width: min(var(--kpd-container-width, 1326px), calc(100vw - clamp(36px, 6vw, 120px)));
  background: #000000;
}

body.investor-guide-page-body .project-title {
  max-width: 10ch;
}

body.investor-guide-page-body :is(.investor-ref-inquiry, .investor-ref-section, .investor-ref-pattern, .investor-ref-management, .investor-ref-awards) {
  background-image: none !important;
  font-family: var(--font-main, "Inter", Arial, sans-serif) !important;
}

body.investor-guide-page-body :is(.investor-ref-inquiry, .investor-ref-section, .investor-ref-pattern, .investor-ref-management) > .container {
  width: var(--investor-ref-width) !important;
  max-width: var(--investor-ref-width) !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body.investor-guide-page-body :is(.investor-ref-section, .investor-ref-pattern) {
  padding: clamp(70px, 7.2vw, 108px) 0 !important;
}

body.investor-guide-page-body :is(.investor-ref-yield, .investor-ref-golden, .investor-ref-liquidity, .investor-ref-relations, .investor-ref-awards) {
  background: #000000 !important;
  color: #ffffff !important;
}

body.investor-guide-page-body :is(.investor-ref-yield, .investor-ref-golden, .investor-ref-liquidity, .investor-ref-relations) :is(.investor-ref-heading, h2, h3, strong) {
  color: #ffffff !important;
}

body.investor-guide-page-body :is(.investor-ref-yield, .investor-ref-golden, .investor-ref-liquidity, .investor-ref-relations) :is(p, li, .investor-ref-note, .investor-ref-disclaimer) {
  color: var(--investor-ref-dark-muted) !important;
}

body.investor-guide-page-body :is(.investor-ref-secure, .investor-ref-payment, .investor-ref-trust, .investor-ref-inventory, .investor-ref-faq).home-white-reveal-section {
  --white-reveal-color: var(--investor-ref-bg);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #000000 !important;
  color: var(--white-reveal-ink, #ffffff) !important;
}

body.investor-guide-page-body :is(.investor-ref-secure, .investor-ref-payment, .investor-ref-trust, .investor-ref-inventory, .investor-ref-faq).home-white-reveal-section::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block !important;
  pointer-events: none;
  content: "" !important;
  background: var(--white-reveal-color, #f4f4f2) !important;
  transform: translate3d(0, var(--white-reveal-y, 106%), 0) !important;
  will-change: transform;
}

body.investor-guide-page-body :is(.investor-ref-secure, .investor-ref-payment, .investor-ref-trust, .investor-ref-inventory, .investor-ref-faq).home-white-reveal-section > .container {
  position: relative;
  z-index: 2;
}

body.investor-guide-page-body :is(.investor-ref-secure, .investor-ref-payment, .investor-ref-trust, .investor-ref-inventory, .investor-ref-faq).home-white-reveal-section :is(h2, h3, strong, summary, .investor-ref-icon) {
  color: var(--white-reveal-ink, #ffffff) !important;
  -webkit-text-fill-color: var(--white-reveal-ink, #ffffff) !important;
  transition: color 280ms ease, -webkit-text-fill-color 280ms ease, border-color 280ms ease;
}

body.investor-guide-page-body :is(.investor-ref-secure, .investor-ref-payment, .investor-ref-trust, .investor-ref-inventory, .investor-ref-faq).home-white-reveal-section :is(p, li, .investor-ref-note, .investor-ref-disclaimer) {
  color: var(--white-reveal-muted, rgba(255, 255, 255, 0.68)) !important;
  -webkit-text-fill-color: var(--white-reveal-muted, rgba(255, 255, 255, 0.68)) !important;
  transition: color 280ms ease, -webkit-text-fill-color 280ms ease;
}

body.investor-guide-page-body .investor-ref-heading,
body.investor-guide-page-body :is(.investor-ref-centered, .investor-ref-split-head, .investor-ref-title-row, .investor-ref-relations__grid, .investor-ref-faq__grid) h2,
body.investor-guide-page-body .investor-ref-management__copy h2,
body.investor-guide-page-body .investor-ref-form-panel__copy h2 {
  color: currentColor;
  font-size: clamp(38px, 3.8vw, 58px) !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

body.investor-guide-page-body .investor-ref-heading::after,
body.investor-guide-page-body :is(.investor-ref-centered, .investor-ref-split-head, .investor-ref-title-row, .investor-ref-relations__grid, .investor-ref-faq__grid) h2::after,
body.investor-guide-page-body .investor-ref-management__copy h2::after,
body.investor-guide-page-body .investor-ref-form-panel__copy h2::after {
  width: clamp(68px, 5.4vw, 110px);
  margin-top: clamp(16px, 1.8vw, 26px);
  background: currentColor;
  opacity: 0.58;
}

body.investor-guide-page-body :is(.investor-ref-centered p, .investor-ref-title-row p, .investor-ref-split-head p, .investor-ref-management__copy p, .investor-ref-relations__grid p) {
  max-width: 58ch;
  font-size: clamp(15px, 1.08vw, 18px) !important;
  font-weight: 300 !important;
  line-height: 1.62 !important;
  letter-spacing: 0 !important;
}

body.investor-guide-page-body .investor-ref-inquiry {
  padding: clamp(54px, 6vw, 86px) 0 !important;
  background: #000000 !important;
  color: #ffffff !important;
}

body.investor-guide-page-body .investor-ref-form-panel {
  position: relative;
  overflow: hidden;
  border-color: var(--investor-ref-dark-line) !important;
  background: #070707 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

body.investor-guide-page-body .investor-ref-form-panel::after {
  position: absolute;
  right: -18%;
  bottom: -40%;
  width: 55%;
  height: 85%;
  pointer-events: none;
  content: "";
  background: radial-gradient(circle, rgba(255, 255, 255, 0.13), transparent 62%);
}

body.investor-guide-page-body .investor-ref-form-panel > * {
  position: relative;
  z-index: 1;
}

body.investor-guide-page-body .investor-ref-form :is(input, select),
body.investor-guide-page-body .investor-ref-phone {
  min-height: 58px !important;
  border-radius: 0 !important;
  border-color: rgba(255, 255, 255, 0.28) !important;
  background: rgba(255, 255, 255, 0.04) !important;
}

body.investor-guide-page-body .investor-ref-form :is(input, select):focus,
body.investor-guide-page-body .investor-ref-phone:focus-within {
  border-color: #ffffff !important;
  background: rgba(255, 255, 255, 0.1) !important;
}

body.investor-guide-page-body .investor-ref-form .tf-btn {
  min-height: 58px !important;
}

body.investor-guide-page-body :is(.investor-ref-card-scroll, .investor-ref-four-grid, .investor-ref-image-grid, .investor-ref-inventory-grid, .investor-ref-payment-grid, .investor-ref-two-grid) {
  gap: clamp(16px, 1.45vw, 22px) !important;
}

body.investor-guide-page-body .investor-ref-card-scroll {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  overflow: visible !important;
}

body.investor-guide-page-body .investor-ref-four-grid,
body.investor-guide-page-body .investor-ref-image-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body.investor-guide-page-body .investor-ref-liquidity .investor-ref-two-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body.investor-guide-page-body :is(.investor-ref-info-card, .investor-ref-image-card, .investor-ref-inventory-card, .investor-ref-doc-card, .investor-ref-faq__list details, .investor-ref-awards__track article) {
  position: relative;
  z-index: 0;
  overflow: hidden;
  border-radius: 0 !important;
  box-shadow: none !important;
  isolation: isolate;
  transition:
    transform 520ms cubic-bezier(0.16, 1, 0.3, 1),
    border-color 320ms ease,
    background-color 320ms ease,
    color 320ms ease !important;
}

body.investor-guide-page-body :is(.investor-ref-info-card, .investor-ref-doc-card, .investor-ref-faq__list details) {
  min-height: clamp(210px, 15vw, 250px);
  display: grid;
  align-content: start;
  background: #ffffff !important;
  color: #000000 !important;
}

body.investor-guide-page-body :is(.investor-ref-golden, .investor-ref-yield, .investor-ref-liquidity, .investor-ref-relations) :is(.investor-ref-info-card, .investor-ref-doc-card) {
  border-color: var(--investor-ref-dark-line) !important;
  background: #080808 !important;
  color: #ffffff !important;
}

body.investor-guide-page-body :is(.investor-ref-secure, .investor-ref-payment, .investor-ref-trust, .investor-ref-inventory, .investor-ref-faq).home-white-reveal-section :is(.investor-ref-info-card, .investor-ref-image-card, .investor-ref-inventory-card, .investor-ref-faq__list details) {
  border-color: var(--white-reveal-border, rgba(255, 255, 255, 0.28)) !important;
  background: var(--white-reveal-surface, rgba(0, 0, 0, 0.16)) !important;
  color: var(--white-reveal-ink, #ffffff) !important;
}

body.investor-guide-page-body :is(.investor-ref-secure, .investor-ref-payment, .investor-ref-trust, .investor-ref-inventory, .investor-ref-faq).home-white-reveal-section.is-white-revealed :is(.investor-ref-info-card, .investor-ref-image-card, .investor-ref-inventory-card, .investor-ref-faq__list details) {
  border-color: rgba(0, 0, 0, 0.16) !important;
  background: #ffffff !important;
  color: #000000 !important;
}

@media (hover: hover) {
  body.investor-guide-page-body :is(.investor-ref-info-card, .investor-ref-image-card, .investor-ref-inventory-card, .investor-ref-doc-card, .investor-ref-faq__list details, .investor-ref-awards__track article):hover {
    transform: translateY(-6px) !important;
  }

  body.investor-guide-page-body :is(.investor-ref-golden, .investor-ref-yield, .investor-ref-liquidity, .investor-ref-relations, .investor-ref-awards) :is(.investor-ref-info-card, .investor-ref-doc-card, .investor-ref-awards__track article):hover {
    border-color: #ffffff !important;
    background: #ffffff !important;
    color: #000000 !important;
  }

  body.investor-guide-page-body :is(.investor-ref-golden, .investor-ref-yield, .investor-ref-liquidity, .investor-ref-relations, .investor-ref-awards) :is(.investor-ref-info-card, .investor-ref-doc-card, .investor-ref-awards__track article):hover :is(h3, strong, span, p, a, li) {
    color: #000000 !important;
    -webkit-text-fill-color: #000000 !important;
  }

  body.investor-guide-page-body :is(.investor-ref-secure, .investor-ref-payment, .investor-ref-trust, .investor-ref-inventory, .investor-ref-faq).home-white-reveal-section.is-white-revealed :is(.investor-ref-info-card, .investor-ref-image-card, .investor-ref-inventory-card, .investor-ref-faq__list details):hover {
    border-color: #000000 !important;
    background: #000000 !important;
    color: #ffffff !important;
  }

  body.investor-guide-page-body :is(.investor-ref-secure, .investor-ref-payment, .investor-ref-trust, .investor-ref-inventory, .investor-ref-faq).home-white-reveal-section.is-white-revealed :is(.investor-ref-info-card, .investor-ref-image-card, .investor-ref-inventory-card, .investor-ref-faq__list details):hover :is(h3, strong, span, p, li, summary) {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }
}

body.investor-guide-page-body .investor-ref-icon,
body.investor-guide-page-body .investor-ref-doc-card > span {
  width: 42px;
  height: 42px;
  margin-bottom: clamp(20px, 2.2vw, 36px);
  border-color: currentColor !important;
  color: currentColor !important;
  opacity: 0.72;
}

body.investor-guide-page-body :is(.investor-ref-info-card h3, .investor-ref-image-card h3, .investor-ref-inventory-card h3, .investor-ref-doc-card h3) {
  margin: 0 0 12px !important;
  color: currentColor !important;
  font-size: clamp(20px, 1.55vw, 27px) !important;
  font-weight: 400 !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.investor-guide-page-body :is(.investor-ref-info-card p, .investor-ref-image-card p, .investor-ref-doc-card p, .investor-ref-faq__list p, .investor-ref-inventory-card li) {
  color: currentColor;
  opacity: 0.66;
  font-size: clamp(14px, 0.95vw, 16px) !important;
  line-height: 1.58 !important;
}

body.investor-guide-page-body .investor-ref-info-card strong {
  color: currentColor !important;
  font-size: clamp(28px, 2.4vw, 40px) !important;
  font-weight: 300 !important;
  letter-spacing: 0 !important;
}

body.investor-guide-page-body .investor-ref-yield-table {
  max-width: 1040px !important;
  border-color: var(--investor-ref-dark-line) !important;
  background: #080808 !important;
  color: #ffffff !important;
}

body.investor-guide-page-body .investor-ref-yield-table__head {
  background: #ffffff !important;
  color: #000000 !important;
}

body.investor-guide-page-body .investor-ref-yield-table__row {
  border-color: rgba(255, 255, 255, 0.12) !important;
}

body.investor-guide-page-body .investor-ref-yield-table__row strong,
body.investor-guide-page-body .investor-ref-yield-bar em {
  color: #ffffff !important;
}

body.investor-guide-page-body .investor-ref-yield-table__row strong span {
  min-width: 38px;
  display: inline-flex;
  justify-content: center;
  padding: 4px 6px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.08em;
}

body.investor-guide-page-body .investor-ref-yield-bar::before {
  background: rgba(255, 255, 255, 0.12) !important;
}

body.investor-guide-page-body .investor-ref-yield-bar span {
  background: #ffffff !important;
}

body.investor-guide-page-body .investor-ref-split-head,
body.investor-guide-page-body .investor-ref-title-row {
  grid-template-columns: minmax(260px, 0.36fr) minmax(0, 1fr) !important;
}

body.investor-guide-page-body .investor-ref-image-card,
body.investor-guide-page-body .investor-ref-inventory-card {
  display: grid;
  grid-template-rows: auto 1fr;
}

body.investor-guide-page-body :is(.investor-ref-image-card img, .investor-ref-inventory-card img) {
  width: 100%;
  display: block;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover;
  filter: none !important;
  transform: scale(1.01);
}

body.investor-guide-page-body :is(.investor-ref-image-card:hover img, .investor-ref-inventory-card:hover img) {
  transform: scale(1.055) !important;
}

body.investor-guide-page-body :is(.investor-ref-image-card h3, .investor-ref-image-card p) {
  padding-inline: clamp(20px, 2vw, 28px) !important;
}

body.investor-guide-page-body .investor-ref-image-card h3 {
  padding-top: clamp(20px, 2vw, 28px) !important;
}

body.investor-guide-page-body .investor-ref-image-card p {
  padding-bottom: clamp(22px, 2vw, 30px) !important;
}

body.investor-guide-page-body .investor-ref-management {
  min-height: clamp(560px, 62vw, 700px) !important;
}

body.investor-guide-page-body .investor-ref-management__bg img {
  opacity: 0.58 !important;
}

body.investor-guide-page-body .investor-ref-management__orbits {
  min-height: 0 !important;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 1.7vw, 24px);
}

body.investor-guide-page-body .investor-ref-management__orbits article {
  position: relative !important;
  inset: auto !important;
  width: auto !important;
  height: auto !important;
  min-height: clamp(230px, 18vw, 300px);
  display: grid;
  align-content: end;
  justify-items: start;
  place-items: initial !important;
  border-radius: 0 !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
  background: rgba(0, 0, 0, 0.64) !important;
  padding: clamp(22px, 2.2vw, 34px) !important;
  text-align: left !important;
  backdrop-filter: none !important;
  transition:
    transform 520ms cubic-bezier(0.16, 1, 0.3, 1),
    background-color 320ms ease,
    color 320ms ease,
    border-color 320ms ease;
}

body.investor-guide-page-body .investor-ref-management__orbits article:hover {
  border-color: #ffffff !important;
  background: #ffffff !important;
  color: #000000 !important;
  transform: translateY(-6px);
}

body.investor-guide-page-body .investor-ref-management__orbits article:hover :is(strong, span) {
  color: #000000 !important;
}

body.investor-guide-page-body .investor-ref-awards {
  padding: clamp(56px, 6vw, 84px) 0 !important;
}

body.investor-guide-page-body .investor-ref-awards__track {
  width: var(--investor-ref-width) !important;
  grid-auto-columns: minmax(210px, 1fr) !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-auto-flow: unset !important;
  overflow: visible !important;
}

body.investor-guide-page-body .investor-ref-awards__track article {
  min-height: clamp(170px, 13vw, 220px) !important;
  border-radius: 0 !important;
  border-color: var(--investor-ref-dark-line) !important;
  background: #080808 !important;
  color: #ffffff !important;
}

body.investor-guide-page-body .investor-ref-awards__track strong,
body.investor-guide-page-body .investor-ref-awards__track span {
  color: currentColor !important;
}

body.investor-guide-page-body .investor-ref-awards__track span {
  opacity: 0.64;
}

body.investor-guide-page-body .investor-ref-faq__list details[open] {
  transform: none !important;
}

body.investor-guide-page-body .investor-ref-faq__list details {
  min-height: 0 !important;
  display: block !important;
}

body.investor-guide-page-body .investor-ref-faq__list summary {
  color: currentColor !important;
}

body.investor-guide-page-body .investor-ref-doc-card a {
  color: currentColor !important;
}

body.investor-guide-page-body .kpd-reveal-target:is(.investor-ref-form-panel, .investor-ref-centered, .investor-ref-heading, .investor-ref-split-head, .investor-ref-title-row, .investor-ref-info-card, .investor-ref-image-card, .investor-ref-management__copy, .investor-ref-management__orbits article, .investor-ref-inventory-card, .investor-ref-doc-card, .investor-ref-awards__track article, .investor-ref-faq__list details) {
  opacity: 0;
  filter: blur(10px);
  transform: translate3d(0, 34px, 0);
  transition:
    opacity 780ms cubic-bezier(0.16, 1, 0.3, 1),
    filter 920ms cubic-bezier(0.16, 1, 0.3, 1),
    transform 960ms cubic-bezier(0.16, 1, 0.3, 1),
    border-color 320ms ease,
    background-color 320ms ease,
    color 320ms ease !important;
}

body.investor-guide-page-body .kpd-reveal-target:is(.investor-ref-form-panel, .investor-ref-centered, .investor-ref-heading, .investor-ref-split-head, .investor-ref-title-row, .investor-ref-info-card, .investor-ref-image-card, .investor-ref-management__copy, .investor-ref-management__orbits article, .investor-ref-inventory-card, .investor-ref-doc-card, .investor-ref-awards__track article, .investor-ref-faq__list details).is-kpd-visible {
  opacity: 1;
  filter: blur(0);
  transform: translate3d(0, 0, 0);
}

@media (max-width: 1199px) {
  body.investor-guide-page-body .investor-ref-card-scroll,
  body.investor-guide-page-body .investor-ref-four-grid,
  body.investor-guide-page-body .investor-ref-image-grid,
  body.investor-guide-page-body .investor-ref-liquidity .investor-ref-two-grid,
  body.investor-guide-page-body .investor-ref-management__orbits,
  body.investor-guide-page-body .investor-ref-awards__track {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 991px) {
  body.investor-guide-page-body .investor-ref-form-panel,
  body.investor-guide-page-body .investor-ref-split-head,
  body.investor-guide-page-body .investor-ref-title-row,
  body.investor-guide-page-body .investor-ref-relations__grid,
  body.investor-guide-page-body .investor-ref-faq__grid {
    grid-template-columns: 1fr !important;
  }

  body.investor-guide-page-body .investor-ref-form__row--four,
  body.investor-guide-page-body .investor-ref-payment-grid,
  body.investor-guide-page-body .investor-ref-inventory-grid {
    grid-template-columns: 1fr !important;
  }

  body.investor-guide-page-body .investor-ref-management > .container {
    grid-template-columns: 1fr !important;
    padding-block: clamp(60px, 8vw, 92px);
  }
}

@media (max-width: 767px) {
  body.investor-guide-page-body {
    --investor-ref-width: min(100% - 28px, var(--kpd-container-width, 1326px));
  }

  body.investor-guide-page-body :is(.investor-ref-section, .investor-ref-pattern, .investor-ref-inquiry) {
    padding: clamp(52px, 13vw, 74px) 0 !important;
  }

  body.investor-guide-page-body :is(.investor-ref-card-scroll, .investor-ref-four-grid, .investor-ref-image-grid, .investor-ref-liquidity .investor-ref-two-grid, .investor-ref-management__orbits, .investor-ref-awards__track, .investor-ref-form__row--two) {
    grid-template-columns: 1fr !important;
  }

  body.investor-guide-page-body .investor-ref-yield-table__head,
  body.investor-guide-page-body .investor-ref-yield-table__row {
    min-width: 680px;
  }
}

/* About Mission / Vision: white reveal editorial band */
body.about-rebuilt-page .about-ref-mission-vision,
body.about-rebuilt-page .about-ref-mission-vision.home-white-reveal-section,
body.about-rebuilt-page .about-ref-mission-vision.is-white-revealed {
  --white-reveal-color: #ffffff;
  position: relative;
  isolation: isolate;
  min-height: 0 !important;
  display: block !important;
  overflow: hidden;
  padding: clamp(74px, 7.4vw, 122px) 0 !important;
  background: #000000 !important;
  background-color: #000000 !important;
  background-image: none !important;
  color: var(--white-reveal-ink, #ffffff) !important;
}

body.about-rebuilt-page .about-ref-mission-vision.home-white-reveal-section::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block !important;
  pointer-events: none;
  content: "" !important;
  opacity: 1 !important;
  background: var(--white-reveal-color, #ffffff) !important;
  transform: translate3d(0, var(--white-reveal-y, 106%), 0) !important;
  will-change: transform;
}

body.about-rebuilt-page .about-ref-mission-vision::after,
body.about-rebuilt-page .about-ref-mission-vision.home-white-reveal-section::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

body.about-rebuilt-page .about-ref-mission-vision > .container {
  position: relative;
  z-index: 2;
  width: min(var(--kpd-container-width, 1326px), calc(100vw - clamp(40px, 5vw, 120px))) !important;
  max-width: none !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__grid {
  position: relative;
  z-index: 2;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(42px, 5vw, 78px) !important;
  align-items: start;
  border: 0 !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__grid::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: auto;
  display: block !important;
  background: var(--white-reveal-border, rgba(255, 255, 255, 0.3)) !important;
  content: "" !important;
  opacity: 0.8;
  transform: translateX(-50%);
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item,
body.about-rebuilt-page .about-ref-mission-vision.is-white-revealed .about-ref-band__item {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(290px, 0.43fr) minmax(0, 1fr);
  gap: clamp(22px, 2vw, 32px) !important;
  align-items: start;
  padding: 0 !important;
  border: 0 !important;
  border-left: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--white-reveal-ink, #ffffff) !important;
  filter: none !important;
  transform: none;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item + .about-ref-band__item {
  border-left: 0 !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item::before,
body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item::after {
  display: none !important;
  content: none !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item h2 {
  margin: 0 !important;
  color: var(--white-reveal-ink, #ffffff) !important;
  -webkit-text-fill-color: var(--white-reveal-ink, #ffffff) !important;
  font-family: var(--font-main, "Inter", Arial, sans-serif) !important;
  font-size: clamp(32px, 2.25vw, 40px) !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  letter-spacing: 0.065em !important;
  text-transform: uppercase !important;
  white-space: nowrap;
  transition:
    color 280ms ease,
    -webkit-text-fill-color 280ms ease;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item h2::after {
  display: none !important;
  content: none !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item p,
body.about-rebuilt-page .about-ref-mission-vision.is-white-revealed .about-ref-band__item p {
  max-width: 58ch;
  margin: 0 !important;
  color: var(--white-reveal-ink, #ffffff) !important;
  -webkit-text-fill-color: var(--white-reveal-ink, #ffffff) !important;
  font-family: var(--font-main, "Inter", Arial, sans-serif) !important;
  font-size: clamp(16px, 1.08vw, 20px) !important;
  font-weight: 600 !important;
  line-height: 1.44 !important;
  letter-spacing: 0 !important;
  opacity: 1 !important;
  transition:
    color 280ms ease,
    -webkit-text-fill-color 280ms ease;
}

@media (max-width: 1199px) {
  body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item {
    grid-template-columns: 1fr;
    gap: 16px !important;
  }
}

@media (max-width: 991px) {
  body.about-rebuilt-page .about-ref-mission-vision {
    padding: clamp(58px, 9vw, 82px) 0 !important;
  }

  body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__grid {
    grid-template-columns: 1fr !important;
    gap: clamp(34px, 6vw, 54px) !important;
  }

  body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__grid::before {
    top: 50%;
    right: 0;
    bottom: auto;
    left: 0;
    width: 100%;
    height: 1px;
    transform: translateY(-50%);
  }
}

@media (max-width: 767px) {
  body.about-rebuilt-page .about-ref-mission-vision > .container {
    width: min(100% - 28px, var(--kpd-container-width, 1326px)) !important;
  }

  body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item h2 {
    white-space: normal;
  }
}

/* Developments hero: match the homepage hero overlay opacity. */
body.developments-page-body:not(.home-page-body) .section-project-hero .project-hero-bg img,
body.kpd-page-ready.developments-page-body:not(.home-page-body) .section-project-hero .project-hero-bg img {
  visibility: visible !important;
  opacity: 1 !important;
  filter: none !important;
  transform: scale(1.015);
}

body.developments-page-body:not(.home-page-body) .section-project-hero .project-hero-shade {
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.4) 56%, rgba(0, 0, 0, 0.9) 100%) !important;
  opacity: 1 !important;
}

/* About page story: dark brand treatment. */
body.about-rebuilt-page .about-ref-story {
  background: #000000 !important;
  color: #ffffff !important;
}

body.about-rebuilt-page .about-ref-story__copy {
  color: #ffffff !important;
}

body.about-rebuilt-page .about-ref-story .about-ref-heading {
  padding-left: 0 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-family: var(--font-main, "Inter", Arial, sans-serif) !important;
  font-size: 40px !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

body.about-rebuilt-page .about-ref-story .about-ref-heading::before {
  display: none !important;
  content: none !important;
}

body.about-rebuilt-page .about-ref-story .about-ref-heading::after {
  display: block !important;
  width: clamp(84px, 9vw, 132px);
  height: 1px;
  margin-top: clamp(18px, 2.4vw, 28px);
  content: "" !important;
  background: currentColor;
  opacity: 0.48;
}

body.about-rebuilt-page .about-ref-story__copy p {
  max-width: 60ch;
  color: rgba(255, 255, 255, 0.64) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.64) !important;
  font-family: var(--font-main, "Inter", Arial, sans-serif) !important;
  font-size: var(--body) !important;
  font-weight: 300 !important;
  line-height: 1.65 !important;
  letter-spacing: 0 !important;
}

body.about-rebuilt-page .about-ref-story__site-card {
  border-color: rgba(255, 255, 255, 0.24) !important;
  background: rgba(255, 255, 255, 0.035) !important;
  color: #ffffff !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03);
}

body.about-rebuilt-page .about-ref-story__site-card span {
  font-size: clamp(20px, 1.55vw, 28px) !important;
  font-weight: 300 !important;
  line-height: 1.06 !important;
  letter-spacing: 0.04em !important;
}

body.about-rebuilt-page .about-ref-story__site-card strong {
  color: rgba(255, 255, 255, 0.58) !important;
  opacity: 1 !important;
}

body.about-rebuilt-page .about-ref-story__site-card:hover,
body.about-rebuilt-page .about-ref-story__site-card:focus-visible {
  border-color: #ffffff !important;
  background: #ffffff !important;
  color: #000000 !important;
}

body.about-rebuilt-page .about-ref-story__site-card:hover strong,
body.about-rebuilt-page .about-ref-story__site-card:focus-visible strong {
  color: rgba(0, 0, 0, 0.62) !important;
}

body.about-rebuilt-page .about-ref-story .about-ref-story__media {
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  background: #050505 !important;
}

body.about-rebuilt-page .about-ref-story .about-ref-story__media img {
  filter: grayscale(1) contrast(1.05) brightness(0.92) !important;
}

/* Developments/property compact pass */
body.developments-page-body:not(.home-page-body) .section-development-directory {
  padding-top: clamp(42px, 5vw, 70px) !important;
  padding-bottom: clamp(42px, 5vw, 70px) !important;
}

body.developments-page-body:not(.home-page-body) .development-directory-features {
  gap: 0 !important;
}

body.developments-page-body:not(.home-page-body) .development-feature,
body.developments-page-body:not(.home-page-body) .development-feature--reverse,
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature,
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature--reverse {
  display: grid !important;
  grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.72fr) !important;
  gap: clamp(18px, 2vw, 32px) !important;
  min-height: 0 !important;
  padding: clamp(18px, 2vw, 28px) 0 !important;
}

body.developments-page-body:not(.home-page-body) .development-directory-features > .development-feature:first-child,
body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:first-child .development-feature {
  display: grid !important;
  grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.72fr) !important;
  min-height: 0 !important;
  padding: clamp(18px, 2vw, 28px) 0 !important;
}

body.developments-page-body.kpd-interior-page:not(.home-page-body) .section-development-directory .development-directory-features > .development-feature:first-child .development-feature__copy,
body.developments-page-body.kpd-interior-page:not(.home-page-body) .section-development-directory .development-directory-features > .overflow-hidden:first-child .development-feature .development-feature__copy {
  min-height: 0 !important;
  padding: clamp(18px, 2vw, 28px) !important;
  align-self: center !important;
}

body.developments-page-body.kpd-interior-page:not(.home-page-body) .section-development-directory .development-directory-features > .development-feature:first-child .development-feature__title,
body.developments-page-body.kpd-interior-page:not(.home-page-body) .section-development-directory .development-directory-features > .overflow-hidden:first-child .development-feature .development-feature__title {
  font-size: clamp(30px, 2.8vw, 44px) !important;
}

body.developments-page-body:not(.home-page-body) .development-feature__copy {
  gap: clamp(8px, 1vw, 12px) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__copy {
  min-height: 0 !important;
  padding: clamp(18px, 2vw, 28px) !important;
  align-content: start !important;
}

body.developments-page-body:not(.home-page-body) .development-directory-features > .development-feature:not(:first-child),
body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:not(:first-child) .development-feature {
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  padding: 0 !important;
}

body.developments-page-body:not(.home-page-body) .development-directory-features > .development-feature:not(:first-child) .development-feature__media,
body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:not(:first-child) .development-feature .development-feature__media {
  order: 1 !important;
  width: 100% !important;
  aspect-ratio: 16 / 7.8 !important;
  max-height: clamp(160px, 18vw, 230px) !important;
}

body.developments-page-body:not(.home-page-body) .development-directory-features > .development-feature:not(:first-child) .development-feature__copy,
body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:not(:first-child) .development-feature .development-feature__copy {
  order: 2 !important;
  gap: 9px !important;
  padding: clamp(16px, 1.5vw, 20px) !important;
}

body.developments-page-body:not(.home-page-body) .development-directory-features > .development-feature:not(:first-child) .development-feature__title,
body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:not(:first-child) .development-feature .development-feature__title {
  font-size: clamp(27px, 2.2vw, 34px) !important;
  line-height: 1.04 !important;
}

body.developments-page-body:not(.home-page-body) .development-directory-features > .development-feature:not(:first-child) .development-feature__text,
body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:not(:first-child) .development-feature .development-feature__text {
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
}

body.developments-page-body:not(.home-page-body) .development-directory-features > .development-feature:not(:first-child) .development-feature__actions,
body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:not(:first-child) .development-feature .development-feature__actions {
  gap: 8px !important;
}

body.developments-page-body:not(.home-page-body) .development-feature__title {
  font-size: clamp(30px, 2.8vw, 44px) !important;
  line-height: 1.02 !important;
}

body.developments-page-body:not(.home-page-body) .development-feature__text {
  max-width: 48ch !important;
  line-height: 1.46 !important;
}

body.developments-page-body:not(.home-page-body) .development-feature__actions {
  margin-top: 0 !important;
}

body.developments-page-body:not(.home-page-body) .development-feature__media,
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__media {
  aspect-ratio: 16 / 7.2 !important;
  min-height: 0 !important;
  max-height: clamp(190px, 22vw, 315px);
}

body.project-page-body:not(.home-page-body) .section-project-location[hidden] {
  display: none !important;
}

body.project-page-body:not(.home-page-body) .section-villa23-overview {
  --villa23-overview-pad-y: clamp(30px, 3.6svh, 46px);
  --villa23-overview-min: clamp(430px, 54svh, 590px);
  min-height: var(--villa23-overview-min) !important;
  padding-top: var(--villa23-overview-pad-y) !important;
  padding-bottom: var(--villa23-overview-pad-y) !important;
}

body.project-page-body:not(.home-page-body) .section-villa23-overview > .container {
  min-height: calc(var(--villa23-overview-min) - (var(--villa23-overview-pad-y) * 2)) !important;
}

body.project-page-body:not(.home-page-body) .villa23-overview-shell {
  gap: clamp(18px, 2.2vw, 34px) !important;
  align-items: center !important;
}

body.project-page-body:not(.home-page-body) .villa23-overview-copy {
  max-width: 46ch !important;
  margin-bottom: clamp(12px, 1.4vw, 20px) !important;
  line-height: 1.5 !important;
}

body.project-page-body:not(.home-page-body) .villa23-overview-panel {
  width: min(100%, 410px) !important;
  margin-right: clamp(10px, 1.6vw, 28px) !important;
  padding: clamp(14px, 1.45vw, 22px) !important;
}

body.project-page-body:not(.home-page-body) .project-fact-row {
  gap: clamp(12px, 1.3vw, 20px) !important;
  padding: clamp(8px, 0.9vw, 12px) 0 !important;
}

body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline {
  --travel-section-pad-y: clamp(28px, 3.5svh, 46px);
  --travel-head-space: clamp(58px, 7svh, 86px);
  --travel-map-height: clamp(360px, 48svh, 530px);
  min-height: auto !important;
  padding-top: var(--travel-section-pad-y) !important;
  padding-bottom: var(--travel-section-pad-y) !important;
}

body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline > .container {
  width: 100% !important;
  max-width: none !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body.project-page-body:not(.home-page-body) .villa23-travel-head {
  width: min(var(--kpd-container-width), calc(100vw - clamp(40px, 5vw, 120px))) !important;
  margin-right: auto !important;
  margin-bottom: clamp(14px, 1.8vw, 24px) !important;
  margin-left: auto !important;
}

body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline .villa23-travel-timeline-wrap {
  width: min(82%, 1040px) !important;
  padding: clamp(72px, 6vw, 94px) 0 clamp(18px, 2vw, 28px) !important;
}

body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline .villa23-travel-label {
  bottom: clamp(62px, 5vw, 78px) !important;
  font-size: 11px !important;
}

body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline .villa23-travel-car {
  top: clamp(28px, 3vw, 40px) !important;
  width: clamp(66px, 6vw, 94px) !important;
}

body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline .villa23-travel-map-area {
  min-height: var(--travel-map-height) !important;
}

body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline .villa23-travel-map {
  filter: grayscale(1) saturate(0) contrast(1.08) brightness(0.98) !important;
  opacity: 1 !important;
}

body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline .villa23-travel-card {
  left: clamp(18px, 2vw, 34px) !important;
  bottom: clamp(72px, 7vw, 104px) !important;
  width: min(350px, calc(100% - 36px)) !important;
  gap: 8px !important;
  padding: clamp(14px, 1.45vw, 22px) !important;
}

body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline .villa23-travel-card h3 {
  font-size: clamp(24px, 2.1vw, 34px) !important;
}

body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline .villa23-travel-card p {
  font-size: var(--body-small) !important;
  line-height: 1.45 !important;
}

body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline .villa23-travel-controls {
  bottom: clamp(12px, 1.6vw, 22px) !important;
}

body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline .villa23-travel-controls button {
  min-height: 38px !important;
  padding: 9px 14px !important;
}

@media (max-width: 991px) {
  body.developments-page-body:not(.home-page-body) .development-feature,
  body.developments-page-body:not(.home-page-body) .development-feature--reverse,
  body.developments-page-body:not(.home-page-body) .development-directory-features > .development-feature:first-child,
  body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:first-child .development-feature {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding: clamp(16px, 3vw, 24px) 0 !important;
  }

  body.developments-page-body:not(.home-page-body) .development-feature__media {
    aspect-ratio: 16 / 8.2 !important;
    min-height: 0 !important;
    max-height: clamp(190px, 30vw, 280px) !important;
  }

  body.developments-page-body:not(.home-page-body) .development-directory-features > .development-feature:first-child .development-feature__media,
  body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:first-child .development-feature .development-feature__media {
    max-height: clamp(190px, 30vw, 280px) !important;
  }

  body.project-page-body:not(.home-page-body) .section-villa23-overview {
    --villa23-overview-min: auto;
    padding-top: clamp(46px, 8vw, 70px) !important;
    padding-bottom: clamp(46px, 8vw, 70px) !important;
  }

  body.project-page-body:not(.home-page-body) .section-villa23-overview > .container {
    min-height: auto !important;
  }

  body.project-page-body:not(.home-page-body) .villa23-overview-panel {
    width: 100% !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 767px) {
  body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline {
    --travel-map-height: clamp(360px, 58svh, 520px);
  }

  body.project-page-body:not(.home-page-body) .section-villa23-travel-timeline .villa23-travel-card {
    position: relative !important;
    left: auto !important;
    bottom: auto !important;
    width: calc(100% - 28px) !important;
    margin: 14px auto 72px !important;
  }
}

/* About story links and Mission/Vision alignment refresh */
body.about-rebuilt-page .about-ref-story__inline-link {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.72);
  transition:
    color 240ms ease,
    border-color 240ms ease,
    opacity 240ms ease;
}

body.about-rebuilt-page .about-ref-story__inline-link:hover,
body.about-rebuilt-page .about-ref-story__inline-link:focus-visible {
  color: rgba(255, 255, 255, 0.74) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.74) !important;
  border-color: #ffffff;
}

body.about-rebuilt-page .about-ref-mission-vision,
body.about-rebuilt-page .about-ref-mission-vision.home-white-reveal-section {
  --white-reveal-color: #ffffff;
  min-height: clamp(540px, 70svh, 720px) !important;
  display: flex !important;
  align-items: center !important;
  padding: clamp(56px, 6.5vw, 96px) 0 !important;
  background: #000000 !important;
  color: var(--white-reveal-ink, #ffffff) !important;
}

body.about-rebuilt-page .about-ref-mission-vision > .container {
  width: min(var(--kpd-container-width, 1326px), calc(100vw - clamp(40px, 5vw, 120px))) !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__grid {
  display: grid !important;
  grid-template-columns: minmax(320px, 0.54fr) minmax(0, 1fr) !important;
  gap: clamp(24px, 4vw, 64px) !important;
  align-items: stretch !important;
  border: 0 !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__grid::before {
  display: none !important;
  content: none !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item,
body.about-rebuilt-page .about-ref-mission-vision.is-white-revealed .about-ref-band__item {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: clamp(18px, 1.9vw, 28px) !important;
  align-content: start !important;
  min-height: 100% !important;
  padding: clamp(28px, 3.2vw, 48px) !important;
  border: 1px solid var(--white-reveal-border, rgba(255, 255, 255, 0.22)) !important;
  background: var(--white-reveal-surface, rgba(255, 255, 255, 0.035)) !important;
  box-shadow: none !important;
  color: var(--white-reveal-ink, #ffffff) !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item + .about-ref-band__item {
  margin: 0 !important;
  padding: clamp(28px, 3.2vw, 48px) !important;
  border-left: 1px solid var(--white-reveal-border, rgba(255, 255, 255, 0.22)) !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item h2 {
  margin: 0 0 clamp(8px, 1vw, 14px) !important;
  color: currentColor !important;
  -webkit-text-fill-color: currentColor !important;
  font-family: var(--font-main, "Inter", Arial, sans-serif) !important;
  font-size: 40px !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
  white-space: normal !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item h2::after {
  display: block !important;
  width: clamp(84px, 9vw, 132px);
  height: 1px;
  margin-top: clamp(18px, 2.4vw, 28px);
  content: "" !important;
  background: currentColor;
  opacity: 0.48;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item p,
body.about-rebuilt-page .about-ref-mission-vision.is-white-revealed .about-ref-band__item p {
  max-width: 62ch !important;
  color: var(--white-reveal-muted, rgba(255, 255, 255, 0.68)) !important;
  -webkit-text-fill-color: var(--white-reveal-muted, rgba(255, 255, 255, 0.68)) !important;
  font-family: var(--font-main, "Inter", Arial, sans-serif) !important;
  font-size: var(--body) !important;
  font-weight: 300 !important;
  line-height: 1.65 !important;
  letter-spacing: 0 !important;
}

body.about-rebuilt-page .about-ref-mission-vision.is-white-revealed .about-ref-band__item {
  background: #ffffff !important;
}

@media (max-width: 991px) {
  body.about-rebuilt-page .about-ref-mission-vision {
    min-height: auto !important;
    padding: clamp(58px, 9vw, 82px) 0 !important;
  }

  body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__grid {
    grid-template-columns: 1fr !important;
    gap: clamp(22px, 5vw, 36px) !important;
  }
}

@media (max-width: 767px) {
  body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item h2 {
    font-size: clamp(30px, 9vw, 38px) !important;
  }
}

/* Events page global rhythm and recap viewer refinement */
body.events-page-body .section-events-schedule {
  --event-foreground: #ffffff;
  --event-muted: rgba(255, 255, 255, 0.68);
  overflow: hidden !important;
  padding-top: clamp(66px, 6vw, 96px) !important;
  padding-bottom: clamp(78px, 7vw, 116px) !important;
  background: #000000 !important;
  color: var(--event-foreground) !important;
}

body.events-page-body .section-events-schedule.is-white-revealed {
  --event-foreground: #000000;
  --event-muted: rgba(0, 0, 0, 0.62);
  background: var(--kpd-light, #f3f3f3) !important;
  color: var(--event-foreground) !important;
}

body.events-page-body .section-events-schedule::before {
  background:
    radial-gradient(circle at 18% 16%, rgba(255, 255, 255, 0.08), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 38%) !important;
}

body.events-page-body .section-events-schedule.is-white-revealed::before {
  background:
    radial-gradient(circle at 18% 14%, rgba(0, 0, 0, 0.045), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.85), transparent 48%) !important;
}

body.events-page-body .section-events-schedule > .container {
  width: min(var(--kpd-container-width, 1326px), calc(100vw - clamp(36px, 5vw, 112px))) !important;
  max-width: none !important;
}

body.events-page-body .events-schedule-intro {
  max-width: 760px !important;
  margin-bottom: clamp(30px, 4vw, 52px) !important;
}

body.events-page-body .events-schedule-intro__summary {
  max-width: 68ch !important;
  margin: 0 !important;
  color: var(--event-muted) !important;
  -webkit-text-fill-color: var(--event-muted) !important;
  font-family: var(--font-main, "Inter", Arial, sans-serif) !important;
  font-size: var(--body, 15px) !important;
  font-weight: 300 !important;
  line-height: 1.65 !important;
  letter-spacing: 0 !important;
}

body.events-page-body .events-schedule-block + .events-schedule-block {
  margin-top: clamp(54px, 5.8vw, 84px) !important;
}

body.events-page-body .events-schedule-block__head {
  margin-bottom: clamp(22px, 2.6vw, 36px) !important;
}

body.events-page-body .events-schedule-block__eyebrow {
  margin-bottom: clamp(10px, 1.2vw, 16px) !important;
  color: var(--event-muted) !important;
  -webkit-text-fill-color: var(--event-muted) !important;
  font-family: var(--font-main, "Inter", Arial, sans-serif) !important;
  font-size: var(--label, 12px) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

body.events-page-body .events-schedule-block__title {
  max-width: 12ch !important;
  margin: 0 !important;
  color: var(--event-foreground) !important;
  -webkit-text-fill-color: var(--event-foreground) !important;
  font-family: var(--font-main, "Inter", Arial, sans-serif) !important;
  font-size: 40px !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
}

body.events-page-body .events-schedule-block__title::after {
  display: block !important;
  width: clamp(84px, 8vw, 132px) !important;
  height: 1px !important;
  margin-top: clamp(18px, 2vw, 26px) !important;
  content: "" !important;
  background: currentColor !important;
  opacity: 0.48 !important;
}

body.events-page-body .events-schedule-grid,
body.events-page-body .events-recap-grid {
  gap: clamp(18px, 2vw, 28px) !important;
}

body.events-page-body .events-schedule-grid--upcoming {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.events-page-body .event-card,
body.events-page-body .event-recap-card {
  min-height: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  color: #000000 !important;
  box-shadow: none !important;
}

body.events-page-body .event-card {
  gap: 0 !important;
  padding: clamp(18px, 1.8vw, 24px) !important;
  transition: transform 0.55s var(--kpd-ease, cubic-bezier(0.22, 1, 0.36, 1)), border-color 0.55s var(--kpd-ease, cubic-bezier(0.22, 1, 0.36, 1)) !important;
}

body.events-page-body .event-card:hover,
body.events-page-body .event-recap-card:hover {
  border-color: rgba(0, 0, 0, 0.24) !important;
  transform: translateY(-4px) !important;
}

body.events-page-body .event-card__visual {
  aspect-ratio: 16 / 8.5 !important;
  margin-bottom: clamp(18px, 2vw, 26px) !important;
  border: 0 !important;
  border-radius: 0 !important;
}

body.events-page-body .event-card__visual img,
body.events-page-body .event-recap-card .blog-image img {
  filter: none !important;
}

body.events-page-body .event-card__content {
  gap: clamp(10px, 1.2vw, 14px) !important;
}

body.events-page-body .event-card__title,
body.events-page-body .event-recap-card .infor_name {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  font-family: var(--font-main, "Inter", Arial, sans-serif) !important;
  font-size: clamp(24px, 2vw, 32px) !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.025em !important;
}

body.events-page-body .event-card__meta,
body.events-page-body .event-card__details,
body.events-page-body .event-card__location,
body.events-page-body .event-recap-card .infor_sub {
  color: rgba(0, 0, 0, 0.62) !important;
  -webkit-text-fill-color: rgba(0, 0, 0, 0.62) !important;
  font-family: var(--font-main, "Inter", Arial, sans-serif) !important;
}

body.events-page-body .event-card__meta,
body.events-page-body .event-card__location,
body.events-page-body .event-recap-card .infor_sub {
  font-size: var(--label, 12px) !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

body.events-page-body .event-card__details {
  font-size: var(--body, 15px) !important;
  font-weight: 300 !important;
  line-height: 1.58 !important;
  letter-spacing: 0 !important;
}

body.events-page-body .event-card__actions,
body.events-page-body .event-card__archive-action {
  margin-top: clamp(12px, 1.6vw, 22px) !important;
}

body.events-page-body .event-card .tf-btn,
body.events-page-body .event-recap-action {
  width: max-content !important;
  min-width: clamp(122px, 11vw, 154px) !important;
  height: 44px !important;
  padding: 0 22px !important;
  border-color: rgba(0, 0, 0, 0.42) !important;
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

body.events-page-body .event-card .tf-btn::before,
body.events-page-body .event-recap-action::before {
  background: #000000 !important;
}

body.events-page-body .event-card .tf-btn:hover,
body.events-page-body .event-card .tf-btn:focus-visible,
body.events-page-body .event-recap-action:hover,
body.events-page-body .event-recap-action:focus-visible {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.events-page-body .event-recap-card .blog-image {
  aspect-ratio: 16 / 9 !important;
  border: 0 !important;
  border-radius: 0 !important;
}

body.events-page-body .event-recap-card .blog-content {
  min-height: 190px !important;
  padding: clamp(18px, 1.8vw, 26px) !important;
  gap: clamp(14px, 1.5vw, 20px) !important;
  background: transparent !important;
}

body.events-page-body .event-recap-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  display: grid !important;
  width: 100vw !important;
  height: 100dvh !important;
  padding: clamp(18px, 2.5vw, 38px) !important;
  place-items: center !important;
  background: rgba(0, 0, 0, 0.88) !important;
}

body.events-page-body .event-recap-modal[hidden] {
  display: none !important;
}

body.events-page-body.event-recap-open {
  overflow: hidden !important;
}

body.events-page-body .event-recap-modal__dialog {
  display: grid !important;
  width: min(1180px, calc(100vw - clamp(36px, 5vw, 96px))) !important;
  max-height: min(88dvh, 840px) !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  overflow: hidden !important;
  padding: clamp(18px, 2vw, 28px) !important;
  border-radius: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  background: #000000 !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

body.events-page-body .event-recap-modal__head {
  margin-bottom: clamp(14px, 1.6vw, 22px) !important;
  padding-right: 60px !important;
}

body.events-page-body .event-recap-modal__title {
  max-width: 16ch !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: 40px !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
}

body.events-page-body .event-recap-modal__stage {
  min-height: 0 !important;
  grid-template-columns: 54px minmax(0, 1fr) 54px !important;
  align-items: center !important;
  gap: clamp(12px, 1.4vw, 18px) !important;
}

body.events-page-body .event-recap-modal__viewport {
  position: relative !important;
  height: min(58dvh, 620px) !important;
  min-height: 320px !important;
  max-height: 620px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 0 !important;
  background: #000000 !important;
}

body.events-page-body .event-recap-modal__slide {
  grid-template-rows: minmax(0, 1fr) !important;
  border-radius: 0 !important;
}

body.events-page-body .event-recap-modal__slide img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 0 !important;
  background: #000000 !important;
}

body.events-page-body .event-recap-modal__slide figcaption {
  display: none !important;
}

body.events-page-body .event-recap-modal__foot {
  margin-top: clamp(12px, 1.5vw, 18px) !important;
  color: rgba(255, 255, 255, 0.68) !important;
}

body.events-page-body .event-recap-modal__caption,
body.events-page-body .event-recap-modal__counter,
body.events-page-body .event-recap-modal__eyebrow {
  color: rgba(255, 255, 255, 0.68) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.68) !important;
}

body.events-page-body .event-recap-modal__nav,
body.events-page-body .event-recap-modal__close {
  flex: 0 0 auto !important;
  border-radius: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  background: #000000 !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

body.events-page-body .event-recap-modal__nav:hover,
body.events-page-body .event-recap-modal__close:hover {
  background: #ffffff !important;
  color: #000000 !important;
}

@media (max-width: 991px) {
  body.events-page-body .section-events-schedule {
    padding-top: clamp(58px, 8vw, 82px) !important;
    padding-bottom: clamp(64px, 9vw, 92px) !important;
  }

  body.events-page-body .events-schedule-grid--upcoming,
  body.events-page-body .events-recap-grid {
    grid-template-columns: 1fr !important;
  }

  body.events-page-body .event-recap-modal__dialog {
    width: min(100%, calc(100vw - 28px)) !important;
    max-height: 90dvh !important;
  }

  body.events-page-body .event-recap-modal__stage {
    position: relative !important;
    grid-template-columns: 1fr !important;
  }

  body.events-page-body .event-recap-modal__nav {
    position: absolute !important;
    top: 50% !important;
    z-index: 3 !important;
    transform: translateY(-50%) !important;
  }

  body.events-page-body .event-recap-modal__nav--prev {
    left: 12px !important;
  }

  body.events-page-body .event-recap-modal__nav--next {
    right: 12px !important;
  }
}

@media (max-width: 767px) {
  body.events-page-body .section-events-schedule > .container {
    width: min(100% - 28px, var(--kpd-container-width, 1326px)) !important;
  }

  body.events-page-body .events-schedule-block__title,
  body.events-page-body .event-recap-modal__title {
    font-size: clamp(30px, 9vw, 38px) !important;
  }

  body.events-page-body .event-card {
    padding: 18px !important;
  }

  body.events-page-body .event-recap-card .blog-content {
    min-height: 170px !important;
  }

  body.events-page-body .event-recap-modal {
    padding: 14px !important;
  }

  body.events-page-body .event-recap-modal__viewport {
    height: min(54dvh, 420px) !important;
    min-height: 260px !important;
  }

  body.events-page-body .event-recap-modal__foot {
    flex-direction: column !important;
  }
}

/* Keep Events above the shared white-reveal specificity layer. */
body.events-page-body .section-events-schedule.home-white-reveal-section .events-schedule-block__title,
body.events-page-body .section-events-schedule.home-white-reveal-section.is-white-revealed .events-schedule-block__title {
  max-width: 12ch !important;
  color: var(--event-foreground) !important;
  -webkit-text-fill-color: var(--event-foreground) !important;
  font-size: 40px !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
}

body.events-page-body .section-events-schedule.home-white-reveal-section :is(.events-schedule-intro__summary, .events-schedule-block__eyebrow),
body.events-page-body .section-events-schedule.home-white-reveal-section.is-white-revealed :is(.events-schedule-intro__summary, .events-schedule-block__eyebrow) {
  color: var(--event-muted) !important;
  -webkit-text-fill-color: var(--event-muted) !important;
}

body.events-page-body .section-events-schedule.home-white-reveal-section :is(.event-card, .event-recap-card),
body.events-page-body .section-events-schedule.home-white-reveal-section.is-white-revealed :is(.event-card, .event-recap-card) {
  min-height: 0 !important;
  border-color: rgba(0, 0, 0, 0.12) !important;
  background: #ffffff !important;
  color: #000000 !important;
}

body.events-page-body .section-events-schedule.home-white-reveal-section :is(.event-card__title, .event-recap-card .infor_name),
body.events-page-body .section-events-schedule.home-white-reveal-section.is-white-revealed :is(.event-card__title, .event-recap-card .infor_name) {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  font-size: clamp(24px, 2vw, 32px) !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.025em !important;
}

body.events-page-body .section-events-schedule.home-white-reveal-section :is(.event-card__meta, .event-card__details, .event-card__location, .event-recap-card .infor_sub),
body.events-page-body .section-events-schedule.home-white-reveal-section.is-white-revealed :is(.event-card__meta, .event-card__details, .event-card__location, .event-recap-card .infor_sub) {
  color: rgba(0, 0, 0, 0.62) !important;
  -webkit-text-fill-color: rgba(0, 0, 0, 0.62) !important;
}

body.events-page-body .section-events-schedule.home-white-reveal-section .event-card,
body.events-page-body .section-events-schedule.home-white-reveal-section.is-white-revealed .event-card {
  padding: clamp(18px, 1.8vw, 24px) !important;
}

body.events-page-body .section-events-schedule.home-white-reveal-section .event-card__visual,
body.events-page-body .section-events-schedule.home-white-reveal-section.is-white-revealed .event-card__visual {
  aspect-ratio: 16 / 8.5 !important;
  margin-bottom: clamp(18px, 2vw, 26px) !important;
}

body.events-page-body .section-events-schedule.home-white-reveal-section .event-recap-card .blog-content,
body.events-page-body .section-events-schedule.home-white-reveal-section.is-white-revealed .event-recap-card .blog-content {
  min-height: 190px !important;
  padding: clamp(18px, 1.8vw, 26px) !important;
}

body.events-page-body .section-events-schedule .event-recap-card.effectFade.no-div {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: auto !important;
}

@media (max-width: 767px) {
  body.events-page-body .section-events-schedule.home-white-reveal-section .events-schedule-block__title,
  body.events-page-body .section-events-schedule.home-white-reveal-section.is-white-revealed .events-schedule-block__title {
    font-size: clamp(30px, 9vw, 38px) !important;
  }
}

/* Investor Guide: final alignment, icons, and equal-card refinement */
body.investor-guide-page-body {
  --investor-ref-width: min(var(--kpd-container-width, 1326px), calc(100vw - clamp(56px, 8.75vw, 160px))) !important;
}

body.investor-guide-page-body .investor-ref-icon-defs {
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

body.investor-guide-page-body :is(.investor-ref-inquiry, .investor-ref-section, .investor-ref-pattern, .investor-ref-management) > .container,
body.investor-guide-page-body .investor-ref-awards__track {
  width: var(--investor-ref-width) !important;
  max-width: var(--investor-ref-width) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body.investor-guide-page-body :is(.investor-ref-section, .investor-ref-pattern) {
  padding-top: clamp(70px, 7vw, 104px) !important;
  padding-bottom: clamp(70px, 7vw, 104px) !important;
}

body.investor-guide-page-body .investor-ref-yield-table {
  width: 100% !important;
  max-width: none !important;
}

body.investor-guide-page-body :is(
  .investor-ref-card-scroll,
  .investor-ref-payment-grid,
  .investor-ref-four-grid,
  .investor-ref-image-grid,
  .investor-ref-two-grid,
  .investor-ref-inventory-grid,
  .investor-ref-management__orbits,
  .investor-ref-awards__track
) {
  align-items: stretch !important;
}

body.investor-guide-page-body :is(
  .investor-ref-card-scroll,
  .investor-ref-payment-grid,
  .investor-ref-four-grid,
  .investor-ref-image-grid,
  .investor-ref-two-grid,
  .investor-ref-inventory-grid,
  .investor-ref-management__orbits,
  .investor-ref-awards__track
) > article {
  height: 100% !important;
}

body.investor-guide-page-body .investor-ref-card-scroll .investor-ref-info-card,
body.investor-guide-page-body .investor-ref-four-grid .investor-ref-info-card {
  min-height: clamp(250px, 18vw, 286px) !important;
}

body.investor-guide-page-body .investor-ref-payment-grid .investor-ref-info-card {
  min-height: clamp(224px, 15vw, 258px) !important;
}

body.investor-guide-page-body .investor-ref-two-grid .investor-ref-info-card {
  min-height: clamp(224px, 15.5vw, 264px) !important;
}

@media (min-width: 768px) {
  body.investor-guide-page-body .investor-ref-card-scroll .investor-ref-info-card,
  body.investor-guide-page-body .investor-ref-four-grid .investor-ref-info-card {
    height: clamp(256px, 19vw, 296px) !important;
  }
}

body.investor-guide-page-body .investor-ref-icon {
  width: 48px !important;
  height: 48px !important;
  display: inline-grid !important;
  place-items: center !important;
  margin-bottom: clamp(20px, 2.1vw, 34px) !important;
  border: 1px solid currentColor !important;
  border-radius: 0 !important;
  color: currentColor !important;
  opacity: 0.78 !important;
}

body.investor-guide-page-body .investor-ref-icon svg {
  width: 23px !important;
  height: 23px !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.65 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body.investor-guide-page-body .investor-ref-image-card {
  grid-template-rows: auto auto 1fr !important;
}

body.investor-guide-page-body .investor-ref-image-card p {
  min-height: 4.8em !important;
}

body.investor-guide-page-body .investor-ref-inventory-card {
  grid-template-rows: auto 1fr !important;
}

body.investor-guide-page-body .investor-ref-inventory-card__body {
  min-height: clamp(210px, 17vw, 252px) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  padding: clamp(20px, 2vw, 28px) !important;
}

body.investor-guide-page-body .investor-ref-inventory-card__body h3,
body.investor-guide-page-body .investor-ref-inventory-card__body ul {
  margin: 0 !important;
  padding: 0 !important;
}

body.investor-guide-page-body .investor-ref-inventory-card__body ul {
  display: grid !important;
  gap: 8px !important;
  list-style: none !important;
}

body.investor-guide-page-body .investor-ref-inventory-card__body .tf-btn {
  width: max-content !important;
  min-width: 148px !important;
  height: 44px !important;
  margin-top: auto !important;
  padding: 0 22px !important;
  border-color: currentColor !important;
  color: currentColor !important;
  -webkit-text-fill-color: currentColor !important;
}

body.investor-guide-page-body .investor-ref-inventory-card__body .tf-btn::before {
  background: currentColor !important;
}

body.investor-guide-page-body .investor-ref-inventory-card__body .tf-btn:hover,
body.investor-guide-page-body .investor-ref-inventory-card__body .tf-btn:focus-visible {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.investor-guide-page-body .investor-ref-inventory.home-white-reveal-section.is-white-revealed .investor-ref-inventory-card:hover .tf-btn {
  border-color: #ffffff !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.investor-guide-page-body .investor-ref-inventory.home-white-reveal-section.is-white-revealed .investor-ref-inventory-card:hover .tf-btn::before {
  background: #ffffff !important;
}

body.investor-guide-page-body .investor-ref-inventory.home-white-reveal-section.is-white-revealed .investor-ref-inventory-card:hover .tf-btn:hover,
body.investor-guide-page-body .investor-ref-inventory.home-white-reveal-section.is-white-revealed .investor-ref-inventory-card:hover .tf-btn:focus-visible {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

@media (hover: hover) {
  body.investor-guide-page-body :is(.investor-ref-secure, .investor-ref-payment, .investor-ref-trust, .investor-ref-inventory, .investor-ref-faq).home-white-reveal-section.is-white-revealed :is(.investor-ref-info-card, .investor-ref-image-card, .investor-ref-inventory-card, .investor-ref-faq__list details):hover :is(h3, strong, span, p, li, summary, a, svg) {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }
}

@media (max-width: 1199px) {
  body.investor-guide-page-body {
    --investor-ref-width: min(var(--kpd-container-width, 1326px), calc(100vw - 64px)) !important;
  }
}

@media (max-width: 991px) {
  body.investor-guide-page-body .investor-ref-card-scroll,
  body.investor-guide-page-body .investor-ref-four-grid,
  body.investor-guide-page-body .investor-ref-image-grid,
  body.investor-guide-page-body .investor-ref-liquidity .investor-ref-two-grid,
  body.investor-guide-page-body .investor-ref-management__orbits,
  body.investor-guide-page-body .investor-ref-awards__track {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  body.investor-guide-page-body {
    --investor-ref-width: min(100% - 28px, var(--kpd-container-width, 1326px)) !important;
  }

  body.investor-guide-page-body :is(.investor-ref-card-scroll, .investor-ref-four-grid, .investor-ref-image-grid, .investor-ref-liquidity .investor-ref-two-grid, .investor-ref-management__orbits, .investor-ref-awards__track) {
    grid-template-columns: 1fr !important;
  }
}

/* Global animated title underlines */
body {
  --kpd-title-line-width: clamp(74px, 7vw, 112px);
  --kpd-title-line-speed: 980ms;
  --kpd-title-line-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

body :is(
  .project-title,
  .page-title,
  .selected-dev-section-title,
  .experience-center-title,
  .experience-center-head h2,
  .section-brand > .container > .mini-title,
  .press-news-title,
  .events-updates-heading,
  .s-header .title,
  .s-header h2,
  .development-directory-intro__title,
  .news-atlas-intro__title,
  .events-schedule-block__title,
  .about-ref-heading,
  .about-ref-recognition__title,
  .about-ref-expertise__head h2,
  .about-ref-band__item h2,
  .villa23-overview-title,
  .project-section-head h2,
  .project-plans-head h2,
  .contact-section-head h2,
  .contact-location-title,
  .investor-ref-heading,
  .investor-ref-centered h2,
  .investor-ref-title-row h2,
  .investor-ref-split-head h2,
  .investor-ref-management__copy h2,
  .investor-ref-relations__grid h2,
  .investor-ref-faq__grid h2,
  .investor-ref-form-panel__copy h2
)::after {
  content: "";
  display: block;
  width: var(--kpd-title-line-width);
  height: 1px;
  margin-top: clamp(16px, 2vw, 28px);
  background: currentColor;
  opacity: 0;
  transform: scaleX(0);
  transform-origin: left center;
  transition:
    opacity 620ms ease,
    transform var(--kpd-title-line-speed) var(--kpd-title-line-ease);
}

body :is(
  .investor-ref-centered h2,
  .investor-ref-form-panel__copy h2
)::after {
  margin-right: auto;
  margin-left: auto;
  transform-origin: center;
}

body :is(
  .project-title,
  .page-title,
  .selected-dev-section-title,
  .experience-center-title,
  .experience-center-head h2,
  .section-brand > .container > .mini-title,
  .press-news-title,
  .events-updates-heading,
  .s-header .title,
  .s-header h2,
  .development-directory-intro__title,
  .news-atlas-intro__title,
  .events-schedule-block__title,
  .about-ref-heading,
  .about-ref-recognition__title,
  .about-ref-expertise__head h2,
  .about-ref-band__item h2,
  .villa23-overview-title,
  .project-section-head h2,
  .project-plans-head h2,
  .contact-section-head h2,
  .contact-location-title,
  .investor-ref-heading,
  .investor-ref-centered h2,
  .investor-ref-title-row h2,
  .investor-ref-split-head h2,
  .investor-ref-management__copy h2,
  .investor-ref-relations__grid h2,
  .investor-ref-faq__grid h2,
  .investor-ref-form-panel__copy h2
).is-kpd-visible::after,
body :is(
  section,
  .s-header,
  .selected-dev-content,
  .experience-center-copy,
  .experience-center-head,
  .press-news-intro,
  .about-ref-story,
  .about-ref-message--chairman,
  .about-ref-recognition,
  .about-ref-expertise,
  .about-ref-expertise__head,
  .about-ref-band__item,
  .development-directory-intro,
  .events-schedule-block,
  .project-section-head,
  .project-plans-head,
  .investor-ref-centered,
  .investor-ref-title-row,
  .investor-ref-split-head,
  .investor-ref-management__copy,
  .investor-ref-relations__grid,
  .investor-ref-faq__grid,
  .investor-ref-form-panel__copy
).is-kpd-visible :is(
  .project-title,
  .page-title,
  .selected-dev-section-title,
  .experience-center-title,
  .experience-center-head h2,
  .section-brand > .container > .mini-title,
  .press-news-title,
  .events-updates-heading,
  .s-header .title,
  .s-header h2,
  .development-directory-intro__title,
  .news-atlas-intro__title,
  .events-schedule-block__title,
  .about-ref-heading,
  .about-ref-recognition__title,
  .about-ref-expertise__head h2,
  .about-ref-band__item h2,
  .villa23-overview-title,
  .project-section-head h2,
  .project-plans-head h2,
  .contact-section-head h2,
  .contact-location-title,
  .investor-ref-heading,
  .investor-ref-centered h2,
  .investor-ref-title-row h2,
  .investor-ref-split-head h2,
  .investor-ref-management__copy h2,
  .investor-ref-relations__grid h2,
  .investor-ref-faq__grid h2,
  .investor-ref-form-panel__copy h2
)::after,
body.kpd-page-ready :is(.section-project-hero, .section-hero-statement) :is(.project-title, .page-title)::after {
  opacity: 0.55;
  transform: scaleX(1);
}

body.home-page-body :is(
  .home-react-motion-section.is-react-visible,
  .home-future-section.is-future-active,
  .home-white-reveal-section.is-white-revealed
) :is(
  .selected-dev-section-title,
  .experience-center-title,
  .experience-center-head h2,
  .section-brand > .container > .mini-title,
  .press-news-title,
  .events-updates-heading
)::after {
  opacity: 0.55 !important;
  transform: scaleX(1) !important;
}

@media (prefers-reduced-motion: reduce) {
  body :is(
    .project-title,
    .page-title,
    .selected-dev-section-title,
    .experience-center-title,
    .experience-center-head h2,
    .section-brand > .container > .mini-title,
    .press-news-title,
    .events-updates-heading,
    .s-header .title,
    .s-header h2,
    .development-directory-intro__title,
    .news-atlas-intro__title,
    .events-schedule-block__title,
    .about-ref-heading,
    .about-ref-recognition__title,
    .about-ref-expertise__head h2,
    .about-ref-band__item h2,
    .villa23-overview-title,
    .project-section-head h2,
    .project-plans-head h2,
    .contact-section-head h2,
    .contact-location-title,
    .investor-ref-heading,
    .investor-ref-centered h2,
    .investor-ref-title-row h2,
    .investor-ref-split-head h2,
    .investor-ref-management__copy h2,
    .investor-ref-relations__grid h2,
    .investor-ref-faq__grid h2,
    .investor-ref-form-panel__copy h2
  )::after {
    opacity: 0.55;
    transform: none;
    transition: none;
  }
}

/* About mission / vision: borderless editorial manifesto */
body.about-rebuilt-page .about-ref-mission-vision,
body.about-rebuilt-page .about-ref-mission-vision.home-white-reveal-section,
body.about-rebuilt-page .about-ref-mission-vision.is-white-revealed {
  --white-reveal-color: #ffffff;
  min-height: clamp(480px, 58svh, 650px) !important;
  display: flex !important;
  align-items: center !important;
  padding: clamp(70px, 7vw, 118px) 0 !important;
  background: #000000 !important;
  color: var(--white-reveal-ink, #ffffff) !important;
  overflow: hidden !important;
}

body.about-rebuilt-page .about-ref-mission-vision.is-white-revealed {
  background: #ffffff !important;
  color: #000000 !important;
}

body.about-rebuilt-page .about-ref-mission-vision > .container {
  width: min(var(--kpd-container-width, 1326px), calc(100vw - clamp(40px, 5vw, 120px))) !important;
  max-width: none !important;
  padding-right: var(--kpd-container-gutter, 0) !important;
  padding-left: var(--kpd-container-gutter, 0) !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__grid {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(300px, 0.54fr) minmax(0, 1fr) !important;
  gap: clamp(28px, 4vw, 64px) !important;
  align-items: start !important;
  border: 0 !important;
  background: transparent !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__grid::before {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 1px !important;
  background: currentColor !important;
  content: "" !important;
  opacity: 0.16 !important;
  transform: none !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__grid::after {
  position: absolute;
  right: clamp(-42px, -3vw, -18px);
  bottom: clamp(-48px, -4vw, -22px);
  z-index: 0;
  color: currentColor;
  content: "KPD";
  font-size: clamp(110px, 14vw, 240px);
  font-weight: 300;
  line-height: 0.8;
  letter-spacing: 0;
  opacity: 0.035;
  pointer-events: none;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item,
body.about-rebuilt-page .about-ref-mission-vision.is-white-revealed .about-ref-band__item {
  position: relative !important;
  z-index: 1 !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-content: start !important;
  gap: clamp(24px, 2.5vw, 36px) !important;
  padding: clamp(44px, 4.5vw, 74px) 0 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: currentColor !important;
  filter: none !important;
  transform: none !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item + .about-ref-band__item {
  margin: 0 !important;
  padding: clamp(44px, 4.5vw, 74px) 0 0 !important;
  border: 0 !important;
  border-left: 0 !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item::before {
  display: block !important;
  content: "01" !important;
  width: auto !important;
  height: auto !important;
  position: static !important;
  inset: auto !important;
  background: none !important;
  color: currentColor !important;
  font-size: clamp(56px, 6vw, 110px);
  font-weight: 300;
  line-height: 0.8;
  letter-spacing: -0.04em;
  opacity: 0.12;
  mix-blend-mode: normal !important;
  transform: none !important;
  animation: none !important;
  pointer-events: none;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item:nth-of-type(2)::before,
body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item--vision::before,
body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item + .about-ref-band__item::before {
  content: "02" !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item::after {
  display: none !important;
  content: none !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item h2 {
  max-width: 10ch;
  margin: 0 !important;
  color: currentColor !important;
  -webkit-text-fill-color: currentColor !important;
  font-family: var(--font-main, "Inter", Arial, sans-serif) !important;
  font-size: 40px !important;
  font-weight: 300 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
  white-space: normal !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item h2::after {
  display: block !important;
  width: var(--kpd-title-line-width, 92px) !important;
  height: 1px !important;
  margin-top: clamp(16px, 2vw, 26px) !important;
  background: currentColor !important;
  content: "" !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item p,
body.about-rebuilt-page .about-ref-mission-vision.is-white-revealed .about-ref-band__item p {
  max-width: 62ch !important;
  margin: 0 !important;
  color: currentColor !important;
  -webkit-text-fill-color: currentColor !important;
  font-family: var(--font-main, "Inter", Arial, sans-serif) !important;
  font-size: clamp(18px, 1.45vw, 24px) !important;
  font-weight: 300 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  opacity: 0.66 !important;
}

body.about-rebuilt-page .about-ref-mission-vision.is-white-revealed .about-ref-band__item p {
  opacity: 0.68 !important;
}

@media (min-width: 992px) {
  body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item:nth-child(2) {
    padding-top: clamp(66px, 6vw, 108px) !important;
  }
}

@media (max-width: 991px) {
  body.about-rebuilt-page .about-ref-mission-vision {
    min-height: 0 !important;
    padding: clamp(54px, 8vw, 80px) 0 !important;
  }

  body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__grid {
    grid-template-columns: 1fr !important;
    gap: clamp(44px, 8vw, 70px) !important;
  }

  body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__grid::after {
    display: none;
  }

  body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item,
  body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item + .about-ref-band__item {
    padding-top: clamp(34px, 6vw, 52px) !important;
  }
}

/* Developments inventory cards: mirror Investor Guide featured inventory */
body.developments-page-body:not(.home-page-body) .section-development-directory {
  padding-top: clamp(54px, 6vw, 92px) !important;
  padding-bottom: clamp(64px, 7vw, 108px) !important;
  background: #000000 !important;
  color: #ffffff !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory::before,
body.developments-page-body:not(.home-page-body) .section-development-directory::after {
  display: none !important;
  content: none !important;
}

body.developments-page-body:not(.home-page-body) .development-directory-shell {
  display: grid !important;
  gap: clamp(30px, 4vw, 58px) !important;
}

body.developments-page-body:not(.home-page-body) .development-directory-intro {
  max-width: 900px !important;
  display: grid !important;
  gap: clamp(16px, 2vw, 26px) !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.developments-page-body:not(.home-page-body) .development-directory-intro__title {
  max-width: 13ch !important;
  margin: 0 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: 40px !important;
  font-weight: 300 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
}

body.developments-page-body:not(.home-page-body) .development-directory-intro__summary {
  max-width: 62ch !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.66) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.66) !important;
  font-size: clamp(18px, 1.35vw, 22px) !important;
  font-weight: 300 !important;
  line-height: 1.55 !important;
}

body.developments-page-body:not(.home-page-body) .development-directory-features,
body.developments-page-body:not(.home-page-body) .section-development-directory .development-directory-features {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(16px, 1.6vw, 24px) !important;
  align-items: stretch !important;
}

body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden {
  display: contents !important;
  overflow: visible !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature,
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature--reverse,
body.developments-page-body:not(.home-page-body) .development-directory-features > article.development-feature:first-child,
body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:first-child article.development-feature,
body.developments-page-body:not(.home-page-body) .development-directory-features > article.development-feature:not(:first-child),
body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:not(:first-child) article.development-feature {
  position: relative !important;
  min-height: 0 !important;
  height: 100% !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: auto 1fr !important;
  gap: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(0, 0, 0, 0.16) !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  color: #000000 !important;
  box-shadow: none !important;
  overflow: hidden !important;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.35s ease, background 0.35s ease !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature::before,
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature::after {
  display: none !important;
  content: none !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature:hover {
  border-color: rgba(0, 0, 0, 0.3) !important;
  background: #000000 !important;
  color: #ffffff !important;
  transform: translateY(-4px) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__media,
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature--reverse .development-feature__media,
body.developments-page-body:not(.home-page-body) .development-directory-features > article.development-feature:first-child .development-feature__media,
body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:first-child article.development-feature .development-feature__media,
body.developments-page-body:not(.home-page-body) .development-directory-features > article.development-feature:not(:first-child) .development-feature__media,
body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:not(:first-child) article.development-feature .development-feature__media {
  order: 1 !important;
  width: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 16 / 10 !important;
  display: block !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #f3f3f3 !important;
  overflow: hidden !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__media img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  filter: none !important;
  opacity: 1 !important;
  transform: scale(1) !important;
  transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature:hover .development-feature__media img {
  transform: scale(1.045) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__copy,
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature--reverse .development-feature__copy,
body.developments-page-body:not(.home-page-body) .development-directory-features > article.development-feature:first-child .development-feature__copy,
body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:first-child article.development-feature .development-feature__copy,
body.developments-page-body:not(.home-page-body) .development-directory-features > article.development-feature:not(:first-child) .development-feature__copy,
body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:not(:first-child) article.development-feature .development-feature__copy {
  order: 2 !important;
  min-height: clamp(218px, 17vw, 258px) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  padding: clamp(20px, 2vw, 28px) !important;
  align-content: start !important;
  align-self: stretch !important;
  background: transparent !important;
  color: currentColor !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature :is(.development-feature__eyebrow, .development-feature__title, .development-feature__text) {
  margin: 0 !important;
  color: currentColor !important;
  -webkit-text-fill-color: currentColor !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__eyebrow {
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase !important;
  opacity: 0.54 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__title,
body.developments-page-body:not(.home-page-body) .section-development-directory .development-directory-features > article.development-feature:first-child .development-feature__title,
body.developments-page-body:not(.home-page-body) .section-development-directory .development-directory-features > .overflow-hidden:first-child article.development-feature .development-feature__title,
body.developments-page-body:not(.home-page-body) .development-directory-features > article.development-feature:not(:first-child) .development-feature__title,
body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:not(:first-child) article.development-feature .development-feature__title {
  font-size: clamp(23px, 1.65vw, 28px) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__text,
body.developments-page-body:not(.home-page-body) .development-directory-features > article.development-feature:not(:first-child) .development-feature__text,
body.developments-page-body:not(.home-page-body) .development-directory-features > .overflow-hidden:not(:first-child) article.development-feature .development-feature__text {
  max-width: none !important;
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  line-clamp: 3 !important;
  color: currentColor !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: 1.6 !important;
  opacity: 0.62 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature:hover .development-feature__text,
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature:hover .development-feature__eyebrow {
  opacity: 0.76 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__actions {
  display: flex !important;
  align-items: flex-end !important;
  gap: 10px !important;
  margin-top: auto !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__actions .tf-btn {
  width: max-content !important;
  min-width: 148px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 22px !important;
  border: 1px solid currentColor !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: currentColor !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__actions .tf-btn::before {
  background: currentColor !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__actions .tf-btn:hover,
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__actions .tf-btn:focus-visible {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature:not(:hover) .development-feature__actions .tf-btn:hover,
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature:not(:hover) .development-feature__actions .tf-btn:focus-visible {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

@media (max-width: 1399px) {
  body.developments-page-body:not(.home-page-body) .development-directory-features,
  body.developments-page-body:not(.home-page-body) .section-development-directory .development-directory-features {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  body.developments-page-body:not(.home-page-body) .development-directory-features,
  body.developments-page-body:not(.home-page-body) .section-development-directory .development-directory-features {
    grid-template-columns: 1fr !important;
  }

  body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__copy {
    min-height: 0 !important;
  }
}

body.developments-page-body:not(.home-page-body) .section-development-directory .development-directory-features > article.development-feature,
body.developments-page-body:not(.home-page-body) .section-development-directory .development-directory-features > .overflow-hidden article.development-feature,
body.developments-page-body:not(.home-page-body) .section-development-directory .development-directory-features > article.development-feature:first-child,
body.developments-page-body:not(.home-page-body) .section-development-directory .development-directory-features > .overflow-hidden:first-child article.development-feature {
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100% !important;
  max-width: none !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory .development-directory-features > article.development-feature:first-child .development-feature__copy,
body.developments-page-body:not(.home-page-body) .section-development-directory .development-directory-features > .overflow-hidden:first-child article.development-feature .development-feature__copy {
  min-height: clamp(218px, 17vw, 258px) !important;
  padding: clamp(20px, 2vw, 28px) !important;
}

body.developments-page-body.kpd-interior-page:not(.home-page-body) .section-development-directory .development-directory-features > article.development-feature:first-child .development-feature__copy,
body.developments-page-body.kpd-interior-page:not(.home-page-body) .section-development-directory .development-directory-features > .overflow-hidden:first-child article.development-feature .development-feature__copy {
  min-height: clamp(218px, 17vw, 258px) !important;
  padding: clamp(20px, 2vw, 28px) !important;
}

/* Global frame sync: align interior page sections to the homepage content width. */
:root {
  --kpd-home-section-frame: min(var(--kpd-container-width), calc(100vw - 30px));
}

body:not(.home-page-body):is(
  .developments-page-body,
  .project-page-body,
  .about-rebuilt-page,
  .leadership-page-body,
  .legacy-page-body,
  .contact-page-body,
  .news-page-body,
  .blog-updates-page-body,
  .events-page-body,
  .investor-guide-page-body,
  .news-single-page-body,
  .blog-single-page-body
) :is(
  .section-project-hero,
  .section-development-directory,
  .section-villa23-overview,
  .section-villa23-gallery,
  .section-villa23-amenities,
  .section-project-plans,
  .about-ref-section,
  .about-ref-band,
  .section-leadership-message,
  .section-leadership-team,
  .section-contact-routes,
  .section-contact-locations,
  .section-contact-inquiry,
  .section-news-atlas,
  .section-blog,
  .section-events-schedule,
  .section-news-snippet,
  .investor-ref-inquiry,
  .investor-ref-section,
  .investor-ref-pattern,
  .investor-ref-management,
  .tf-footer
) > .container {
  width: var(--kpd-home-section-frame) !important;
  max-width: none !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: var(--kpd-container-gutter, 0) !important;
  padding-left: var(--kpd-container-gutter, 0) !important;
  box-sizing: border-box !important;
}

body.about-rebuilt-page {
  --about-section-width: var(--kpd-home-section-frame) !important;
}

body.investor-guide-page-body {
  --investor-ref-width: var(--kpd-home-section-frame) !important;
}

body.project-page-body:not(.home-page-body) :is(
  .section-villa23-travel-timeline,
  .section-villa23-3d-tour
) > .container,
body.project-page-body:not(.home-page-body) :is(
  .section-villa23-travel-timeline,
  .section-villa23-3d-tour
) :is(.villa23-travel-shell, .villa23-3d-tour-shell) {
  max-width: none !important;
}

@media (max-width: 767px) {
  :root {
    --kpd-home-section-frame: min(100% - 28px, var(--kpd-container-width));
  }

  body:not(.home-page-body):is(
    .developments-page-body,
    .project-page-body,
    .about-rebuilt-page,
    .leadership-page-body,
    .legacy-page-body,
    .contact-page-body,
    .news-page-body,
    .blog-updates-page-body,
    .events-page-body,
    .investor-guide-page-body,
    .news-single-page-body,
    .blog-single-page-body
  ) :is(
    .section-project-hero,
    .section-development-directory,
    .section-villa23-overview,
    .section-villa23-gallery,
    .section-villa23-amenities,
    .section-project-plans,
    .about-ref-section,
    .about-ref-band,
    .section-leadership-message,
    .section-leadership-team,
    .section-contact-routes,
    .section-contact-locations,
    .section-contact-inquiry,
    .section-news-atlas,
    .section-blog,
    .section-events-schedule,
    .section-news-snippet,
    .investor-ref-inquiry,
    .investor-ref-section,
    .investor-ref-pattern,
    .investor-ref-management,
    .tf-footer
  ) > .container {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
}

body:not(.home-page-body) section:not(.section-villa23-travel-timeline):not(.section-villa23-3d-tour) > :is(.container, .tf-container),
body:not(.home-page-body) .tf-footer > :is(.container, .tf-container),
body:not(.home-page-body) .tf-footer .footer-inner > :is(.container, .tf-container) {
  width: var(--kpd-home-section-frame) !important;
  max-width: none !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: var(--kpd-container-gutter, 0) !important;
  padding-left: var(--kpd-container-gutter, 0) !important;
  box-sizing: border-box !important;
}

@media (max-width: 767px) {
  body:not(.home-page-body) section:not(.section-villa23-travel-timeline):not(.section-villa23-3d-tour) > :is(.container, .tf-container),
  body:not(.home-page-body) .tf-footer > :is(.container, .tf-container),
  body:not(.home-page-body) .tf-footer .footer-inner > :is(.container, .tf-container) {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
}

/* About mission / vision: keep the manifesto split at an exact 50:50. */
body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(32px, 4.5vw, 72px) !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item,
body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item + .about-ref-band__item,
body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item:nth-child(2) {
  padding-top: clamp(44px, 4.5vw, 74px) !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item p,
body.about-rebuilt-page .about-ref-mission-vision.is-white-revealed .about-ref-band__item p {
  max-width: 100% !important;
}

@media (max-width: 991px) {
  body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__grid {
    grid-template-columns: 1fr !important;
  }
}

/* About mission / vision: remove the numbering band and collapse the empty top space. */
body.about-rebuilt-page .about-ref-mission-vision,
body.about-rebuilt-page .about-ref-mission-vision.home-white-reveal-section,
body.about-rebuilt-page .about-ref-mission-vision.is-white-revealed {
  min-height: 0 !important;
  align-items: flex-start !important;
  padding-top: clamp(52px, 5vw, 86px) !important;
  padding-bottom: clamp(58px, 5.5vw, 92px) !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__grid {
  align-items: start !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__grid::before,
body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__grid::after,
body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item::before {
  display: none !important;
  content: none !important;
}

body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item,
body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item + .about-ref-band__item,
body.about-rebuilt-page .about-ref-mission-vision .about-ref-band__item:nth-child(2) {
  padding-top: 0 !important;
}

/* Reveal failsafe: GSAP writes inline hidden states, and some page refinements
   later add !important opacity rules. Once JS marks an item visible, this is
   the final authority so content cannot remain transparent in production. */
body .effectFade.is-effect-visible,
body .effectFade.is-kpd-visible,
body .kpd-reveal-target.is-effect-visible,
body .kpd-reveal-target.is-kpd-visible,
body .kpd-reveal-target.is-kpd-visible.effectFade,
body .kpd-reveal-target.is-kpd-visible .effectFade,
body .is-kpd-visible .effectFade {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  transition: none !important;
  animation: none !important;
  transform: translate3d(0, 0, 0) !important;
}

/* Developments white reveal */
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section {
  position: relative !important;
  isolation: isolate !important;
  background: #000000 !important;
  color: var(--white-reveal-ink, #ffffff) !important;
  overflow: hidden !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background: #f3f3f3 !important;
  transform: translate3d(0, var(--white-reveal-screen-y, 106svh), 0) !important;
  transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section::after {
  display: none !important;
  content: none !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section > .container,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section .development-directory-shell {
  position: relative !important;
  z-index: 2 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section :is(
  .development-directory-intro__title,
  .development-feature__title
) {
  color: var(--white-reveal-ink, #ffffff) !important;
  -webkit-text-fill-color: var(--white-reveal-ink, #ffffff) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section :is(
  .development-directory-intro__summary,
  .development-feature__eyebrow,
  .development-feature__text,
  .text-white-64,
  .text-body-1.text-white-64,
  .text-body-2.text-white-64
) {
  color: var(--white-reveal-muted, rgba(255, 255, 255, 0.68)) !important;
  -webkit-text-fill-color: var(--white-reveal-muted, rgba(255, 255, 255, 0.68)) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section .development-feature {
  border-color: var(--white-reveal-border, rgba(255, 255, 255, 0.28)) !important;
  background: var(--white-reveal-surface, rgba(0, 0, 0, 0.16)) !important;
  color: var(--white-reveal-ink, #ffffff) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed {
  background: #f3f3f3 !important;
  color: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed .development-feature {
  border-color: rgba(0, 0, 0, 0.16) !important;
  background: #ffffff !important;
  color: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section .development-feature:hover {
  border-color: rgba(0, 0, 0, 0.3) !important;
  background: #000000 !important;
  color: #ffffff !important;
}

/* KPD global typography scale
   Desktop: H1 64, H2 44, H3 32, body 17.
   Mobile: H1 38, H2 30, H3 24, body 16. */
body {
  font-size: var(--body) !important;
  line-height: 1.65 !important;
}

body :is(h1, .h1, .hero-title, .project-title, .text-display-1) {
  font-size: var(--display-xl) !important;
  font-weight: 300 !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
}

body :is(
  h2,
  .h2,
  .section-title,
  .text-display-2,
  .s-header h2,
  .events-schedule-block__title,
  .investor-guide-section-head h2,
  .experience-center-head h2,
  .about-ref-expertise__head h2,
  .about-ref-band__item h2,
  .project-section-head h2,
  .project-plans-head h2,
  .contact-section-head h2,
  .villa23-overview-title,
  .villa23-gallery-scroll-copy h2,
  .investor-ref-centered h2,
  .investor-ref-title-row h2,
  .investor-ref-split-head h2,
  .investor-ref-management__copy h2,
  .investor-ref-relations__grid h2,
  .investor-ref-faq__grid h2,
  .investor-ref-form-panel__copy h2
) {
  font-size: var(--h2) !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
}

body :is(
  h3,
  .h3,
  .leadership-card-name,
  .event-card__title,
  .event-recap-card .infor_name,
  .investor-ref-info-card h3,
  .investor-ref-image-card h3,
  .investor-ref-inventory-card h3,
  .investor-ref-doc-card h3,
  .villa23-amenity-card__body h3,
  .villa23-gallery-scroll-copy h3,
  .story-card h3,
  .story-value-card h3,
  .story-manifesto-card h3,
  .story-quote-card h3
) {
  font-size: var(--h3) !important;
  font-weight: 400 !important;
  line-height: 1.18 !important;
  letter-spacing: 0 !important;
}

body :is(p, li, .text-body-1, .text-body-2, .footer-summary, .project-description, .desc, .description) {
  font-size: var(--body) !important;
  line-height: 1.65 !important;
  letter-spacing: 0 !important;
}

body :is(.text-body-3, small, .small-copy) {
  font-size: var(--body-small) !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
}

body :is(
  .tf-btn,
  .tf-btn span,
  .animate-btn,
  .contact-form-submit,
  .event-recap-action,
  .event-card .tf-btn,
  .development-feature__actions .tf-btn,
  .investor-ref-inventory-card__body .tf-btn,
  .project-tab-nav .tf-btn-tab,
  .villa23-travel-controls button,
  .nav-menu-desktop-site .item-link,
  .desktop-nav-link,
  .btn-mobile-menu,
  .project-anchor-nav a
) {
  font-size: var(--nav) !important;
  line-height: 1.25 !important;
  letter-spacing: 0.08em !important;
}

body :is(
  .text-caption,
  .eyebrow,
  .kicker,
  .badge,
  .tag,
  .infor_sub,
  .event-card__meta,
  .event-card__location,
  .footer-heading,
  .footer-eyebrow,
  .contact-route-card__eyebrow,
  .investor-ref-kicker,
  .investor-ref-label,
  .home-react-lab__side-percent
) {
  font-size: var(--caption) !important;
  line-height: 1.35 !important;
  letter-spacing: 0.1em !important;
}

@media (max-width: 767px) {
  body :is(h1, .h1, .hero-title, .project-title, .text-display-1) {
    line-height: 1.08 !important;
  }

  body :is(
    h2,
    .h2,
    .section-title,
    .text-display-2,
    .s-header h2,
    .events-schedule-block__title,
    .investor-guide-section-head h2,
    .experience-center-head h2,
    .about-ref-expertise__head h2,
    .about-ref-band__item h2,
    .project-section-head h2,
    .project-plans-head h2,
    .contact-section-head h2,
    .villa23-overview-title,
    .villa23-gallery-scroll-copy h2,
    .investor-ref-centered h2,
    .investor-ref-title-row h2,
    .investor-ref-split-head h2,
    .investor-ref-management__copy h2,
    .investor-ref-relations__grid h2,
    .investor-ref-faq__grid h2,
    .investor-ref-form-panel__copy h2
  ) {
    line-height: 1.15 !important;
  }
}

/* Developments page typography alignment */
body.developments-page-body:not(.home-page-body) .section-project-hero .project-title {
  font-size: var(--display-xl) !important;
  font-weight: 300 !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory .development-directory-intro__title {
  font-size: var(--h2) !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory .development-feature__title {
  font-size: var(--h3) !important;
  font-weight: 400 !important;
  line-height: 1.18 !important;
  letter-spacing: 0 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory :is(
  .development-directory-intro__summary,
  .development-feature__text,
  .text-body-1,
  .text-body-2
) {
  font-size: var(--body) !important;
  line-height: 1.65 !important;
  letter-spacing: 0 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory :is(
  .development-feature__eyebrow,
  .text-caption
) {
  font-size: var(--caption) !important;
  line-height: 1.35 !important;
  letter-spacing: 0.1em !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory .development-feature__actions .tf-btn {
  font-size: var(--nav) !important;
  line-height: 1.25 !important;
  letter-spacing: 0.08em !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section .development-directory-intro p.development-directory-intro__summary.text-body-1.text-white-64 {
  font-size: var(--body) !important;
  line-height: 1.65 !important;
  color: var(--white-reveal-muted, rgba(255, 255, 255, 0.68)) !important;
  -webkit-text-fill-color: var(--white-reveal-muted, rgba(255, 255, 255, 0.68)) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed .development-directory-intro p.development-directory-intro__summary.text-body-1.text-white-64 {
  color: rgba(0, 0, 0, 0.62) !important;
  -webkit-text-fill-color: rgba(0, 0, 0, 0.62) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section article.development-feature h2.development-feature__title,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section .development-directory-features > article.development-feature:first-child h2.development-feature__title,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section .development-directory-features > article.development-feature:not(:first-child) h2.development-feature__title {
  font-size: var(--h3) !important;
  font-weight: 400 !important;
  line-height: 1.18 !important;
  letter-spacing: 0 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section article.development-feature p.development-feature__text.text-body-2.text-white-64,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section .development-directory-features > article.development-feature:first-child p.development-feature__text.text-body-2.text-white-64,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section .development-directory-features > article.development-feature:not(:first-child) p.development-feature__text.text-body-2.text-white-64 {
  font-size: var(--body) !important;
  line-height: 1.65 !important;
  color: var(--white-reveal-muted, rgba(255, 255, 255, 0.68)) !important;
  -webkit-text-fill-color: var(--white-reveal-muted, rgba(255, 255, 255, 0.68)) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed article.development-feature p.development-feature__text.text-body-2.text-white-64,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed .development-directory-features > article.development-feature:first-child p.development-feature__text.text-body-2.text-white-64,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed .development-directory-features > article.development-feature:not(:first-child) p.development-feature__text.text-body-2.text-white-64 {
  color: rgba(0, 0, 0, 0.62) !important;
  -webkit-text-fill-color: rgba(0, 0, 0, 0.62) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section article.development-feature:hover p.development-feature__text.text-body-2.text-white-64 {
  color: rgba(255, 255, 255, 0.72) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.72) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section article.development-feature .development-feature__actions .tf-btn,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section .development-directory-features > article.development-feature:first-child .development-feature__actions .tf-btn,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section .development-directory-features > article.development-feature:not(:first-child) .development-feature__actions .tf-btn {
  font-size: var(--nav) !important;
  line-height: 1.25 !important;
  letter-spacing: 0.08em !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory .development-directory-features {
  grid-auto-rows: 1fr !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section article.development-feature:not(:hover):not(:focus-within) {
  background: #ffffff !important;
  color: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section article.development-feature:not(:hover):not(:focus-within) :is(
  .development-feature__eyebrow,
  .development-feature__title,
  .development-feature__text,
  .tf-btn
) {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section article.development-feature:not(:hover):not(:focus-within) .development-feature__text,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section article.development-feature:not(:hover):not(:focus-within) .development-feature__eyebrow {
  opacity: 0.62 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section article.development-feature:not(:hover):not(:focus-within) p.development-feature__text.text-body-2.text-white-64,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section .development-directory-features > article.development-feature:first-child:not(:hover):not(:focus-within) p.development-feature__text.text-body-2.text-white-64,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section .development-directory-features > article.development-feature:not(:first-child):not(:hover):not(:focus-within) p.development-feature__text.text-body-2.text-white-64 {
  color: rgba(0, 0, 0, 0.62) !important;
  -webkit-text-fill-color: rgba(0, 0, 0, 0.62) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section article.development-feature:not(:hover):not(:focus-within) .tf-btn {
  border-color: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section article.development-feature {
  will-change: transform, background-color, border-color !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed article.development-feature:hover,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed article.development-feature:focus-within {
  border-color: #000000 !important;
  background: #000000 !important;
  color: #ffffff !important;
  transform: translate3d(0, -6px, 0) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed article.development-feature:hover :is(
  .development-feature__eyebrow,
  .development-feature__title,
  .development-feature__text,
  .tf-btn
),
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed article.development-feature:focus-within :is(
  .development-feature__eyebrow,
  .development-feature__title,
  .development-feature__text,
  .tf-btn
) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed article.development-feature:hover .development-feature__text,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed article.development-feature:focus-within .development-feature__text {
  opacity: 0.74 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed article.development-feature:hover .development-feature__media img,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed article.development-feature:focus-within .development-feature__media img {
  transform: scale(1.055) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed article.development-feature:hover .tf-btn:hover,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed article.development-feature:focus-within .tf-btn:focus-visible {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed article.development-feature:hover .tf-btn:hover::before,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed article.development-feature:focus-within .tf-btn:focus-visible::before {
  background: #ffffff !important;
}

/* Developments directory hover polish: keep revealed cards readable and stable. */
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed article.development-feature:hover,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed article.development-feature:focus-within {
  border-color: #000000 !important;
  background: #ffffff !important;
  color: #000000 !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.13) !important;
  transform: translate3d(0, -4px, 0) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed article.development-feature:hover .development-feature__copy,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed article.development-feature:focus-within .development-feature__copy {
  background: #ffffff !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed article.development-feature:hover :is(
  .development-feature__eyebrow,
  .development-feature__title,
  .development-feature__text,
  .tf-btn
),
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed article.development-feature:focus-within :is(
  .development-feature__eyebrow,
  .development-feature__title,
  .development-feature__text,
  .tf-btn
) {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed article.development-feature:hover .development-feature__text,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed article.development-feature:focus-within .development-feature__text {
  color: rgba(0, 0, 0, 0.64) !important;
  -webkit-text-fill-color: rgba(0, 0, 0, 0.64) !important;
  opacity: 1 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed article.development-feature:hover .tf-btn,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed article.development-feature:focus-within .tf-btn {
  border-color: #000000 !important;
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed article.development-feature:hover .tf-btn:hover,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed article.development-feature:focus-within .tf-btn:focus-visible {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed article.development-feature:hover .tf-btn:hover::before,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed article.development-feature:focus-within .tf-btn:focus-visible::before {
  background: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed article.development-feature:hover .development-feature__media img,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed article.development-feature:focus-within .development-feature__media img {
  transform: scale(1.045) !important;
}

/* Developments directory now stays in its final white state; no scroll reveal. */
body.developments-page-body:not(.home-page-body) .section-development-directory,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section.is-white-revealed {
  background: #f3f3f3 !important;
  color: #000000 !important;
  isolation: auto !important;
  overflow: visible !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory::before,
body.developments-page-body:not(.home-page-body) .section-development-directory::after,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section::before,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section::after {
  display: none !important;
  content: none !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory :is(
  .development-directory-intro__title,
  .development-feature__title
) {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory :is(
  .development-directory-intro__summary,
  .development-feature__eyebrow,
  .development-feature__text,
  .text-white-64,
  .text-body-1.text-white-64,
  .text-body-2.text-white-64
) {
  color: rgba(0, 0, 0, 0.62) !important;
  -webkit-text-fill-color: rgba(0, 0, 0, 0.62) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature,
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature:hover,
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature:focus-within {
  background: #ffffff !important;
  color: #000000 !important;
  border-color: rgba(0, 0, 0, 0.16) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature:hover,
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature:focus-within {
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.13) !important;
  transform: translate3d(0, -4px, 0) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature :is(
  .development-feature__eyebrow,
  .development-feature__title,
  .development-feature__text,
  .tf-btn
),
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature:hover :is(
  .development-feature__eyebrow,
  .development-feature__title,
  .development-feature__text,
  .tf-btn
),
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature:focus-within :is(
  .development-feature__eyebrow,
  .development-feature__title,
  .development-feature__text,
  .tf-btn
) {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__text,
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature:hover .development-feature__text,
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature:focus-within .development-feature__text {
  color: rgba(0, 0, 0, 0.64) !important;
  -webkit-text-fill-color: rgba(0, 0, 0, 0.64) !important;
  opacity: 1 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .tf-btn,
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature:hover .tf-btn,
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature:focus-within .tf-btn {
  border-color: #000000 !important;
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .tf-btn:hover,
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .tf-btn:focus-visible {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .tf-btn:hover::before,
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .tf-btn:focus-visible::before {
  background: #000000 !important;
}

body.developments-page-body.kpd-interior-page:not(.home-page-body) .section-development-directory.home-mirror-section,
body.developments-page-body.kpd-interior-page:not(.home-page-body) .section-development-directory.home-mirror-section.home-mirror-section--default,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-mirror-section,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-mirror-section.home-mirror-section--default {
  background: #f3f3f3 !important;
  color: #000000 !important;
}

body.developments-page-body.kpd-interior-page:not(.home-page-body) .section-development-directory.home-mirror-section > .home-section-mirror-bg,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-mirror-section > .home-section-mirror-bg {
  display: none !important;
}

body.developments-page-body.kpd-interior-page:not(.home-page-body) .section-development-directory p.development-directory-intro__summary.text-body-1.text-white-64,
body.developments-page-body:not(.home-page-body) .section-development-directory p.development-directory-intro__summary.text-body-1.text-white-64,
body.developments-page-body.kpd-interior-page:not(.home-page-body) .section-development-directory p.development-feature__text.text-body-2.text-white-64,
body.developments-page-body:not(.home-page-body) .section-development-directory p.development-feature__text.text-body-2.text-white-64 {
  color: rgba(0, 0, 0, 0.62) !important;
  -webkit-text-fill-color: rgba(0, 0, 0, 0.62) !important;
}

/* KPD typography system overwrite
   Source: Figtree premium editorial system. Keep this block last. */
:root {
  --font-primary: "Figtree", Inter, "Helvetica Neue", Arial, sans-serif;
  --font-main: var(--font-primary);
  --font_instrument: var(--font-primary);
  --bs-font-sans-serif: var(--font-primary);
  --bs-body-font-family: var(--font-primary);
  --bs-btn-font-family: var(--font-primary);

  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  --text-hero: clamp(40px, 6vw, 88px);
  --text-h1: clamp(36px, 4.8vw, 64px);
  --text-h2: clamp(30px, 3.5vw, 48px);
  --text-h3: clamp(24px, 2.2vw, 32px);
  --text-h4: clamp(18px, 1.6vw, 24px);
  --text-body-large: clamp(18px, 1.4vw, 22px);
  --text-body: 17px;
  --text-body-small: 14px;
  --text-caption: 12px;

  --display-xl: var(--text-h1);
  --h2: var(--text-h2);
  --h3: var(--text-h3);
  --h4: var(--text-h4);
  --h5: 14px;
  --body: var(--text-body);
  --body-small: var(--text-body-small);
  --nav: 14px;
  --label: 13px;
  --caption: var(--text-caption);

  --line-hero: 1.05;
  --line-h1: 1.08;
  --line-heading: 1.12;
  --line-subheading: 1.2;
  --line-small-heading: 1.3;
  --line-body: 1.7;
  --line-small: 1.55;

  --tracking-hero: -0.035em;
  --tracking-tight: -0.03em;
  --tracking-heading: -0.025em;
  --tracking-subtle: -0.015em;
  --tracking-body: 0;
  --tracking-wide: 0.04em;
  --tracking-cta: 0.1em;
  --tracking-luxury: 0.14em;
  --tracking-eyebrow: 0.16em;
}

@media (max-width: 767px) {
  :root {
    --text-body: 16px;
    --body: 16px;
    --text-body-large: 18px;
    --text-body-small: 14px;
  }
}

html {
  text-rendering: geometricPrecision;
}

body {
  font-family: var(--font-primary) !important;
  font-size: var(--text-body) !important;
  font-weight: var(--font-weight-regular) !important;
  line-height: var(--line-body) !important;
  letter-spacing: var(--tracking-body) !important;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body :is(
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  li,
  a,
  button,
  input,
  select,
  textarea,
  label,
  legend,
  figcaption,
  blockquote,
  small,
  strong,
  span:not([class^="icon"]):not([class*=" icon-"])
) {
  font-family: var(--font-primary) !important;
}

body :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-primary) !important;
  margin: 0 !important;
  font-style: normal !important;
  letter-spacing: var(--tracking-heading) !important;
}

body :is(
  h1,
  .h1,
  .page-title,
  .project-title,
  .story-atlas-title,
  .story-values-title,
  .investor-guide-intro__title,
  .article-single-title
) {
  font-size: var(--text-h1) !important;
  font-weight: var(--font-weight-regular) !important;
  line-height: var(--line-h1) !important;
  letter-spacing: var(--tracking-tight) !important;
}

body.home-page-body :is(
  .hero-title,
  .section-hero-v1 .davies-large,
  .section-hero-v1 .hero-tagline,
  .text-display-1
),
body :is(.campaign-title, .landing-hero-title) {
  font-size: var(--text-hero) !important;
  font-weight: var(--font-weight-light) !important;
  line-height: var(--line-hero) !important;
  letter-spacing: var(--tracking-hero) !important;
}

body :is(
  h2,
  .h2,
  .section-title,
  .text-display-2,
  .s-header h2,
  .s-header .title,
  .about-ref-heading,
  .about-ref-story__title,
  .about-ref-band__item h2,
  .about-ref-expertise__head h2,
  .about-ref-message__copy h2,
  .selected-dev-section-title,
  .experience-center-head h2,
  .press-news-title,
  .events-schedule-block__title,
  .investor-guide-section-head h2,
  .investor-ref-centered h2,
  .investor-ref-title-row h2,
  .investor-ref-split-head h2,
  .investor-ref-management__copy h2,
  .investor-ref-relations__grid h2,
  .investor-ref-faq__grid h2,
  .investor-ref-form-panel__copy h2,
  .development-directory-intro__title,
  .news-atlas-intro__title,
  .events-schedule-intro h2,
  .contact-section-head h2,
  .contact-inquiry-copy h2,
  .villa23-overview-title,
  .villa23-gallery-scroll-copy h2,
  .project-section-head h2,
  .project-plans-head h2,
  .project-cta .s-header h2
) {
  font-size: var(--text-h2) !important;
  font-weight: var(--font-weight-regular) !important;
  line-height: var(--line-heading) !important;
  letter-spacing: var(--tracking-heading) !important;
}

body :is(
  h3,
  .h3,
  .subsection-title,
  .card-title,
  .infor_name,
  .article-blog .infor_name,
  .event-card__title,
  .event-recap-card .infor_name,
  .development-feature__title,
  .leadership-card-name,
  .contact-route-card__title,
  .contact-location-card h3,
  .story-card h3,
  .story-value-card h3,
  .story-manifesto-card h3,
  .story-quote-card h3,
  .investor-guide-stat-card strong,
  .investor-guide-side-card h3,
  .investor-guide-opportunity-card h3,
  .investor-ref-info-card h3,
  .investor-ref-image-card h3,
  .investor-ref-inventory-card h3,
  .investor-ref-doc-card h3,
  .villa23-amenity-card__body h3,
  .villa23-gallery-scroll-copy h3,
  .project-metric-card .metric-value,
  .plan-stat-grid strong,
  .route-summary-stat strong
) {
  font-size: var(--text-h3) !important;
  font-weight: var(--font-weight-medium) !important;
  line-height: var(--line-subheading) !important;
  letter-spacing: var(--tracking-subtle) !important;
}

body :is(
  h4,
  .h4,
  .small-title,
  .footer-statement,
  .contact-block-heading,
  .footer-menu-note,
  .project-description-title,
  .property-feature-title
) {
  font-size: var(--text-h4) !important;
  font-weight: var(--font-weight-medium) !important;
  line-height: var(--line-small-heading) !important;
  letter-spacing: var(--tracking-subtle) !important;
}

body :is(
  p,
  li,
  .text-body-1,
  .text-body-2,
  .body-text,
  .desc,
  .description,
  .project-description,
  .contact-route-card__body,
  .contact-location-card p,
  .event-card__details,
  .event-card__location,
  .development-feature__text,
  .investor-guide-stat-card p,
  .investor-guide-side-card p,
  .investor-guide-opportunity-card p,
  .investor-ref-info-card p,
  .investor-ref-image-card p,
  .investor-ref-inventory-card p,
  .investor-ref-doc-card p,
  .villa23-overview-copy,
  .villa23-amenity-card__body p
) {
  font-size: var(--text-body) !important;
  font-weight: var(--font-weight-regular) !important;
  line-height: var(--line-body) !important;
  letter-spacing: var(--tracking-body) !important;
}

body :is(
  .body-large,
  .hero-subtitle,
  .hero-statement-copy,
  .section-intro,
  .about-ref-story__copy,
  .about-ref-message__copy p,
  .project-hero-summary,
  .project-hero-copy,
  .investor-guide-intro__lead,
  .news-single-intro,
  .blog-single-intro
) {
  font-size: var(--text-body-large) !important;
  font-weight: var(--font-weight-regular) !important;
  line-height: 1.65 !important;
  letter-spacing: -0.01em !important;
}

body :is(
  .text-body-3,
  .body-small,
  .small-copy,
  .footer-summary,
  .footer-bottom,
  .footer-bottom a,
  .footer-bottom p,
  .footer-menu-list a,
  .footer-menu-note,
  figcaption,
  small,
  .article-blog .btn-action,
  .property-details,
  .legal-note
) {
  font-size: var(--text-body-small) !important;
  font-weight: var(--font-weight-regular) !important;
  line-height: var(--line-small) !important;
  letter-spacing: var(--tracking-body) !important;
}

body :is(
  .nav-link,
  .menu-link,
  .nav-menu-desktop-site .item-link,
  .desktop-nav-link,
  .btn-mobile-menu,
  .main-nav a,
  .header-contact p,
  .project-anchor-nav a
) {
  font-size: 14px !important;
  font-weight: var(--font-weight-medium) !important;
  line-height: 1 !important;
  letter-spacing: 0.025em !important;
}

body :is(
  .tf-btn,
  .tf-btn span,
  .animate-btn,
  .button-primary,
  .button-premium,
  .contact-form-submit,
  .event-recap-action,
  .project-tab-nav .tf-btn-tab,
  .project-plans-controls > .tf-btn,
  .villa23-travel-controls button,
  .development-feature__actions .tf-btn,
  .investor-ref-inventory-card__body .tf-btn,
  .contact-react-form button,
  .contact-form-mode
) {
  font-size: 14px !important;
  font-weight: var(--font-weight-medium) !important;
  line-height: 1 !important;
  letter-spacing: var(--tracking-cta) !important;
  text-transform: uppercase !important;
}

body :is(
  .text-caption,
  .eyebrow,
  .kicker,
  .badge,
  .tag,
  .label,
  .infor_sub,
  .event-card__meta,
  .event-card__location,
  .development-feature__eyebrow,
  .footer-eyebrow,
  .footer-heading,
  .contact-route-card__eyebrow,
  .investor-ref-kicker,
  .investor-ref-label,
  .project-metric-card .metric-label,
  .plan-stat-grid .label,
  .route-summary-stat .label,
  .home-react-lab__side-percent
) {
  font-size: var(--text-caption) !important;
  font-weight: var(--font-weight-medium) !important;
  line-height: 1.2 !important;
  letter-spacing: var(--tracking-eyebrow) !important;
  text-transform: uppercase !important;
}

body :is(
  .stat-number,
  .indicate-counter,
  .indicator-wrap--cards .indicator-card .indicate-counter,
  .section-hero-stats .hero-statement-indicators .indicate-counter,
  .odometer,
  .odometer-inside,
  .project-metric-card .metric-value,
  .investor-guide-stat-card strong,
  .plan-stat-grid strong,
  .route-summary-stat strong
) {
  font-size: clamp(44px, 5vw, 72px) !important;
  font-weight: var(--font-weight-light) !important;
  line-height: 1 !important;
  letter-spacing: -0.04em !important;
}

body :is(
  .stat-label,
  .indicate-title,
  .section-hero-stats .hero-statement-indicators .indicate-title,
  .project-metric-card .metric-label,
  .investor-guide-stat-card__label
) {
  font-size: 13px !important;
  font-weight: var(--font-weight-medium) !important;
  line-height: 1.4 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body :is(
  .article-blog .infor_name,
  .event-card__title,
  .development-feature__title,
  .investor-ref-inventory-card h3,
  .investor-ref-image-card h3,
  .contact-route-card__title,
  .leadership-card-name
) {
  font-size: clamp(22px, 2vw, 28px) !important;
  font-weight: var(--font-weight-medium) !important;
  line-height: 1.2 !important;
  letter-spacing: var(--tracking-subtle) !important;
}

body :is(
  .article-blog p,
  .event-card p,
  .development-feature__text,
  .card-description,
  .investor-ref-inventory-card p,
  .investor-ref-image-card p,
  .contact-route-card p
) {
  font-size: 15px !important;
  font-weight: var(--font-weight-regular) !important;
  line-height: 1.65 !important;
}

body :is(
  form label,
  .form-label,
  .contact-react-form label,
  .contact-form-modes legend,
  .contact-form-check,
  .contact-form-check a
) {
  font-size: 13px !important;
  font-weight: var(--font-weight-medium) !important;
  line-height: 1.2 !important;
  letter-spacing: var(--tracking-wide) !important;
}

body :is(
  input,
  select,
  textarea,
  form input,
  form select,
  form textarea,
  .contact-react-form input,
  .contact-react-form select,
  .contact-react-form textarea
) {
  font-size: 16px !important;
  font-weight: var(--font-weight-regular) !important;
  line-height: 1.4 !important;
  letter-spacing: var(--tracking-body) !important;
}

body :is(input, textarea, .contact-react-form input)::placeholder,
body :is(.contact-react-form textarea)::placeholder {
  font-size: 16px !important;
  font-weight: var(--font-weight-regular) !important;
  opacity: 0.55 !important;
}

body :is(
  .tf-footer,
  .tf-footer p,
  .footer-text,
  .footer-summary
) {
  font-size: 14px !important;
  font-weight: var(--font-weight-regular) !important;
  line-height: 1.6 !important;
}

body :is(
  .tf-footer a,
  .footer-link,
  .footer-menu-list a,
  .footer-bottom__links a
) {
  font-size: 14px !important;
  font-weight: var(--font-weight-medium) !important;
  line-height: 1.4 !important;
  letter-spacing: 0.02em !important;
}

body :is(.footer-heading, .footer-eyebrow) {
  font-size: 13px !important;
  font-weight: var(--font-weight-semibold) !important;
  line-height: 1.2 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

body :is(strong, b) {
  font-weight: var(--font-weight-semibold) !important;
}

body :is(.font-weight-bold, .fw-bold, .fw-bolder) {
  font-weight: var(--font-weight-semibold) !important;
}

body :is(.icon, [class^="icon-"], [class*=" icon-"], .icomoon) {
  font-family: "icomoon" !important;
}

@media (max-width: 767px) {
  body :is(p, li, .text-body-1, .text-body-2, .body-text, .desc, .description) {
    font-size: 16px !important;
    line-height: 1.65 !important;
  }

  body :is(.body-large, .hero-subtitle, .hero-statement-copy, .section-intro) {
    font-size: 18px !important;
    line-height: 1.6 !important;
  }

  body :is(.tf-btn, .animate-btn, .button-primary, .button-premium) {
    font-size: 13px !important;
  }
}

/* KPD document typography overwrite v2
   Keep this final. It settles page-specific rules into the Figtree system. */
:root {
  --font-primary: "Figtree", Inter, "Helvetica Neue", Arial, sans-serif !important;
  --font-main: var(--font-primary) !important;
  --font_instrument: var(--font-primary) !important;
  --bs-body-font-family: var(--font-primary) !important;
  --text-hero: clamp(40px, 6vw, 88px);
  --text-h1: clamp(36px, 4.8vw, 64px);
  --text-h2: clamp(30px, 3.5vw, 48px);
  --text-h3: clamp(24px, 2.2vw, 32px);
  --text-h4: clamp(18px, 1.6vw, 24px);
  --text-body-large: clamp(18px, 1.4vw, 22px);
  --text-body: 17px;
  --text-body-small: 14px;
  --text-caption: 12px;
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --line-hero: 1.05;
  --line-h1: 1.08;
  --line-heading: 1.12;
  --line-subheading: 1.2;
  --line-body: 1.7;
  --line-small: 1.55;
  --tracking-hero: -0.035em;
  --tracking-tight: -0.03em;
  --tracking-heading: -0.025em;
  --tracking-subtle: -0.015em;
  --tracking-body: 0;
  --tracking-wide: 0.04em;
  --tracking-cta: 0.1em;
  --tracking-luxury: 0.14em;
  --tracking-eyebrow: 0.16em;
}

html,
body,
body :is(input, select, textarea, button) {
  font-family: var(--font-primary) !important;
}

body {
  font-size: var(--text-body) !important;
  font-weight: var(--font-weight-regular) !important;
  line-height: var(--line-body) !important;
  letter-spacing: var(--tracking-body) !important;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body :is(
  h1, h2, h3, h4, h5, h6,
  .hero-title,
  .project-title,
  .page-title,
  .section-title,
  .title,
  .s-header .title,
  .s-header h2,
  .mini-title
) {
  font-family: var(--font-primary) !important;
  text-transform: none;
}

body :is(.icon, [class^="icon-"], [class*=" icon-"], .icomoon),
body :is(i[class^="icon-"], i[class*=" icon-"], span[class^="icon-"], span[class*=" icon-"]) {
  font-family: "icomoon" !important;
  letter-spacing: 0 !important;
}

body.home-page-body .section-hero-v1 :is(.hero-title, .davies-large, .hero-tagline) {
  font-size: var(--text-hero) !important;
  font-weight: var(--font-weight-light) !important;
  line-height: var(--line-hero) !important;
  letter-spacing: var(--tracking-hero) !important;
}

body.home-page-body .section-hero-v1 .hero-tagline {
  max-width: 12ch;
}

body:not(.home-page-body) :is(
  .section-project-hero .project-title,
  .project-title,
  .page-title,
  .news-single-title,
  .blog-single-title
) {
  font-size: var(--text-h1) !important;
  font-weight: var(--font-weight-regular) !important;
  line-height: var(--line-h1) !important;
  letter-spacing: var(--tracking-tight) !important;
}

body :is(
  h2,
  .text-display-2,
  .section-title,
  .s-header h2,
  .s-header .title,
  .selected-dev-section-title,
  .experience-center-head h2,
  .experience-center-title,
  .press-news-title,
  .events-updates-heading,
  .development-directory-intro__title,
  .news-atlas-intro__title,
  .events-schedule-block__title,
  .villa23-overview-title,
  .project-section-head h2,
  .project-plans-head h2,
  .contact-section-head h2,
  .contact-location-title,
  .investor-guide-section-head h2,
  .investor-guide-intro__title,
  .investor-ref-centered h2,
  .investor-ref-title-row h2,
  .investor-ref-split-head h2,
  .investor-ref-management__copy h2,
  .investor-ref-relations__grid h2,
  .investor-ref-faq__grid h2,
  .investor-ref-form-panel__copy h2,
  .about-ref-heading,
  .about-ref-story h2,
  .about-ref-message__copy h2,
  .about-ref-band__item h2,
  .leadership-message-copy h2,
  .footer-statement
) {
  font-size: var(--text-h2) !important;
  font-weight: var(--font-weight-regular) !important;
  line-height: var(--line-heading) !important;
  letter-spacing: var(--tracking-heading) !important;
}

body :is(
  h3,
  .text-display-3,
  .subsection-title,
  .selected-dev-title,
  .press-news-card h3,
  .events-updates-card__content h2,
  .article-blog .infor_name,
  .news-atlas-card__title,
  .event-card__title,
  .event-recap-card .infor_name,
  .development-feature__title,
  .investor-ref-inventory-card h3,
  .investor-ref-image-card h3,
  .investor-ref-info-card h3,
  .investor-guide-stat-card h3,
  .investor-guide-driver-card h3,
  .investor-guide-side-card h3,
  .investor-guide-advantage-card h3,
  .investor-guide-opportunity-card h3,
  .contact-route-card__title,
  .contact-process-item h3,
  .contact-location-card h3,
  .leadership-card-name,
  .about-ref-expertise-card h3,
  .villa23-amenity-card__body h3,
  .project-metric-card h3
) {
  font-size: var(--text-h3) !important;
  font-weight: var(--font-weight-medium) !important;
  line-height: var(--line-subheading) !important;
  letter-spacing: var(--tracking-subtle) !important;
}

body :is(
  h4, h5, h6,
  .small-title,
  .contact-block-title,
  .footer-heading,
  .tf-list li,
  .experience-center-caption strong,
  .project-feature-title,
  .floor-plan-card h4,
  .route-summary-stat strong
) {
  font-size: var(--text-h4) !important;
  font-weight: var(--font-weight-medium) !important;
  line-height: 1.3 !important;
  letter-spacing: var(--tracking-subtle) !important;
}

body :is(
  p,
  li,
  .text-body-1,
  .text-body-2,
  .body-text,
  .desc,
  .description,
  .project-hero-summary,
  .project-hero-copy,
  .section-intro,
  .news-atlas-intro__summary,
  .development-directory-intro__summary,
  .contact-inquiry-copy p,
  .about-ref-story__copy p,
  .about-ref-message__copy p,
  .investor-guide-intro__lead,
  .investor-ref-copy,
  .blog-single-wrap p,
  .news-single-body p
) {
  font-size: var(--text-body) !important;
  font-weight: var(--font-weight-regular) !important;
  line-height: var(--line-body) !important;
  letter-spacing: var(--tracking-body) !important;
}

body :is(
  .hero-subtitle,
  .hero-statement-copy,
  .about-ref-story__lead,
  .leadership-message-copy .lead,
  .article-single-lead,
  .blog-single-intro,
  .news-single-intro,
  .project-overview-lead
) {
  font-size: var(--text-body-large) !important;
  font-weight: var(--font-weight-regular) !important;
  line-height: 1.65 !important;
  letter-spacing: -0.01em !important;
}

body :is(
  small,
  figcaption,
  .text-caption,
  .infor_sub,
  .news-atlas-card__meta,
  .event-card__meta,
  .event-card__location,
  .development-feature__eyebrow,
  .selected-dev-eyebrow,
  .press-news-card-body p,
  .events-updates-card__date,
  .property-details,
  .footer-bottom,
  .footer-bottom p,
  .footer-bottom a,
  .footer-menu-note,
  .legal-note
) {
  font-size: var(--text-body-small) !important;
  font-weight: var(--font-weight-regular) !important;
  line-height: var(--line-small) !important;
  letter-spacing: var(--tracking-body) !important;
}

body :is(
  .nav-menu-main .item-link,
  .nav-panel-trigger,
  .desktop-nav-link,
  .nav-site-heading,
  .nav-site-link-anchor,
  .btn-mobile-menu,
  .header-contact p,
  .project-anchor-nav a,
  .tf-link-icon,
  .footer-menu-list a
) {
  font-size: 14px !important;
  font-weight: var(--font-weight-medium) !important;
  line-height: 1 !important;
  letter-spacing: 0.025em !important;
}

body :is(
  .eyebrow,
  .kicker,
  .badge,
  .tag,
  .label,
  .mini-title,
  .footer-eyebrow,
  .footer-heading,
  .stat-label,
  .indicate-title,
  .project-metric-card .metric-label,
  .plan-stat-grid .label,
  .route-summary-stat .label,
  .contact-route-card__eyebrow,
  .investor-ref-kicker,
  .investor-ref-label
) {
  font-size: var(--text-caption) !important;
  font-weight: var(--font-weight-medium) !important;
  line-height: 1.2 !important;
  letter-spacing: var(--tracking-eyebrow) !important;
  text-transform: uppercase !important;
}

body :is(
  .tf-btn,
  .animate-btn,
  .button-primary,
  .button-premium,
  .hero-statement-cta,
  .selected-dev-button,
  .press-news-cta,
  .press-news-card-link,
  .events-updates-card__button,
  .event-recap-action,
  .contact-form-submit,
  .contact-react-form button,
  .contact-form-mode,
  .project-tab-nav .tf-btn-tab,
  .project-plans-controls > .tf-btn,
  .development-feature__actions .tf-btn,
  .investor-ref-inventory-card__body .tf-btn,
  .investor-guide-opportunity-card .tf-btn
) {
  font-family: var(--font-primary) !important;
  font-size: 14px !important;
  font-weight: var(--font-weight-medium) !important;
  line-height: 1 !important;
  letter-spacing: var(--tracking-cta) !important;
  text-transform: uppercase !important;
}

body :is(.tf-btn, .animate-btn, .button-primary, .button-premium) :is(span, strong) {
  font: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
}

body :is(
  .stat-number,
  .indicate-counter,
  .indicator-wrap--cards .indicator-card .indicate-counter,
  .odometer,
  .odometer-inside,
  .project-metric-card .metric-value,
  .investor-guide-stat-card strong,
  .plan-stat-grid strong
) {
  font-size: clamp(44px, 5vw, 72px) !important;
  font-weight: var(--font-weight-light) !important;
  line-height: 1 !important;
  letter-spacing: -0.04em !important;
}

body :is(
  .article-blog,
  .news-atlas-card,
  .event-card,
  .event-recap-card,
  .development-feature,
  .investor-ref-info-card,
  .investor-ref-image-card,
  .investor-ref-inventory-card,
  .investor-guide-stat-card,
  .investor-guide-driver-card,
  .investor-guide-side-card,
  .investor-guide-advantage-card,
  .investor-guide-opportunity-card,
  .contact-route-card,
  .about-ref-expertise-card,
  .leadership-card,
  .villa23-amenity-card
) {
  font-family: var(--font-primary) !important;
}

body :is(
  input,
  select,
  textarea,
  .contact-react-form input,
  .contact-react-form select,
  .contact-react-form textarea,
  .investor-guide-inquiry__form input,
  .investor-guide-inquiry__form select,
  .investor-guide-inquiry__form textarea
) {
  font-size: 16px !important;
  font-weight: var(--font-weight-regular) !important;
  line-height: 1.4 !important;
  letter-spacing: var(--tracking-body) !important;
}

body :is(
  form label,
  .form-label,
  .contact-react-form label,
  .contact-form-modes legend,
  .contact-form-check,
  .contact-form-check a
) {
  font-size: 13px !important;
  font-weight: var(--font-weight-medium) !important;
  line-height: 1.2 !important;
  letter-spacing: var(--tracking-wide) !important;
}

body :is(input, textarea, .contact-react-form input, .contact-react-form textarea)::placeholder {
  font-size: 16px !important;
  font-weight: var(--font-weight-regular) !important;
  opacity: 0.55 !important;
}

body :is(
  .tf-footer,
  .tf-footer p,
  .footer-text,
  .footer-summary
) {
  font-size: 14px !important;
  font-weight: var(--font-weight-regular) !important;
  line-height: 1.6 !important;
}

body :is(
  .tf-footer a,
  .footer-link,
  .footer-menu-list a,
  .footer-bottom__links a
) {
  font-size: 14px !important;
  font-weight: var(--font-weight-medium) !important;
  line-height: 1.4 !important;
  letter-spacing: 0.02em !important;
}

body :is(strong, b) {
  font-weight: var(--font-weight-semibold) !important;
}

body :is(.font-weight-bold, .fw-bold, .fw-bolder) {
  font-weight: var(--font-weight-semibold) !important;
}

/* Developments page: white directory without reveal artifacts. */
body.developments-page-body:not(.home-page-body) .section-development-directory,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section,
body.developments-page-body:not(.home-page-body) .section-development-directory.is-white-revealed {
  background: #f4f4f4 !important;
  color: #000 !important;
  --white-reveal-progress: 1 !important;
  --white-reveal-y: 0% !important;
  --white-reveal-screen-y: 0svh !important;
  --white-reveal-ink: #000 !important;
  --white-reveal-muted: rgba(0, 0, 0, 0.62) !important;
  --white-reveal-border: rgba(0, 0, 0, 0.18) !important;
  --white-reveal-surface: rgba(255, 255, 255, 0.92) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory::before,
body.developments-page-body:not(.home-page-body) .section-development-directory::after,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section::before,
body.developments-page-body:not(.home-page-body) .section-development-directory.home-white-reveal-section::after {
  display: none !important;
  opacity: 0 !important;
  content: none !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory :is(
  .development-directory-intro__title,
  .development-directory-intro__summary,
  .development-feature__eyebrow,
  .development-feature__title,
  .development-feature__text
) {
  color: #000 !important;
  opacity: 1 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory .development-directory-intro__title {
  font-size: var(--text-h2) !important;
  font-weight: var(--font-weight-regular) !important;
  line-height: var(--line-heading) !important;
  letter-spacing: var(--tracking-heading) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature h2.development-feature__title {
  font-size: clamp(24px, 2.2vw, 32px) !important;
  font-weight: var(--font-weight-medium) !important;
  line-height: 1.2 !important;
  letter-spacing: var(--tracking-subtle) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature {
  background: #fff !important;
  color: #000 !important;
  border-color: rgba(0, 0, 0, 0.16) !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature:hover,
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature:focus-within {
  background: #000 !important;
  color: #fff !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature:hover :is(
  .development-feature__eyebrow,
  .development-feature__title,
  .development-feature__text
),
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature:focus-within :is(
  .development-feature__eyebrow,
  .development-feature__title,
  .development-feature__text
) {
  color: #fff !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__actions .tf-btn {
  border-color: #000 !important;
  color: #000 !important;
  background: transparent !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature:hover .development-feature__actions .tf-btn,
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature:focus-within .development-feature__actions .tf-btn {
  border-color: rgba(255, 255, 255, 0.72) !important;
  color: #fff !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__actions .tf-btn:hover,
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__actions .tf-btn:focus-visible {
  background: #000 !important;
  color: #fff !important;
  border-color: #000 !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature:hover .development-feature__actions .tf-btn:hover,
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature:focus-within .development-feature__actions .tf-btn:focus-visible {
  background: #fff !important;
  color: #000 !important;
  border-color: #fff !important;
}

body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__media,
body.developments-page-body:not(.home-page-body) .section-development-directory article.development-feature .development-feature__media img {
  filter: none !important;
}

@media (max-width: 991px) {
  body:not(.home-page-body) :is(.section-project-hero .project-title, .project-title, .page-title) {
    font-size: clamp(36px, 7vw, 56px) !important;
  }

  body :is(
    h2,
    .section-title,
    .s-header h2,
    .selected-dev-section-title,
    .press-news-title,
    .events-updates-heading,
    .development-directory-intro__title
  ) {
    font-size: clamp(30px, 5.6vw, 40px) !important;
  }
}

@media (max-width: 767px) {
  body {
    font-size: 16px !important;
  }

  body.home-page-body .section-hero-v1 :is(.hero-title, .davies-large, .hero-tagline) {
    font-size: clamp(40px, 11vw, 48px) !important;
    line-height: 1.1 !important;
  }

  body:not(.home-page-body) :is(.section-project-hero .project-title, .project-title, .page-title) {
    font-size: clamp(36px, 10vw, 42px) !important;
    line-height: 1.12 !important;
  }

  body :is(
    h2,
    .section-title,
    .s-header h2,
    .selected-dev-section-title,
    .experience-center-head h2,
    .press-news-title,
    .events-updates-heading,
    .development-directory-intro__title
  ) {
    font-size: clamp(30px, 8vw, 34px) !important;
    line-height: 1.16 !important;
  }

  body :is(
    h3,
    .selected-dev-title,
    .press-news-card h3,
    .article-blog .infor_name,
    .event-card__title,
    .development-feature__title,
    .contact-route-card__title
  ) {
    font-size: clamp(24px, 6.6vw, 28px) !important;
  }

  body :is(p, li, .text-body-1, .text-body-2, .body-text, .desc, .description) {
    font-size: 16px !important;
    line-height: 1.65 !important;
  }

  body :is(.hero-subtitle, .hero-statement-copy, .body-large, .section-intro) {
    font-size: 18px !important;
    line-height: 1.6 !important;
  }

  body :is(.tf-btn, .animate-btn, .button-primary, .button-premium) {
    font-size: 13px !important;
  }
}

/* KPD document typography overwrite v3
   Absolute selectors for legacy high-specificity page rules. */
html body main#wrapper :is(a, p, li, span, div, input, select, textarea, button),
html body main#wrapper :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-primary) !important;
}

html body:not(.home-page-body) main#wrapper .section-project-hero .container > h1.project-title,
html body:not(.home-page-body) main#wrapper .section-project-hero h1.project-title,
html body:not(.home-page-body) main#wrapper h1.page-title,
html body:not(.home-page-body) main#wrapper h1.news-single-title,
html body:not(.home-page-body) main#wrapper h1.blog-single-title {
  font-size: var(--text-h1) !important;
  font-weight: var(--font-weight-regular) !important;
  line-height: var(--line-h1) !important;
  letter-spacing: var(--tracking-tight) !important;
}

html body.home-page-body main#wrapper .section-hero-v1 .hero-tagline,
html body.home-page-body main#wrapper .section-hero-v1 .hero-title,
html body.home-page-body main#wrapper .section-hero-v1 .davies-large {
  font-size: var(--text-hero) !important;
  font-weight: var(--font-weight-light) !important;
  line-height: var(--line-hero) !important;
  letter-spacing: var(--tracking-hero) !important;
}

html body main#wrapper .selected-dev-section-title,
html body main#wrapper .experience-center-head h2,
html body main#wrapper .experience-center-title,
html body main#wrapper .press-news-title,
html body main#wrapper .events-updates-heading,
html body main#wrapper .development-directory-intro__title,
html body main#wrapper .news-atlas-intro__title,
html body main#wrapper .events-schedule-block__title,
html body main#wrapper .villa23-overview-title,
html body main#wrapper .project-section-head h2,
html body main#wrapper .project-plans-head h2,
html body main#wrapper .contact-section-head h2,
html body main#wrapper .contact-location-title,
html body main#wrapper .investor-guide-section-head h2,
html body main#wrapper .investor-guide-intro__title,
html body main#wrapper .investor-ref-centered h2,
html body main#wrapper .investor-ref-title-row h2,
html body main#wrapper .investor-ref-split-head h2,
html body main#wrapper .investor-ref-management__copy h2,
html body main#wrapper .investor-ref-relations__grid h2,
html body main#wrapper .investor-ref-faq__grid h2,
html body main#wrapper .investor-ref-form-panel__copy h2,
html body main#wrapper .about-ref-heading,
html body main#wrapper .about-ref-story h2,
html body main#wrapper .about-ref-message__copy h2,
html body main#wrapper .about-ref-band__item h2,
html body main#wrapper .leadership-message-copy h2 {
  font-size: var(--text-h2) !important;
  font-weight: var(--font-weight-regular) !important;
  line-height: var(--line-heading) !important;
  letter-spacing: var(--tracking-heading) !important;
}

html body main#wrapper .selected-dev-title,
html body main#wrapper .press-news-card h3,
html body main#wrapper .events-updates-card__content h2,
html body main#wrapper .article-blog .infor_name,
html body main#wrapper .news-atlas-card__title,
html body main#wrapper .event-card__title,
html body main#wrapper .event-recap-card .infor_name,
html body main#wrapper .development-feature__title,
html body main#wrapper .investor-ref-inventory-card h3,
html body main#wrapper .investor-ref-image-card h3,
html body main#wrapper .investor-ref-info-card h3,
html body main#wrapper .investor-guide-stat-card h3,
html body main#wrapper .investor-guide-driver-card h3,
html body main#wrapper .investor-guide-side-card h3,
html body main#wrapper .investor-guide-advantage-card h3,
html body main#wrapper .investor-guide-opportunity-card h3,
html body main#wrapper .contact-route-card__title,
html body main#wrapper .contact-process-item h3,
html body main#wrapper .contact-location-card h3,
html body main#wrapper .leadership-card-name,
html body main#wrapper .about-ref-expertise-card h3,
html body main#wrapper .villa23-amenity-card__body h3,
html body main#wrapper .project-metric-card h3 {
  font-size: var(--text-h3) !important;
  font-weight: var(--font-weight-medium) !important;
  line-height: var(--line-subheading) !important;
  letter-spacing: var(--tracking-subtle) !important;
}

html body.developments-page-body:not(.home-page-body) main#wrapper .section-development-directory .development-directory-features article.development-feature .development-feature__copy > h2.development-feature__title,
html body.developments-page-body:not(.home-page-body) main#wrapper .section-development-directory .development-directory-features article.development-feature:first-child .development-feature__copy > h2.development-feature__title,
html body.developments-page-body:not(.home-page-body) main#wrapper .section-development-directory .development-directory-features article.development-feature:not(:first-child) .development-feature__copy > h2.development-feature__title {
  font-size: clamp(24px, 2.2vw, 32px) !important;
  font-weight: var(--font-weight-medium) !important;
  line-height: 1.2 !important;
  letter-spacing: var(--tracking-subtle) !important;
}

html body main#wrapper p,
html body main#wrapper li,
html body main#wrapper .text-body-1,
html body main#wrapper .text-body-2,
html body main#wrapper .body-text,
html body main#wrapper .desc,
html body main#wrapper .description,
html body main#wrapper .news-atlas-intro__summary,
html body main#wrapper .development-directory-intro__summary,
html body main#wrapper .development-feature__text,
html body main#wrapper .contact-inquiry-copy p,
html body main#wrapper .about-ref-story__copy p,
html body main#wrapper .about-ref-message__copy p,
html body main#wrapper .investor-guide-intro__lead,
html body main#wrapper .investor-ref-copy,
html body main#wrapper .blog-single-wrap p,
html body main#wrapper .news-single-body p {
  font-size: var(--text-body) !important;
  font-weight: var(--font-weight-regular) !important;
  line-height: var(--line-body) !important;
  letter-spacing: var(--tracking-body) !important;
}

html body main#wrapper .article-blog p,
html body main#wrapper .event-card p,
html body main#wrapper .development-feature__text,
html body main#wrapper .card-description,
html body main#wrapper .investor-ref-inventory-card p,
html body main#wrapper .investor-ref-image-card p,
html body main#wrapper .investor-ref-info-card p,
html body main#wrapper .contact-route-card p {
  font-size: 15px !important;
  font-weight: var(--font-weight-regular) !important;
  line-height: 1.65 !important;
}

html body main#wrapper .tf-btn,
html body main#wrapper a.tf-btn,
html body main#wrapper button.tf-btn,
html body main#wrapper .animate-btn,
html body main#wrapper .button-primary,
html body main#wrapper .button-premium,
html body main#wrapper .hero-statement-cta,
html body main#wrapper .selected-dev-button,
html body main#wrapper .press-news-cta,
html body main#wrapper .press-news-card-link,
html body main#wrapper .events-updates-card__button,
html body main#wrapper .event-recap-action,
html body main#wrapper .contact-form-submit,
html body main#wrapper .contact-react-form button,
html body main#wrapper .contact-form-mode,
html body main#wrapper .project-tab-nav .tf-btn-tab,
html body main#wrapper .project-plans-controls > .tf-btn,
html body main#wrapper .development-feature__actions .tf-btn,
html body main#wrapper .investor-ref-inventory-card__body .tf-btn,
html body main#wrapper .investor-guide-opportunity-card .tf-btn {
  font-size: 14px !important;
  font-weight: var(--font-weight-medium) !important;
  line-height: 1 !important;
  letter-spacing: var(--tracking-cta) !important;
  text-transform: uppercase !important;
}

html body main#wrapper .nav-menu-main .item-link,
html body main#wrapper .nav-panel-trigger,
html body main#wrapper .desktop-nav-link,
html body main#wrapper .nav-site-heading,
html body main#wrapper .nav-site-link-anchor,
html body main#wrapper .btn-mobile-menu,
html body main#wrapper .header-contact p,
html body main#wrapper .project-anchor-nav a,
html body main#wrapper .tf-link-icon,
html body main#wrapper .footer-menu-list a {
  font-size: 14px !important;
  font-weight: var(--font-weight-medium) !important;
  line-height: 1 !important;
  letter-spacing: 0.025em !important;
}

html body main#wrapper .text-caption,
html body main#wrapper .mini-title,
html body main#wrapper .footer-eyebrow,
html body main#wrapper .footer-heading,
html body main#wrapper .stat-label,
html body main#wrapper .indicate-title,
html body main#wrapper .project-metric-card .metric-label,
html body main#wrapper .plan-stat-grid .label,
html body main#wrapper .route-summary-stat .label,
html body main#wrapper .contact-route-card__eyebrow,
html body main#wrapper .investor-ref-kicker,
html body main#wrapper .investor-ref-label,
html body main#wrapper .development-feature__eyebrow,
html body main#wrapper .selected-dev-eyebrow {
  font-size: var(--text-caption) !important;
  font-weight: var(--font-weight-medium) !important;
  line-height: 1.2 !important;
  letter-spacing: var(--tracking-eyebrow) !important;
  text-transform: uppercase !important;
}

html body main#wrapper .indicate-counter,
html body main#wrapper .stat-number,
html body main#wrapper .odometer,
html body main#wrapper .odometer-inside,
html body main#wrapper .project-metric-card .metric-value,
html body main#wrapper .investor-guide-stat-card strong,
html body main#wrapper .plan-stat-grid strong {
  font-size: clamp(44px, 5vw, 72px) !important;
  font-weight: var(--font-weight-light) !important;
  line-height: 1 !important;
  letter-spacing: -0.04em !important;
}

html body main#wrapper .icon,
html body main#wrapper [class^="icon-"],
html body main#wrapper [class*=" icon-"] {
  font-family: "icomoon" !important;
  letter-spacing: 0 !important;
}

html body main#wrapper .tf-footer .footer-statement {
  display: flex !important;
  align-items: flex-start !important;
  height: 76px !important;
  min-height: 76px !important;
  font-size: 28px !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
  letter-spacing: 0.784px !important;
}

@media (max-width: 767px) {
  html body:not(.home-page-body) main#wrapper .section-project-hero .container > h1.project-title,
  html body:not(.home-page-body) main#wrapper .section-project-hero h1.project-title,
  html body:not(.home-page-body) main#wrapper h1.page-title {
    font-size: clamp(36px, 10vw, 42px) !important;
    line-height: 1.12 !important;
  }

  html body main#wrapper .selected-dev-section-title,
  html body main#wrapper .experience-center-head h2,
  html body main#wrapper .press-news-title,
  html body main#wrapper .events-updates-heading,
  html body main#wrapper .development-directory-intro__title,
  html body main#wrapper .about-ref-band__item h2 {
    font-size: clamp(30px, 8vw, 34px) !important;
    line-height: 1.16 !important;
  }

  html body main#wrapper p,
  html body main#wrapper li,
  html body main#wrapper .text-body-1,
  html body main#wrapper .text-body-2,
  html body main#wrapper .body-text,
  html body main#wrapper .desc,
  html body main#wrapper .description {
    font-size: 16px !important;
    line-height: 1.65 !important;
  }
}

/* Villa 23 gallery homepage-template lock */
html body.project-page-body:not(.home-page-body) main#wrapper .section-villa23-gallery.experience-center-editorial {
  padding-top: clamp(50px, 5vw, 78px) !important;
  padding-bottom: clamp(50px, 5vw, 78px) !important;
  background: #000000 !important;
  color: #ffffff !important;
}

html body.project-page-body:not(.home-page-body) main#wrapper .section-villa23-gallery.experience-center-editorial .experience-center-editorial-grid {
  gap: clamp(14px, 1.3vw, 24px) !important;
}

html body.project-page-body:not(.home-page-body) main#wrapper .section-villa23-gallery.experience-center-editorial .experience-center-copy {
  align-self: start !important;
  justify-self: stretch !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  text-align: left !important;
}

html body.project-page-body:not(.home-page-body) main#wrapper .section-villa23-gallery.experience-center-editorial .experience-center-title {
  height: 53px !important;
  min-height: 53px !important;
  margin-bottom: clamp(24px, 2.2vw, 34px) !important;
  color: #ffffff !important;
  font-size: 28px !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
  letter-spacing: 0.784px !important;
  text-transform: uppercase !important;
}

html body.project-page-body:not(.home-page-body) main#wrapper .section-villa23-gallery.experience-center-editorial .experience-center-copy-text {
  height: 84px !important;
  min-height: 84px !important;
  max-width: 520px !important;
  overflow: hidden !important;
  color: rgba(255, 255, 255, 0.68) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
}

html body.project-page-body:not(.home-page-body) main#wrapper .section-villa23-gallery.experience-center-editorial .experience-center-card {
  aspect-ratio: auto !important;
  height: clamp(210px, 21vw, 300px) !important;
  min-height: clamp(210px, 21vw, 300px) !important;
  border-radius: 0 !important;
}

html body.project-page-body:not(.home-page-body) main#wrapper .section-villa23-gallery.experience-center-editorial .experience-center-card:nth-of-type(1) {
  height: clamp(230px, 23vw, 320px) !important;
  min-height: clamp(230px, 23vw, 320px) !important;
}

@media (max-width: 767px) {
  html body.project-page-body:not(.home-page-body) main#wrapper .section-villa23-gallery.experience-center-editorial .experience-center-title {
    height: auto !important;
    min-height: 46px !important;
  }

  html body.project-page-body:not(.home-page-body) main#wrapper .section-villa23-gallery.experience-center-editorial .experience-center-copy-text {
    height: auto !important;
    min-height: 0 !important;
  }
}

/* Villa 23 homepage-template sizing lock */
html body.project-page-body:not(.home-page-body) main#wrapper :is(
  .villa23-overview-title,
  .villa23-3d-tour-panel h2,
  .section-villa23-amenities .project-section-head h2,
  .section-villa23-travel-timeline .project-section-head h2,
  .section-project-plans .project-plans-head h2
) {
  position: relative !important;
  display: flex !important;
  align-items: flex-start !important;
  height: 53px !important;
  min-height: 53px !important;
  margin-bottom: clamp(22px, 2vw, 32px) !important;
  font-size: 28px !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
  letter-spacing: 0.784px !important;
  text-transform: uppercase !important;
}

html body.project-page-body:not(.home-page-body) main#wrapper :is(
  .villa23-overview-title,
  .villa23-3d-tour-panel h2,
  .section-villa23-amenities .project-section-head h2,
  .section-villa23-travel-timeline .project-section-head h2,
  .section-project-plans .project-plans-head h2
)::after {
  position: absolute !important;
  left: 0 !important;
  bottom: -0.38em !important;
  display: block !important;
  width: clamp(56px, 7vw, 112px) !important;
  height: 1px !important;
  margin-top: 0 !important;
  background: currentColor !important;
  transform-origin: left center !important;
}

html body.project-page-body:not(.home-page-body) main#wrapper :is(
  .villa23-overview-copy,
  .villa23-amenities-detail__copy,
  .villa23-amenities-detail__list,
  .villa23-amenities-detail__list li,
  .section-villa23-travel-timeline .project-section-copy,
  .villa23-travel-card p,
  .project-plan-card .project-detail-list,
  .project-plan-card .project-detail-list li
) {
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

html body.project-page-body:not(.home-page-body) main#wrapper .villa23-overview-copy {
  max-width: 580px !important;
  min-height: 84px !important;
  margin-bottom: clamp(22px, 2.1vw, 34px) !important;
  color: rgba(255, 255, 255, 0.68) !important;
}

html body.project-page-body:not(.home-page-body) main#wrapper :is(
  .villa23-amenities-detail__title,
  .villa23-travel-card h3,
  .project-plan-card h4
) {
  font-size: 28px !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
  letter-spacing: 0.784px !important;
  text-transform: uppercase !important;
}

html body.project-page-body:not(.home-page-body) main#wrapper .villa23-amenities-detail__copy {
  max-width: 560px !important;
  min-height: 84px !important;
  color: rgba(255, 255, 255, 0.68) !important;
}

html body.project-page-body:not(.home-page-body) main#wrapper .villa23-amenities-detail__list {
  gap: 8px !important;
  padding-top: 14px !important;
  border-top-color: rgba(255, 255, 255, 0.16) !important;
}

html body.project-page-body:not(.home-page-body) main#wrapper .villa23-amenities-detail__list li {
  min-height: 21px !important;
  padding-left: 14px !important;
  color: rgba(255, 255, 255, 0.68) !important;
}

html body.project-page-body:not(.home-page-body) main#wrapper .villa23-amenities-detail__list li::before {
  top: 10px !important;
  width: 7px !important;
  height: 1px !important;
  background: rgba(255, 255, 255, 0.9) !important;
}

html body.project-page-body:not(.home-page-body) main#wrapper .villa23-travel-card p {
  max-width: 420px !important;
  color: rgba(0, 0, 0, 0.64) !important;
}

html body.project-page-body:not(.home-page-body) main#wrapper .villa23-3d-tour-panel h2 {
  justify-content: center !important;
  min-height: 53px !important;
  height: 53px !important;
}

html body.project-page-body:not(.home-page-body) main#wrapper .villa23-3d-tour-mark {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}

html body.project-page-body:not(.home-page-body) main#wrapper :is(
  .villa23-3d-tour-button,
  .section-villa23-amenities .tf-btn,
  .section-project-plans .tf-btn,
  .section-project-plans .tf-btn-tab,
  .section-project-plans .tf-link-icon
) {
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
}

html body.project-page-body:not(.home-page-body) main#wrapper .project-fact-row .label,
html body.project-page-body:not(.home-page-body) main#wrapper .project-fact-row .value,
html body.project-page-body:not(.home-page-body) main#wrapper .plan-label,
html body.project-page-body:not(.home-page-body) main#wrapper .plan-stat-grid .label {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

html body.project-page-body:not(.home-page-body) main#wrapper .plan-stat-grid strong {
  font-size: 28px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  letter-spacing: 0.784px !important;
}

html body.project-page-body:not(.home-page-body) main#wrapper .section-villa23-amenities,
html body.project-page-body:not(.home-page-body) main#wrapper .section-villa23-travel-timeline,
html body.project-page-body:not(.home-page-body) main#wrapper .section-project-plans {
  padding-top: clamp(50px, 5vw, 78px) !important;
  padding-bottom: clamp(50px, 5vw, 78px) !important;
}

html body.project-page-body:not(.home-page-body) main#wrapper .section-villa23-travel-timeline {
  --travel-section-pad-y: clamp(36px, 4.2svh, 58px) !important;
  --travel-map-height: clamp(520px, calc(100svh - 265px), 720px) !important;
  padding-bottom: 0 !important;
}

html body.project-page-body:not(.home-page-body) main#wrapper .section-villa23-travel-timeline .villa23-travel-shell {
  padding-bottom: 0 !important;
}

html body.project-page-body:not(.home-page-body) main#wrapper .section-villa23-travel-timeline .villa23-travel-map-area {
  min-height: var(--travel-map-height) !important;
  height: var(--travel-map-height) !important;
  margin-bottom: 0 !important;
}

@media (max-width: 767px) {
  html body.project-page-body:not(.home-page-body) main#wrapper :is(
    .villa23-overview-title,
    .villa23-3d-tour-panel h2,
    .section-villa23-amenities .project-section-head h2,
    .section-villa23-travel-timeline .project-section-head h2,
    .section-project-plans .project-plans-head h2
  ) {
    height: auto !important;
    min-height: 44px !important;
    font-size: 28px !important;
    line-height: 1.12 !important;
  }

  html body.project-page-body:not(.home-page-body) main#wrapper :is(
    .villa23-overview-copy,
    .villa23-amenities-detail__copy
  ) {
    min-height: 0 !important;
    font-size: 16px !important;
  }
}

html.has-floor-plan-modal,
html.has-floor-plan-modal body {
  overflow: hidden !important;
}

html body.project-page-body:not(.home-page-body) main#wrapper .section-project-plans {
  display: none !important;
}

html body.project-page-body:not(.home-page-body) main#wrapper .project-hero-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px !important;
}

html body.project-page-body:not(.home-page-body) main#wrapper .project-hero-actions .tf-btn {
  min-width: clamp(160px, 12vw, 210px) !important;
  justify-content: center !important;
  border-radius: 0 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
}

.floor-plan-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  padding: clamp(18px, 4vw, 56px);
  color: #000;
  pointer-events: none;
}

.floor-plan-modal[hidden] {
  display: none !important;
}

.floor-plan-modal__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(0, 0, 0, 0.76);
  opacity: 0;
  cursor: pointer;
  transition: opacity 260ms cubic-bezier(0.16, 1, 0.3, 1);
}

.floor-plan-modal__dialog {
  position: relative;
  width: min(720px, 100%);
  max-height: min(760px, calc(100svh - 40px));
  overflow-y: auto;
  background: #f3f3f3;
  border: 1px solid rgba(0, 0, 0, 0.2);
  padding: clamp(28px, 4vw, 52px);
  opacity: 0;
  transform: translateY(26px) scale(0.985);
  box-shadow: 0 34px 120px rgba(0, 0, 0, 0.32);
  transition:
    opacity 300ms cubic-bezier(0.16, 1, 0.3, 1),
    transform 300ms cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: auto;
}

.floor-plan-modal.is-open {
  pointer-events: auto;
}

.floor-plan-modal.is-open .floor-plan-modal__backdrop {
  opacity: 1;
}

.floor-plan-modal.is-open .floor-plan-modal__dialog {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.floor-plan-modal__close {
  position: absolute;
  top: 18px;
  right: 18px;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid rgba(0, 0, 0, 0.22);
  background: transparent;
  color: #000;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 1px;
  text-transform: uppercase;
  transition:
    background-color 220ms cubic-bezier(0.16, 1, 0.3, 1),
    color 220ms cubic-bezier(0.16, 1, 0.3, 1);
}

.floor-plan-modal__close:hover,
.floor-plan-modal__close:focus-visible {
  background: #000;
  color: #fff;
}

.floor-plan-modal__eyebrow {
  margin: 0 0 16px;
  color: rgba(0, 0, 0, 0.58);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.floor-plan-modal h2 {
  max-width: 520px;
  margin: 0;
  color: #000;
  font-size: 28px;
  font-weight: 300;
  line-height: 1.12;
  letter-spacing: 0.784px;
  text-transform: uppercase;
}

.floor-plan-modal__copy {
  max-width: 560px;
  margin: 18px 0 28px;
  color: rgba(0, 0, 0, 0.64);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}

.floor-plan-modal__form {
  display: grid;
  gap: 16px;
}

.floor-plan-modal__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.floor-plan-modal label {
  display: grid;
  gap: 8px;
  margin: 0;
}

.floor-plan-modal label span {
  color: rgba(0, 0, 0, 0.68);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.floor-plan-modal :is(input, select) {
  width: 100%;
  min-height: 54px;
  border: 1px solid rgba(0, 0, 0, 0.22);
  border-radius: 0;
  background: #fff;
  color: #000;
  padding: 0 16px;
  font-size: 16px;
  font-weight: 400;
  outline: none;
  transition:
    border-color 220ms cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 220ms cubic-bezier(0.16, 1, 0.3, 1);
}

.floor-plan-modal :is(input, select):focus {
  border-color: #000;
  box-shadow: 0 0 0 1px #000;
}

.floor-plan-modal__submit {
  width: min(220px, 100%);
  margin-top: 4px;
  border-radius: 0 !important;
}

.floor-plan-modal__status {
  margin: 2px 0 0;
  color: rgba(0, 0, 0, 0.66);
  font-size: 14px;
  line-height: 1.5;
}

@media (max-width: 767px) {
  .floor-plan-modal {
    align-items: end;
    padding: 12px;
  }

  .floor-plan-modal__dialog {
    width: 100%;
    max-height: calc(100svh - 24px);
    padding: 30px 20px 24px;
  }

  .floor-plan-modal__grid {
    grid-template-columns: 1fr;
  }

  .floor-plan-modal h2 {
    padding-right: 76px;
    font-size: 28px;
  }

  html body.project-page-body:not(.home-page-body) main#wrapper .project-hero-actions .tf-btn,
  .floor-plan-modal__submit {
    width: 100% !important;
  }
}

/* Floor plan request modal: isolated compact form styling. */
html body main#wrapper .floor-plan-modal {
  padding: clamp(16px, 2.6vw, 36px) !important;
}

html body main#wrapper .floor-plan-modal__dialog {
  width: min(920px, calc(100vw - 48px)) !important;
  max-height: calc(100svh - 48px) !important;
  overflow: visible !important;
  background: #f3f3f3 !important;
  padding: clamp(30px, 3.2vw, 46px) !important;
}

html body main#wrapper .floor-plan-modal__close {
  top: clamp(18px, 2vw, 28px) !important;
  right: clamp(18px, 2vw, 28px) !important;
  min-width: 92px !important;
  min-height: 44px !important;
  background: transparent !important;
  color: #000 !important;
  -webkit-text-fill-color: #000 !important;
  border-color: rgba(0, 0, 0, 0.28) !important;
}

html body main#wrapper .floor-plan-modal__close:hover,
html body main#wrapper .floor-plan-modal__close:focus-visible {
  background: #000 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

html body main#wrapper .floor-plan-modal__eyebrow {
  margin-bottom: 12px !important;
  color: rgba(0, 0, 0, 0.62) !important;
  -webkit-text-fill-color: rgba(0, 0, 0, 0.62) !important;
}

html body main#wrapper .floor-plan-modal h2 {
  max-width: min(620px, calc(100% - 120px)) !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #000 !important;
  -webkit-text-fill-color: #000 !important;
  font-size: 28px !important;
  font-weight: 300 !important;
  line-height: 1.18 !important;
  letter-spacing: 0.784px !important;
  text-transform: uppercase !important;
}

html body main#wrapper .floor-plan-modal h2::after {
  display: none !important;
  content: none !important;
}

html body main#wrapper .floor-plan-modal__copy {
  max-width: 620px !important;
  margin: 16px 0 22px !important;
  color: rgba(0, 0, 0, 0.66) !important;
  -webkit-text-fill-color: rgba(0, 0, 0, 0.66) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

html body main#wrapper .floor-plan-modal__form {
  gap: 12px !important;
}

html body main#wrapper .floor-plan-modal__grid {
  gap: 12px !important;
}

html body main#wrapper .floor-plan-modal label {
  gap: 6px !important;
}

html body main#wrapper .floor-plan-modal label span {
  color: rgba(0, 0, 0, 0.74) !important;
  -webkit-text-fill-color: rgba(0, 0, 0, 0.74) !important;
  font-size: 12px !important;
}

html body main#wrapper .floor-plan-modal :is(input, select) {
  min-height: 46px !important;
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, 0.24) !important;
  color: #000 !important;
  -webkit-text-fill-color: #000 !important;
  font-size: 14px !important;
}

html body main#wrapper .floor-plan-modal :is(input, select)::placeholder {
  color: rgba(0, 0, 0, 0.44) !important;
  -webkit-text-fill-color: rgba(0, 0, 0, 0.44) !important;
  opacity: 1 !important;
}

html body main#wrapper .floor-plan-modal__submit {
  width: min(210px, 100%) !important;
  min-height: 46px !important;
  margin-top: 6px !important;
  border: 1px solid #000 !important;
  background: #000 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

html body main#wrapper .floor-plan-modal__submit:hover,
html body main#wrapper .floor-plan-modal__submit:focus-visible {
  background: #fff !important;
  color: #000 !important;
  -webkit-text-fill-color: #000 !important;
}

html body main#wrapper .floor-plan-modal__status {
  color: rgba(0, 0, 0, 0.68) !important;
  -webkit-text-fill-color: rgba(0, 0, 0, 0.68) !important;
}

@media (max-height: 760px), (max-width: 767px) {
  html body main#wrapper .floor-plan-modal__dialog {
    overflow-y: auto !important;
  }
}

@media (max-width: 767px) {
  html body main#wrapper .floor-plan-modal__dialog {
    width: 100% !important;
    max-height: calc(100svh - 24px) !important;
    padding: 28px 20px 22px !important;
  }

  html body main#wrapper .floor-plan-modal h2 {
    max-width: 100% !important;
    padding-right: 96px !important;
    font-size: 26px !important;
  }

  html body main#wrapper .floor-plan-modal__grid {
    grid-template-columns: 1fr !important;
  }
}

/* About page homepage-template sync */
html body.about-rebuilt-page,
html body.about-rebuilt-page main#wrapper {
  background: #000 !important;
  color: #fff !important;
}

html body.about-rebuilt-page main#wrapper :is(
  .about-ref-section,
  .about-ref-band
) {
  overflow: hidden !important;
  display: block !important;
}

html body.about-rebuilt-page main#wrapper :is(
  .about-ref-section,
  .about-ref-band
) > .container,
html body.about-rebuilt-page main#wrapper .section-about-hero > .container {
  width: var(--kpd-template-width, min(1760px, calc(100vw - 30px))) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--kpd-template-gutter, 15px) !important;
  padding-right: var(--kpd-template-gutter, 15px) !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-section::before,
html body.about-rebuilt-page main#wrapper .about-ref-section::after,
html body.about-rebuilt-page main#wrapper .about-ref-band::before,
html body.about-rebuilt-page main#wrapper .about-ref-band::after,
html body.about-rebuilt-page main#wrapper .about-ref-story__grid::before,
html body.about-rebuilt-page main#wrapper .about-ref-story__grid::after,
html body.about-rebuilt-page main#wrapper .about-ref-band__grid::before,
html body.about-rebuilt-page main#wrapper .about-ref-band__grid::after,
html body.about-rebuilt-page main#wrapper .about-ref-band__item::before,
html body.about-rebuilt-page main#wrapper .about-ref-band__item::after {
  display: none !important;
  content: none !important;
}

html body.about-rebuilt-page main#wrapper .section-about-hero {
  min-height: 100svh !important;
  height: auto !important;
  padding: 0 !important;
  display: flex !important;
  align-items: flex-end !important;
  background: #000 !important;
  color: #fff !important;
  isolation: isolate !important;
}

html body.about-rebuilt-page main#wrapper .section-about-hero .project-hero-grid,
html body.about-rebuilt-page main#wrapper .section-about-hero .project-hero-top {
  display: none !important;
}

html body.about-rebuilt-page main#wrapper .section-about-hero .project-hero-bg,
html body.about-rebuilt-page main#wrapper .section-about-hero .project-hero-bg img,
html body.about-rebuilt-page main#wrapper .section-about-hero .project-hero-shade {
  position: absolute !important;
  inset: 0 !important;
}

html body.about-rebuilt-page main#wrapper .section-about-hero .project-hero-bg img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  filter: none !important;
  opacity: 1 !important;
}

html body.about-rebuilt-page main#wrapper .section-about-hero .project-hero-shade {
  z-index: 1 !important;
  background:
    linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.56) 66%, #020303 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.16), rgba(0, 0, 0, 0.2)) !important;
  pointer-events: none !important;
}

html body.about-rebuilt-page main#wrapper .section-about-hero > .container {
  position: relative !important;
  z-index: 2 !important;
  padding-top: clamp(110px, 15svh, 180px) !important;
  padding-bottom: clamp(68px, 9svh, 120px) !important;
}

html body.about-rebuilt-page main#wrapper .section-about-hero .project-title {
  width: max-content !important;
  max-width: min(100%, 640px) !important;
  min-height: 76px !important;
  height: 76px !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: 28px !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
  letter-spacing: 0.784px !important;
  text-transform: uppercase !important;
}

html body.about-rebuilt-page main#wrapper :is(
  .about-ref-heading,
  .about-ref-recognition__title,
  .about-ref-expertise__head h2,
  .about-ref-band__item h2
) {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: 53px !important;
  height: 53px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: currentColor !important;
  font-size: 28px !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
  letter-spacing: 0.784px !important;
  text-transform: uppercase !important;
}

html body.about-rebuilt-page main#wrapper :is(
  .about-ref-heading,
  .about-ref-recognition__title,
  .about-ref-expertise__head h2,
  .about-ref-band__item h2
)::before {
  display: none !important;
  content: none !important;
}

html body.about-rebuilt-page main#wrapper :is(
  .about-ref-heading,
  .about-ref-recognition__title,
  .about-ref-expertise__head h2,
  .about-ref-band__item h2
)::after {
  position: absolute !important;
  left: 0 !important;
  bottom: -0.38em !important;
  width: clamp(56px, 7vw, 112px) !important;
  height: 1px !important;
  content: "" !important;
  background: currentColor !important;
  opacity: 0.72 !important;
  transform: scaleX(0.5);
  transform-origin: left center;
  animation: kpdTemplateTitleLine 3.8s cubic-bezier(0.16, 1, 0.3, 1) infinite !important;
}

html body.about-rebuilt-page main#wrapper :is(
  .about-ref-story__copy p,
  .about-ref-message__copy p,
  .about-ref-recognition__copy p,
  .about-ref-band__item p,
  .about-ref-expertise-card p
) {
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-story {
  padding-top: clamp(54px, 6vw, 96px) !important;
  padding-bottom: clamp(54px, 6vw, 96px) !important;
  background: #000 !important;
  color: #fff !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-story__grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--kpd-template-gap, clamp(16px, 1.55vw, 28px)) !important;
  align-items: stretch !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-story__copy {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: clamp(22px, 2.5vw, 42px) !important;
  min-height: clamp(280px, 30vw, 430px) !important;
  padding: 0 !important;
  color: #fff !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-story__copy p {
  max-width: 720px !important;
  color: rgba(255, 255, 255, 0.68) !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-story__inline-link {
  color: #fff !important;
  text-decoration: underline !important;
  text-underline-offset: 0.22em !important;
  text-decoration-thickness: 1px !important;
  transition: color 220ms cubic-bezier(0.16, 1, 0.3, 1), opacity 220ms cubic-bezier(0.16, 1, 0.3, 1);
}

html body.about-rebuilt-page main#wrapper .about-ref-story__inline-link:hover,
html body.about-rebuilt-page main#wrapper .about-ref-story__inline-link:focus-visible {
  color: rgba(255, 255, 255, 0.78) !important;
}

html body.about-rebuilt-page main#wrapper :is(
  .about-ref-story__media,
  .about-ref-message__media,
  .about-ref-recognition__media
) {
  min-height: clamp(280px, 30vw, 430px) !important;
  height: auto !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  background: #101010 !important;
}

html body.about-rebuilt-page main#wrapper :is(
  .about-ref-story__media,
  .about-ref-message__media,
  .about-ref-recognition__media
) img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: inherit !important;
  object-fit: cover !important;
  object-position: center !important;
  filter: none !important;
  transform: scale(1.01) !important;
  transition: transform 960ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

html body.about-rebuilt-page main#wrapper :is(
  .about-ref-story__media,
  .about-ref-message__media,
  .about-ref-recognition__media
):hover img {
  transform: scale(1.055) !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-mission-vision,
html body.about-rebuilt-page main#wrapper .about-ref-recognition {
  padding-top: clamp(54px, 6vw, 96px) !important;
  padding-bottom: clamp(54px, 6vw, 96px) !important;
  background: #000 !important;
  color: var(--white-reveal-ink, #fff) !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-mission-vision.home-white-reveal-section::before,
html body.about-rebuilt-page main#wrapper .about-ref-recognition.home-white-reveal-section::before,
html body.about-rebuilt-page main#wrapper .about-ref-mission-vision.kpd-template-light-reveal::before,
html body.about-rebuilt-page main#wrapper .about-ref-recognition.kpd-template-light-reveal::before {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  background: #f3f3f3 !important;
  transform: translate3d(0, var(--white-reveal-y, 0%), 0) !important;
  transition: transform 820ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-mission-vision:is(.is-white-revealed, .kpd-template-light-reveal),
html body.about-rebuilt-page main#wrapper .about-ref-recognition:is(.is-white-revealed, .kpd-template-light-reveal) {
  color: var(--white-reveal-ink, #fff) !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-mission-vision .about-ref-band__grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--kpd-template-gap, clamp(16px, 1.55vw, 28px)) !important;
  align-items: stretch !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-mission-vision .about-ref-band__item {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: clamp(34px, 4vw, 64px) !important;
  min-height: clamp(260px, 28vw, 400px) !important;
  padding: clamp(4px, 1vw, 16px) 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: currentColor !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-mission-vision .about-ref-band__item p,
html body.about-rebuilt-page main#wrapper .about-ref-recognition .about-ref-recognition__copy p {
  max-width: 760px !important;
  color: var(--white-reveal-muted, rgba(0, 0, 0, 0.68)) !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-message--chairman {
  padding-top: clamp(54px, 6vw, 96px) !important;
  padding-bottom: clamp(54px, 6vw, 96px) !important;
  background: #000 !important;
  color: #fff !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-message__grid {
  display: grid !important;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr) !important;
  gap: var(--kpd-template-gap, clamp(16px, 1.55vw, 28px)) !important;
  align-items: stretch !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-message__copy {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: clamp(24px, 2.8vw, 44px) !important;
  min-height: clamp(420px, 40vw, 640px) !important;
  padding: clamp(34px, 4vw, 64px) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  background: #000 !important;
  color: #fff !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-message__copy p {
  max-width: 780px !important;
  color: rgba(255, 255, 255, 0.66) !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-signature {
  margin: 0 !important;
  padding-top: clamp(18px, 2vw, 30px) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.38) !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-signature strong,
html body.about-rebuilt-page main#wrapper .about-ref-signature span {
  display: block !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-signature span {
  margin-top: 6px !important;
  color: rgba(255, 255, 255, 0.68) !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-recognition__title {
  max-width: min(720px, 100%) !important;
  margin-bottom: clamp(40px, 5vw, 74px) !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-recognition__grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--kpd-template-gap, clamp(16px, 1.55vw, 28px)) !important;
  align-items: stretch !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-recognition__copy {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: clamp(20px, 2vw, 32px) !important;
  min-height: clamp(280px, 30vw, 430px) !important;
  padding: 0 !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-expertise {
  padding-top: clamp(54px, 6vw, 96px) !important;
  padding-bottom: clamp(54px, 6vw, 96px) !important;
  background: #000 !important;
  color: #fff !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-expertise__head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  margin: 0 0 clamp(42px, 5vw, 78px) !important;
  color: #fff !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-expertise__arrows {
  display: none !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-expertise__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--kpd-template-gap, clamp(16px, 1.55vw, 28px)) !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-expertise-card {
  position: relative !important;
  min-height: clamp(230px, 18vw, 320px) !important;
  padding: clamp(24px, 2.7vw, 44px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: clamp(20px, 2vw, 34px) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  background: #000 !important;
  color: #fff !important;
  box-shadow: none !important;
  transform: translateY(0) !important;
  transition:
    background-color 420ms cubic-bezier(0.16, 1, 0.3, 1),
    color 420ms cubic-bezier(0.16, 1, 0.3, 1),
    border-color 420ms cubic-bezier(0.16, 1, 0.3, 1),
    transform 560ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-expertise-card:hover,
html body.about-rebuilt-page main#wrapper .about-ref-expertise-card:focus-visible {
  background: #fff !important;
  color: #000 !important;
  border-color: #fff !important;
  transform: translateY(-8px) !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-expertise-card__icon {
  display: block !important;
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  background: transparent !important;
  color: currentColor !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-expertise-card h3 {
  min-height: 76px !important;
  height: auto !important;
  margin: 0 !important;
  color: currentColor !important;
  font-size: 28px !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: 0.784px !important;
  text-transform: uppercase !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-expertise-card p {
  color: rgba(255, 255, 255, 0.62) !important;
  transition: color 420ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-expertise-card:hover p,
html body.about-rebuilt-page main#wrapper .about-ref-expertise-card:focus-visible p {
  color: rgba(0, 0, 0, 0.66) !important;
}

html body.about-rebuilt-page .tf-footer {
  background: #000 !important;
}

html body.about-rebuilt-page .tf-footer :is(.footer-inner, .footer-bottom, .footer-shell) {
  background-color: #000 !important;
}

@media (max-width: 991px) {
  html body.about-rebuilt-page main#wrapper :is(
    .about-ref-story__grid,
    .about-ref-message__grid,
    .about-ref-recognition__grid,
    .about-ref-mission-vision .about-ref-band__grid,
    .about-ref-expertise__grid
  ) {
    grid-template-columns: 1fr !important;
  }

  html body.about-rebuilt-page main#wrapper :is(
    .about-ref-story__copy,
    .about-ref-message__copy,
    .about-ref-recognition__copy,
    .about-ref-mission-vision .about-ref-band__item
  ) {
    min-height: 0 !important;
  }

  html body.about-rebuilt-page main#wrapper .about-ref-message__media {
    min-height: clamp(360px, 70vw, 620px) !important;
  }
}

@media (max-width: 767px) {
  html body.about-rebuilt-page main#wrapper .section-about-hero .project-title {
    height: auto !important;
    min-height: 44px !important;
    font-size: 28px !important;
  }

  html body.about-rebuilt-page main#wrapper :is(
    .about-ref-heading,
    .about-ref-recognition__title,
    .about-ref-expertise__head h2,
    .about-ref-band__item h2,
    .about-ref-expertise-card h3
  ) {
    height: auto !important;
    min-height: 44px !important;
    font-size: 28px !important;
  }

  html body.about-rebuilt-page main#wrapper :is(
    .about-ref-story__copy p,
    .about-ref-message__copy p,
    .about-ref-recognition__copy p,
    .about-ref-band__item p,
    .about-ref-expertise-card p
  ) {
    font-size: 16px !important;
  }
}

html body.about-rebuilt-page:not(.home-page-body) main#wrapper .section-project-hero.section-about-hero .container > h1.project-title.kpd-template-hero__title,
html body.about-rebuilt-page:not(.home-page-body) main#wrapper .section-project-hero.section-about-hero h1.project-title.kpd-template-hero__title {
  width: max-content !important;
  max-width: min(100%, 640px) !important;
  min-height: 76px !important;
  height: 76px !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: 28px !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
  letter-spacing: 0.784px !important;
  text-transform: uppercase !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-mission-vision.is-white-revealed,
html body.about-rebuilt-page main#wrapper .about-ref-recognition.is-white-revealed {
  color: #000 !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-mission-vision.is-white-revealed .about-ref-band__item p,
html body.about-rebuilt-page main#wrapper .about-ref-recognition.is-white-revealed .about-ref-recognition__copy p {
  color: rgba(0, 0, 0, 0.68) !important;
}

/* Remaining core pages homepage-template sync */
html body:is(
  .legacy-page-body,
  .leadership-page-body,
  .news-page-body,
  .blog-updates-page-body,
  .events-page-body,
  .investor-guide-page-body,
  .contact-page-body
),
html body:is(
  .legacy-page-body,
  .leadership-page-body,
  .news-page-body,
  .blog-updates-page-body,
  .events-page-body,
  .investor-guide-page-body,
  .contact-page-body
) main#wrapper {
  background: #000 !important;
  color: #fff !important;
}

html body:is(
  .legacy-page-body,
  .leadership-page-body,
  .news-page-body,
  .blog-updates-page-body,
  .events-page-body,
  .investor-guide-page-body,
  .contact-page-body
) .tf-header :is(.item-link, .btn-mobile-menu, .header-contact p) {
  height: auto !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
}

html body:is(
  .legacy-page-body,
  .leadership-page-body,
  .news-page-body,
  .blog-updates-page-body,
  .events-page-body,
  .investor-guide-page-body,
  .contact-page-body
) main#wrapper :is(
  .section-project-hero,
  .section-legacy-video-hero,
  .section-leadership-hero,
  .section-contact-hero
) {
  position: relative !important;
  min-height: 100svh !important;
  height: auto !important;
  padding: 0 !important;
  display: flex !important;
  align-items: flex-end !important;
  overflow: hidden !important;
  background: #000 !important;
  color: #fff !important;
  isolation: isolate !important;
}

html body:is(
  .legacy-page-body,
  .leadership-page-body,
  .news-page-body,
  .blog-updates-page-body,
  .events-page-body,
  .investor-guide-page-body,
  .contact-page-body
) main#wrapper .section-project-hero :is(.project-hero-grid, .project-hero-top) {
  display: none !important;
}

html body:is(
  .legacy-page-body,
  .leadership-page-body,
  .news-page-body,
  .blog-updates-page-body,
  .events-page-body,
  .investor-guide-page-body,
  .contact-page-body
) main#wrapper .section-project-hero :is(.project-hero-bg, .project-hero-shade),
html body:is(
  .legacy-page-body,
  .leadership-page-body,
  .news-page-body,
  .blog-updates-page-body,
  .events-page-body,
  .investor-guide-page-body,
  .contact-page-body
) main#wrapper .section-project-hero .project-hero-bg :is(img, video) {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

html body:is(
  .legacy-page-body,
  .leadership-page-body,
  .news-page-body,
  .blog-updates-page-body,
  .events-page-body,
  .investor-guide-page-body,
  .contact-page-body
) main#wrapper .section-project-hero .project-hero-bg :is(img, video) {
  object-fit: cover !important;
  object-position: center !important;
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
}

html body:is(
  .legacy-page-body,
  .leadership-page-body,
  .news-page-body,
  .blog-updates-page-body,
  .events-page-body,
  .investor-guide-page-body,
  .contact-page-body
) main#wrapper .section-project-hero .project-hero-shade {
  z-index: 1 !important;
  background:
    linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.56) 66%, #020303 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.16), rgba(0, 0, 0, 0.2)) !important;
  pointer-events: none !important;
}

html body:is(
  .legacy-page-body,
  .leadership-page-body,
  .news-page-body,
  .blog-updates-page-body,
  .events-page-body,
  .investor-guide-page-body,
  .contact-page-body
) main#wrapper .section-project-hero > .container {
  position: relative !important;
  z-index: 2 !important;
  width: var(--kpd-template-width, min(1760px, calc(100vw - 30px))) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: clamp(110px, 15svh, 180px) var(--kpd-template-gutter, 15px) clamp(68px, 9svh, 120px) !important;
}

html body:is(
  .legacy-page-body,
  .leadership-page-body,
  .news-page-body,
  .blog-updates-page-body,
  .events-page-body,
  .investor-guide-page-body,
  .contact-page-body
):not(.home-page-body) main#wrapper .section-project-hero h1.project-title {
  width: max-content !important;
  max-width: min(100%, 640px) !important;
  min-height: 76px !important;
  height: 76px !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: 28px !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
  letter-spacing: 0.784px !important;
  text-transform: uppercase !important;
}

html body:is(
  .legacy-page-body,
  .leadership-page-body,
  .news-page-body,
  .blog-updates-page-body,
  .events-page-body,
  .investor-guide-page-body,
  .contact-page-body
) main#wrapper :is(
  .section-legacy-timeline,
  .section-leadership-message,
  .section-leadership-team,
  .section-news-atlas,
  .section-blog,
  .section-events-schedule,
  .section-contact-routes,
  .section-contact-locations,
  .section-contact-inquiry,
  .investor-ref-inquiry,
  .investor-ref-section,
  .investor-ref-pattern,
  .investor-ref-management,
  .investor-ref-awards
) {
  position: relative !important;
  overflow: hidden !important;
  padding-top: clamp(54px, 6vw, 96px) !important;
  padding-bottom: clamp(54px, 6vw, 96px) !important;
}

html body:is(
  .legacy-page-body,
  .leadership-page-body,
  .news-page-body,
  .blog-updates-page-body,
  .events-page-body,
  .investor-guide-page-body,
  .contact-page-body
) main#wrapper :is(
  .section-legacy-timeline,
  .section-leadership-message,
  .section-leadership-team,
  .section-news-atlas,
  .section-blog,
  .section-events-schedule,
  .section-contact-routes,
  .section-contact-locations,
  .section-contact-inquiry,
  .investor-ref-inquiry,
  .investor-ref-section,
  .investor-ref-pattern,
  .investor-ref-management
) > .container,
html body.investor-guide-page-body main#wrapper .investor-ref-awards__track {
  position: relative !important;
  z-index: 1 !important;
  width: var(--kpd-template-width, min(1760px, calc(100vw - 30px))) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--kpd-template-gutter, 15px) !important;
  padding-right: var(--kpd-template-gutter, 15px) !important;
}

html body:is(.legacy-page-body, .leadership-page-body, .contact-page-body) main#wrapper :is(
  .section-legacy-timeline,
  .section-leadership-message,
  .section-leadership-team,
  .section-contact-routes,
  .section-contact-locations
),
html body.investor-guide-page-body main#wrapper :is(
  .investor-ref-yield,
  .investor-ref-golden,
  .investor-ref-liquidity,
  .investor-ref-relations,
  .investor-ref-awards,
  .investor-ref-management
) {
  background: #000 !important;
  color: #fff !important;
}

html body:is(.news-page-body, .blog-updates-page-body) main#wrapper .section-blog,
html body.events-page-body main#wrapper .section-events-schedule,
html body.contact-page-body main#wrapper .section-contact-inquiry,
html body.investor-guide-page-body main#wrapper :is(
  .investor-ref-secure,
  .investor-ref-payment,
  .investor-ref-trust,
  .investor-ref-inventory,
  .investor-ref-faq
) {
  background: #000 !important;
  color: var(--white-reveal-ink, #fff) !important;
  isolation: isolate !important;
}

html body:is(.news-page-body, .blog-updates-page-body) main#wrapper .section-blog.home-white-reveal-section::before,
html body.events-page-body main#wrapper .section-events-schedule.home-white-reveal-section::before,
html body.contact-page-body main#wrapper .section-contact-inquiry.home-white-reveal-section::before,
html body.investor-guide-page-body main#wrapper :is(
  .investor-ref-secure,
  .investor-ref-payment,
  .investor-ref-trust,
  .investor-ref-inventory,
  .investor-ref-faq
).home-white-reveal-section::before {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  content: "" !important;
  background: #f3f3f3 !important;
  transform: translate3d(0, var(--white-reveal-y, 106%), 0) !important;
  transition: transform 820ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

html body:is(.news-page-body, .blog-updates-page-body) main#wrapper .section-blog.is-white-revealed,
html body.events-page-body main#wrapper .section-events-schedule.is-white-revealed,
html body.contact-page-body main#wrapper .section-contact-inquiry.is-white-revealed,
html body.investor-guide-page-body main#wrapper :is(
  .investor-ref-secure,
  .investor-ref-payment,
  .investor-ref-trust,
  .investor-ref-inventory,
  .investor-ref-faq
).is-white-revealed {
  color: #000 !important;
}

html body:is(
  .legacy-page-body,
  .leadership-page-body,
  .news-page-body,
  .blog-updates-page-body,
  .events-page-body,
  .investor-guide-page-body,
  .contact-page-body
) main#wrapper :is(
  .s-header h2,
  .contact-section-head .title,
  .contact-inquiry-copy h2,
  .events-schedule-block__title,
  .investor-ref-centered h2,
  .investor-ref-heading,
  .investor-ref-split-head h2,
  .investor-ref-title-row h2,
  .investor-ref-form-panel__copy h2,
  .investor-ref-management__copy h2,
  .investor-ref-relations__grid h2,
  .investor-ref-faq__grid h2,
  .section-leadership-team .s-header h2
) {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: 53px !important;
  height: 53px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: currentColor !important;
  font-size: 28px !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
  letter-spacing: 0.784px !important;
  text-transform: uppercase !important;
}

html body:is(
  .legacy-page-body,
  .leadership-page-body,
  .news-page-body,
  .blog-updates-page-body,
  .events-page-body,
  .investor-guide-page-body,
  .contact-page-body
) main#wrapper :is(
  .s-header h2,
  .contact-section-head .title,
  .contact-inquiry-copy h2,
  .events-schedule-block__title,
  .investor-ref-centered h2,
  .investor-ref-heading,
  .investor-ref-split-head h2,
  .investor-ref-title-row h2,
  .investor-ref-form-panel__copy h2,
  .investor-ref-management__copy h2,
  .investor-ref-relations__grid h2,
  .investor-ref-faq__grid h2,
  .section-leadership-team .s-header h2
)::before {
  display: none !important;
  content: none !important;
}

html body:is(
  .legacy-page-body,
  .leadership-page-body,
  .news-page-body,
  .blog-updates-page-body,
  .events-page-body,
  .investor-guide-page-body,
  .contact-page-body
) main#wrapper :is(
  .s-header h2,
  .contact-section-head .title,
  .contact-inquiry-copy h2,
  .events-schedule-block__title,
  .investor-ref-centered h2,
  .investor-ref-heading,
  .investor-ref-split-head h2,
  .investor-ref-title-row h2,
  .investor-ref-form-panel__copy h2,
  .investor-ref-management__copy h2,
  .investor-ref-relations__grid h2,
  .investor-ref-faq__grid h2,
  .section-leadership-team .s-header h2
)::after {
  position: absolute !important;
  left: 0 !important;
  bottom: -0.38em !important;
  width: clamp(56px, 7vw, 112px) !important;
  height: 1px !important;
  content: "" !important;
  background: currentColor !important;
  opacity: 0.72 !important;
  transform: scaleX(0.5);
  transform-origin: left center;
  animation: kpdTemplateTitleLine 3.8s cubic-bezier(0.16, 1, 0.3, 1) infinite !important;
}

html body:is(
  .legacy-page-body,
  .leadership-page-body,
  .news-page-body,
  .blog-updates-page-body,
  .events-page-body,
  .investor-guide-page-body,
  .contact-page-body
) main#wrapper :is(
  p,
  li,
  .text-body-1,
  .text-body-2,
  .news-atlas-intro__summary,
  .events-schedule-intro__summary,
  .event-card__details,
  .contact-location-text,
  .contact-inquiry-copy p,
  .leadership-card-bio p,
  .investor-ref-note,
  .investor-ref-disclaimer
) {
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
}

html body:is(.news-page-body, .blog-updates-page-body) main#wrapper .section-blog :is(.news-atlas-intro, .s-header),
html body.events-page-body main#wrapper .events-schedule-intro {
  max-width: 720px !important;
  margin-bottom: clamp(38px, 5vw, 76px) !important;
  color: currentColor !important;
}

html body:is(.news-page-body, .blog-updates-page-body) main#wrapper .article-blog,
html body.events-page-body main#wrapper :is(.event-card, .event-recap-card),
html body.investor-guide-page-body main#wrapper :is(
  .investor-ref-info-card,
  .investor-ref-image-card,
  .investor-ref-inventory-card,
  .investor-ref-doc-card,
  .investor-ref-faq__list details
) {
  border-radius: 0 !important;
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
  background: #fff !important;
  color: #000 !important;
  box-shadow: none !important;
  overflow: hidden !important;
  transition:
    transform 560ms cubic-bezier(0.16, 1, 0.3, 1),
    background-color 420ms cubic-bezier(0.16, 1, 0.3, 1),
    color 420ms cubic-bezier(0.16, 1, 0.3, 1),
    border-color 420ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

html body:is(.news-page-body, .blog-updates-page-body) main#wrapper .article-blog:hover,
html body.events-page-body main#wrapper :is(.event-card, .event-recap-card):hover,
html body.investor-guide-page-body main#wrapper :is(
  .investor-ref-info-card,
  .investor-ref-image-card,
  .investor-ref-inventory-card,
  .investor-ref-doc-card,
  .investor-ref-faq__list details
):hover {
  transform: translateY(-8px) !important;
}

html body:is(.news-page-body, .blog-updates-page-body) main#wrapper .article-blog.style-horizontal {
  display: grid !important;
  grid-template-columns: minmax(300px, 0.9fr) minmax(0, 1.1fr) !important;
  align-items: stretch !important;
  min-height: 0 !important;
  margin-bottom: clamp(28px, 4vw, 58px) !important;
}

html body:is(.news-page-body, .blog-updates-page-body) main#wrapper .article-blog.style-horizontal .blog-image {
  min-height: clamp(220px, 24vw, 340px) !important;
  height: auto !important;
}

html body:is(.news-page-body, .blog-updates-page-body) main#wrapper .article-blog:not(.style-horizontal) .blog-image,
html body.events-page-body main#wrapper :is(.event-card__visual, .event-recap-card .blog-image),
html body.investor-guide-page-body main#wrapper :is(.investor-ref-image-card img, .investor-ref-inventory-card img) {
  height: clamp(190px, 18vw, 280px) !important;
}

html body:is(.news-page-body, .blog-updates-page-body) main#wrapper .article-blog :is(.blog-image, .blog-image img),
html body.events-page-body main#wrapper :is(.event-card__visual, .event-card__visual img, .event-recap-card .blog-image, .event-recap-card .blog-image img) {
  border-radius: 0 !important;
}

html body:is(.news-page-body, .blog-updates-page-body) main#wrapper .article-blog :is(.blog-image img, .img-style img),
html body.events-page-body main#wrapper :is(.event-card__visual img, .event-recap-card .blog-image img),
html body.investor-guide-page-body main#wrapper :is(.investor-ref-image-card img, .investor-ref-inventory-card img) {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: none !important;
  transform: scale(1.01) !important;
  transition: transform 960ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

html body:is(.news-page-body, .blog-updates-page-body) main#wrapper .article-blog:hover :is(.blog-image img, .img-style img),
html body.events-page-body main#wrapper :is(.event-card, .event-recap-card):hover :is(.event-card__visual img, .blog-image img),
html body.investor-guide-page-body main#wrapper :is(.investor-ref-image-card, .investor-ref-inventory-card):hover img {
  transform: scale(1.055) !important;
}

html body:is(.news-page-body, .blog-updates-page-body) main#wrapper .article-blog .blog-content,
html body.events-page-body main#wrapper :is(.event-card__content, .event-recap-card .blog-content),
html body.investor-guide-page-body main#wrapper :is(.investor-ref-inventory-card__body, .investor-ref-image-card, .investor-ref-info-card, .investor-ref-doc-card) {
  padding: clamp(24px, 2.4vw, 40px) !important;
}

html body:is(.news-page-body, .blog-updates-page-body) main#wrapper .article-blog :is(.infor_name, h6 a),
html body.events-page-body main#wrapper :is(.event-card__title, .event-recap-card .infor_name),
html body.investor-guide-page-body main#wrapper :is(.investor-ref-info-card h3, .investor-ref-image-card h3, .investor-ref-inventory-card h3, .investor-ref-doc-card h3) {
  color: currentColor !important;
  font-size: 28px !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: 0.784px !important;
  text-transform: none !important;
}

html body:is(.news-page-body, .blog-updates-page-body) main#wrapper .article-blog .infor_sub,
html body.events-page-body main#wrapper :is(.event-card__meta, .event-card__location, .event-recap-card .infor_sub),
html body.investor-guide-page-body main#wrapper :is(.investor-ref-info-card p, .investor-ref-image-card p, .investor-ref-doc-card p, .investor-ref-faq__list p, .investor-ref-inventory-card li) {
  color: rgba(0, 0, 0, 0.62) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

html body:is(.news-page-body, .blog-updates-page-body) main#wrapper .article-blog .btn-action,
html body.events-page-body main#wrapper :is(.event-card .tf-btn, .event-recap-action),
html body.investor-guide-page-body main#wrapper :is(.tf-btn, .investor-ref-doc-card a),
html body.contact-page-body main#wrapper :is(.tf-btn, .contact-process-link) {
  border-radius: 0 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
}

html body.leadership-page-body main#wrapper .section-leadership-message > .container {
  display: grid !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr) !important;
  gap: var(--kpd-template-gap, clamp(16px, 1.55vw, 28px)) !important;
  align-items: stretch !important;
}

html body.leadership-page-body main#wrapper :is(.leadership-message-copy, .leadership-message-portrait) {
  min-height: clamp(420px, 40vw, 640px) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  background: #000 !important;
  color: #fff !important;
}

html body.leadership-page-body main#wrapper .leadership-message-copy {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: clamp(34px, 4vw, 64px) !important;
}

html body.leadership-page-body main#wrapper .leadership-message-quote {
  margin: 0 !important;
  color: #fff !important;
  font-size: 28px !important;
  font-weight: 300 !important;
  line-height: 1.18 !important;
  letter-spacing: 0.784px !important;
}

html body.leadership-page-body main#wrapper .leadership-message-portrait {
  overflow: hidden !important;
}

html body.leadership-page-body main#wrapper .leadership-message-portrait img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
}

html body.leadership-page-body main#wrapper .leadership-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--kpd-template-gap, clamp(16px, 1.55vw, 28px)) !important;
}

html body.leadership-page-body main#wrapper .leadership-card,
html body.contact-page-body main#wrapper .contact-process-link,
html body.legacy-page-body main#wrapper .legacy-timeline-item {
  border-radius: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  background: #000 !important;
  color: #fff !important;
  box-shadow: none !important;
  transition:
    transform 560ms cubic-bezier(0.16, 1, 0.3, 1),
    background-color 420ms cubic-bezier(0.16, 1, 0.3, 1),
    color 420ms cubic-bezier(0.16, 1, 0.3, 1),
    border-color 420ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

html body.leadership-page-body main#wrapper .leadership-card:hover,
html body.leadership-page-body main#wrapper .leadership-card:focus-visible,
html body.contact-page-body main#wrapper .contact-process-link:hover,
html body.contact-page-body main#wrapper .contact-process-link:focus-visible,
html body.legacy-page-body main#wrapper .legacy-timeline-item:hover {
  background: #fff !important;
  color: #000 !important;
  border-color: #fff !important;
  transform: translateY(-8px) !important;
}

html body.leadership-page-body main#wrapper .leadership-card :is(.leadership-card-name, .leadership-card-role, .leadership-card-bio p, .leadership-card-index),
html body.contact-page-body main#wrapper .contact-process-link :is(h3, p, span),
html body.legacy-page-body main#wrapper .legacy-timeline-item :is(h3, p, span) {
  color: currentColor !important;
}

html body.leadership-page-body main#wrapper .leadership-card-name,
html body.contact-page-body main#wrapper .contact-process-copy h3,
html body.legacy-page-body main#wrapper .legacy-timeline-item h3,
html body.contact-page-body main#wrapper .contact-location-title {
  font-size: 28px !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: 0.784px !important;
  text-transform: uppercase !important;
}

html body.contact-page-body main#wrapper .contact-route-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--kpd-template-gap, clamp(16px, 1.55vw, 28px)) !important;
}

html body.contact-page-body main#wrapper .contact-location-card {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--kpd-template-gap, clamp(16px, 1.55vw, 28px)) !important;
  min-height: clamp(420px, 40vw, 620px) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  background: #000 !important;
  color: #fff !important;
}

html body.contact-page-body main#wrapper :is(.contact-location-copy, .contact-location-media) {
  min-height: inherit !important;
}

html body.contact-page-body main#wrapper .contact-location-media iframe {
  width: 100% !important;
  height: 100% !important;
  min-height: inherit !important;
  filter: grayscale(1) contrast(1.05) !important;
}

html body.contact-page-body main#wrapper .contact-inquiry-shell {
  display: grid !important;
  grid-template-columns: minmax(280px, 0.78fr) minmax(0, 1.22fr) !important;
  gap: var(--kpd-template-gap, clamp(16px, 1.55vw, 28px)) !important;
  align-items: start !important;
}

html body.investor-guide-page-body main#wrapper :is(
  .investor-ref-card-scroll,
  .investor-ref-four-grid,
  .investor-ref-image-grid,
  .investor-ref-inventory-grid,
  .investor-ref-payment-grid,
  .investor-ref-two-grid
) {
  gap: var(--kpd-template-gap, clamp(16px, 1.55vw, 28px)) !important;
}

html body.investor-guide-page-body main#wrapper :is(.investor-ref-info-card, .investor-ref-doc-card, .investor-ref-faq__list details) {
  min-height: clamp(220px, 18vw, 300px) !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-icon svg {
  width: 28px !important;
  height: 28px !important;
  stroke-width: 1.65 !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-inquiry {
  background: #000 !important;
  color: #fff !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-form-panel {
  display: grid !important;
  grid-template-columns: minmax(280px, 0.42fr) minmax(0, 1fr) !important;
  gap: var(--kpd-template-gap, clamp(16px, 1.55vw, 28px)) !important;
  align-items: start !important;
  border-radius: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  background: #000 !important;
  color: #fff !important;
  box-shadow: none !important;
  padding: clamp(30px, 3.4vw, 58px) !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-form-panel::after {
  display: none !important;
  content: none !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-form-panel__copy h2 {
  max-width: 360px !important;
  color: #fff !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-form {
  display: grid !important;
  gap: clamp(14px, 1.4vw, 22px) !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-form :is(input, select, .investor-ref-phone) {
  min-height: 54px !important;
  border-radius: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-form :is(input, select)::placeholder {
  color: rgba(255, 255, 255, 0.56) !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-form__checks {
  color: rgba(255, 255, 255, 0.68) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-form .tf-btn {
  min-height: 54px !important;
  border-color: rgba(255, 255, 255, 0.42) !important;
  color: #fff !important;
  background: transparent !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-form .tf-btn:hover,
html body.investor-guide-page-body main#wrapper .investor-ref-form .tf-btn:focus-visible {
  color: #000 !important;
  background: #fff !important;
  border-color: #fff !important;
}

html body:is(.news-page-body, .blog-updates-page-body) main#wrapper .section-blog.home-white-reveal-section :is(
  .news-atlas-intro__summary,
  .s-header h2,
  .s-header p
),
html body.events-page-body main#wrapper .section-events-schedule.home-white-reveal-section :is(
  .events-schedule-intro__summary,
  .events-schedule-block__title,
  .events-schedule-block__intro p
),
html body.contact-page-body main#wrapper .section-contact-inquiry.home-white-reveal-section :is(
  .contact-inquiry-copy h2,
  .contact-inquiry-copy p,
  .contact-form-modes legend,
  .contact-form-check,
  .contact-form-check a
),
html body.investor-guide-page-body main#wrapper :is(
  .investor-ref-secure,
  .investor-ref-payment,
  .investor-ref-trust,
  .investor-ref-inventory,
  .investor-ref-faq
).home-white-reveal-section :is(
  .investor-ref-centered h2,
  .investor-ref-centered p,
  .investor-ref-split-head h2,
  .investor-ref-split-head p,
  .investor-ref-title-row h2,
  .investor-ref-title-row p,
  .investor-ref-heading,
  .investor-ref-faq__grid h2
) {
  color: var(--white-reveal-ink, #fff) !important;
  transition: color 420ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

html body:is(.news-page-body, .blog-updates-page-body) main#wrapper .section-blog.home-white-reveal-section.is-white-revealed :is(
  .news-atlas-intro__summary,
  .s-header h2,
  .s-header p
),
html body.events-page-body main#wrapper .section-events-schedule.home-white-reveal-section.is-white-revealed :is(
  .events-schedule-intro__summary,
  .events-schedule-block__title,
  .events-schedule-block__intro p
),
html body.contact-page-body main#wrapper .section-contact-inquiry.home-white-reveal-section.is-white-revealed :is(
  .contact-inquiry-copy h2,
  .contact-inquiry-copy p,
  .contact-form-modes legend,
  .contact-form-check,
  .contact-form-check a
),
html body.investor-guide-page-body main#wrapper :is(
  .investor-ref-secure,
  .investor-ref-payment,
  .investor-ref-trust,
  .investor-ref-inventory,
  .investor-ref-faq
).home-white-reveal-section.is-white-revealed :is(
  .investor-ref-centered h2,
  .investor-ref-centered p,
  .investor-ref-split-head h2,
  .investor-ref-split-head p,
  .investor-ref-title-row h2,
  .investor-ref-title-row p,
  .investor-ref-heading,
  .investor-ref-faq__grid h2
) {
  color: #000 !important;
}

html body:is(
  .legacy-page-body,
  .leadership-page-body,
  .news-page-body,
  .blog-updates-page-body,
  .events-page-body,
  .investor-guide-page-body,
  .contact-page-body
) .tf-footer,
html body:is(
  .legacy-page-body,
  .leadership-page-body,
  .news-page-body,
  .blog-updates-page-body,
  .events-page-body,
  .investor-guide-page-body,
  .contact-page-body
) .tf-footer :is(.footer-inner, .footer-bottom, .footer-shell) {
  background: #000 !important;
  color: #fff !important;
}

@media (max-width: 991px) {
  html body:is(
    .leadership-page-body,
    .contact-page-body
  ) main#wrapper :is(
    .section-leadership-message > .container,
    .leadership-grid,
    .contact-route-grid,
    .contact-location-card,
    .contact-inquiry-shell
  ),
  html body.investor-guide-page-body main#wrapper .investor-ref-form-panel,
  html body:is(.news-page-body, .blog-updates-page-body) main#wrapper .article-blog.style-horizontal {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 767px) {
  html body:is(
    .legacy-page-body,
    .leadership-page-body,
    .news-page-body,
    .blog-updates-page-body,
    .events-page-body,
    .investor-guide-page-body,
    .contact-page-body
  ) main#wrapper :is(
    .section-project-hero h1.project-title,
    .s-header h2,
    .contact-section-head .title,
    .contact-inquiry-copy h2,
    .events-schedule-block__title,
    .investor-ref-centered h2,
    .investor-ref-heading,
    .investor-ref-split-head h2,
    .investor-ref-title-row h2,
    .investor-ref-management__copy h2,
    .investor-ref-relations__grid h2,
    .investor-ref-faq__grid h2
  ) {
    height: auto !important;
    min-height: 44px !important;
    font-size: 28px !important;
  }

  html body:is(
    .legacy-page-body,
    .leadership-page-body,
    .news-page-body,
    .blog-updates-page-body,
    .events-page-body,
    .investor-guide-page-body,
    .contact-page-body
  ) main#wrapper :is(p, li, .text-body-1, .text-body-2) {
    font-size: 16px !important;
  }
}

/* Leadership page final homepage-template alignment */
html body.leadership-page-body main#wrapper .section-leadership-hero.kpd-template-hero > .container {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  padding-top: clamp(112px, 11vw, 172px) !important;
  padding-bottom: clamp(54px, 7vw, 104px) !important;
}

html body.leadership-page-body main#wrapper .section-leadership-hero .project-title.kpd-template-hero__title {
  align-self: flex-start !important;
  margin-top: auto !important;
  max-width: min(680px, 100%) !important;
  color: #fff !important;
}

html body.leadership-page-body main#wrapper .section-leadership-message {
  background: #000 !important;
  color: #fff !important;
}

html body.leadership-page-body main#wrapper .section-leadership-message.flat-spacing {
  min-height: 0 !important;
  padding-top: clamp(54px, 5.4vw, 82px) !important;
  padding-bottom: clamp(54px, 5.4vw, 82px) !important;
}

html body.leadership-page-body main#wrapper .section-leadership-message > .container {
  width: var(--kpd-template-width, min(1320px, calc(100% - 48px))) !important;
  max-width: var(--kpd-template-max, 1320px) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 0.62fr) !important;
  gap: clamp(18px, 2.2vw, 34px) !important;
  align-items: stretch !important;
}

html body.leadership-page-body main#wrapper .leadership-message-copy,
html body.leadership-page-body main#wrapper .leadership-message-portrait {
  min-height: clamp(420px, 38vw, 620px) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 0 !important;
  background: #000 !important;
  color: #fff !important;
  box-shadow: none !important;
}

html body.leadership-page-body main#wrapper .leadership-message-copy {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 0 !important;
  padding: clamp(34px, 4vw, 64px) !important;
}

html body.leadership-page-body main#wrapper .leadership-message-title {
  max-width: 680px !important;
  margin: 0 0 clamp(26px, 3vw, 42px) !important;
  color: #fff !important;
  font-size: 28px !important;
  font-weight: 300 !important;
  line-height: 53px !important;
  letter-spacing: 0.784px !important;
  text-transform: uppercase !important;
}

html body.leadership-page-body main#wrapper .leadership-message-title::after {
  display: block !important;
  width: clamp(84px, 8vw, 132px) !important;
  height: 1px !important;
  margin-top: clamp(16px, 1.7vw, 24px) !important;
  background: currentColor !important;
  opacity: 0.5 !important;
  content: "" !important;
  transform: scaleX(1) !important;
}

html body.leadership-page-body main#wrapper .leadership-message-copy-text {
  max-width: 760px !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.68) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
}

html body.leadership-page-body main#wrapper .leadership-message-meta {
  margin-top: clamp(34px, 4vw, 58px) !important;
  padding-top: clamp(18px, 2vw, 26px) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.28) !important;
}

html body.leadership-page-body main#wrapper .leadership-message-name,
html body.leadership-page-body main#wrapper .leadership-message-role {
  font-size: 12px !important;
  line-height: 1.35 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

html body.leadership-page-body main#wrapper .leadership-message-name {
  color: #fff !important;
}

html body.leadership-page-body main#wrapper .leadership-message-role {
  color: rgba(255, 255, 255, 0.68) !important;
}

html body.leadership-page-body main#wrapper .leadership-message-portrait {
  order: 2 !important;
  position: relative !important;
  align-self: stretch !important;
  overflow: hidden !important;
}

html body.leadership-page-body main#wrapper .leadership-message-portrait img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
}

html body.leadership-page-body main#wrapper .leadership-grid {
  gap: clamp(16px, 1.6vw, 24px) !important;
}

html body.leadership-page-body main#wrapper .leadership-card,
html body.leadership-page-body main#wrapper .leadership-card:hover,
html body.leadership-page-body main#wrapper .leadership-card:focus-visible,
html body.leadership-page-body main#wrapper .leadership-card:focus-within {
  background: #000 !important;
  color: #fff !important;
}

html body.leadership-page-body main#wrapper .leadership-card {
  overflow: hidden !important;
  isolation: isolate !important;
}

html body.leadership-page-body main#wrapper .leadership-card::before {
  z-index: 1 !important;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.42) 46%, rgba(0, 0, 0, 0.95) 100%) !important;
  transition: background 560ms cubic-bezier(0.16, 1, 0.3, 1), opacity 560ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

html body.leadership-page-body main#wrapper .leadership-card:hover::before,
html body.leadership-page-body main#wrapper .leadership-card:focus-visible::before,
html body.leadership-page-body main#wrapper .leadership-card:focus-within::before {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.62) 40%, rgba(0, 0, 0, 0.99) 100%) !important;
}

html body.leadership-page-body main#wrapper .leadership-card-content {
  position: relative !important;
  z-index: 2 !important;
}

html body.leadership-page-body main#wrapper .leadership-card :is(
  .leadership-card-index,
  .leadership-card-name,
  .leadership-card-role,
  .leadership-card-bio,
  .leadership-card-bio p
) {
  color: #fff !important;
  text-shadow: 0 10px 28px rgba(0, 0, 0, 0.42) !important;
}

html body.leadership-page-body main#wrapper .leadership-card .leadership-card-role,
html body.leadership-page-body main#wrapper .leadership-card .leadership-card-bio p {
  color: rgba(255, 255, 255, 0.74) !important;
}

html body.leadership-page-body main#wrapper .leadership-card:hover .leadership-card-role,
html body.leadership-page-body main#wrapper .leadership-card:focus-visible .leadership-card-role,
html body.leadership-page-body main#wrapper .leadership-card:focus-within .leadership-card-role,
html body.leadership-page-body main#wrapper .leadership-card:hover .leadership-card-bio p,
html body.leadership-page-body main#wrapper .leadership-card:focus-visible .leadership-card-bio p,
html body.leadership-page-body main#wrapper .leadership-card:focus-within .leadership-card-bio p {
  color: rgba(255, 255, 255, 0.82) !important;
}

@media (hover: hover) and (pointer: fine) {
  html body.leadership-page-body main#wrapper .leadership-card:hover,
  html body.leadership-page-body main#wrapper .leadership-card:focus-visible,
  html body.leadership-page-body main#wrapper .leadership-card:focus-within {
    border-color: rgba(255, 255, 255, 0.72) !important;
    transform: translate3d(0, -8px, 0) !important;
  }
}

@media (max-width: 991px) {
  html body.leadership-page-body main#wrapper .section-leadership-message > .container {
    grid-template-columns: 1fr !important;
  }

  html body.leadership-page-body main#wrapper .leadership-message-portrait {
    min-height: clamp(420px, 68vw, 620px) !important;
  }
}

@media (max-width: 767px) {
  html body.leadership-page-body main#wrapper .section-leadership-hero.kpd-template-hero > .container {
    padding-top: 128px !important;
    padding-bottom: 42px !important;
  }

  html body.leadership-page-body main#wrapper .leadership-message-copy {
    padding: 28px !important;
  }

  html body.leadership-page-body main#wrapper .leadership-message-title {
    height: auto !important;
    min-height: 44px !important;
    font-size: 28px !important;
    line-height: 1.18 !important;
  }
}

/* About page compact homepage-rhythm pass */
html body.about-rebuilt-page main#wrapper {
  --about-compact-y: clamp(42px, 7.2svh, 58px);
  --about-compact-gap: clamp(16px, 1.55vw, 28px);
}

html body.about-rebuilt-page main#wrapper :is(.about-ref-section, .about-ref-band, .about-ref-mission-vision) {
  padding-top: var(--about-compact-y) !important;
  padding-bottom: var(--about-compact-y) !important;
}

html body.about-rebuilt-page main#wrapper :is(.about-ref-story, .about-ref-message--chairman, .about-ref-recognition, .about-ref-expertise) {
  min-height: 0 !important;
}

html body.about-rebuilt-page main#wrapper :is(.about-ref-section, .about-ref-band) > .container {
  width: var(--kpd-template-width, min(var(--kpd-container-width, 1760px), calc(100vw - 30px))) !important;
  max-width: none !important;
  padding-right: var(--kpd-template-gutter, 15px) !important;
  padding-left: var(--kpd-template-gutter, 15px) !important;
}

html body.about-rebuilt-page main#wrapper :is(.about-ref-story__grid, .about-ref-message__grid, .about-ref-recognition__grid) {
  gap: var(--about-compact-gap) !important;
  align-items: stretch !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-story__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html body.about-rebuilt-page main#wrapper :is(.about-ref-story__copy, .about-ref-recognition__copy) {
  min-height: clamp(250px, 25vw, 330px) !important;
  max-width: none !important;
  gap: clamp(12px, 1.2vw, 18px) !important;
}

html body.about-rebuilt-page main#wrapper :is(.about-ref-story__media, .about-ref-recognition__media) {
  min-height: clamp(250px, 25vw, 330px) !important;
  aspect-ratio: auto !important;
}

html body.about-rebuilt-page main#wrapper :is(.about-ref-story__media img, .about-ref-recognition__media img) {
  object-fit: cover !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-story__copy p + p,
html body.about-rebuilt-page main#wrapper .about-ref-message__copy p + p,
html body.about-rebuilt-page main#wrapper .about-ref-recognition__copy p + p {
  margin-top: 0 !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-mission-vision,
html body.about-rebuilt-page main#wrapper .about-ref-mission-vision.home-white-reveal-section,
html body.about-rebuilt-page main#wrapper .about-ref-mission-vision.is-white-revealed {
  min-height: 0 !important;
  display: block !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-mission-vision .about-ref-band__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--about-compact-gap) !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-mission-vision .about-ref-band__grid::after {
  display: none !important;
  content: none !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-mission-vision .about-ref-band__item,
html body.about-rebuilt-page main#wrapper .about-ref-mission-vision .about-ref-band__item + .about-ref-band__item,
html body.about-rebuilt-page main#wrapper .about-ref-mission-vision.is-white-revealed .about-ref-band__item {
  min-height: clamp(220px, 21vw, 300px) !important;
  padding: clamp(24px, 2.35vw, 34px) 0 0 !important;
  gap: clamp(14px, 1.4vw, 22px) !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-mission-vision .about-ref-band__item::before {
  font-size: clamp(42px, 4.4vw, 72px) !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-mission-vision .about-ref-band__item h2 {
  max-width: none !important;
  font-size: 28px !important;
  line-height: 53px !important;
  letter-spacing: 0.784px !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-mission-vision .about-ref-band__item h2::after {
  margin-top: 6px !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-mission-vision .about-ref-band__item p,
html body.about-rebuilt-page main#wrapper .about-ref-mission-vision.is-white-revealed .about-ref-band__item p {
  max-width: 64ch !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  opacity: 0.68 !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-message--chairman .about-ref-message__grid {
  grid-template-columns: minmax(280px, 0.42fr) minmax(0, 1fr) !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-message__copy {
  min-height: clamp(330px, 32vw, 430px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: clamp(14px, 1.35vw, 20px) !important;
  padding: clamp(26px, 2.8vw, 42px) !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-message__media {
  position: relative !important;
  min-height: clamp(330px, 32vw, 430px) !important;
  aspect-ratio: auto !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-message__media img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-signature {
  margin-top: clamp(10px, 1.2vw, 16px) !important;
  padding-top: clamp(14px, 1.4vw, 20px) !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-recognition__title {
  max-width: 980px !important;
  margin-bottom: clamp(18px, 2.4vw, 34px) !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-recognition__grid {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr) !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-expertise__head {
  margin-bottom: clamp(18px, 2.4vw, 34px) !important;
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

/* Leadership page: sync CEO message dimensions to About chairman section */
html body.leadership-page-body main#wrapper .section-leadership-message.flat-spacing {
  padding-top: clamp(42px, 7.2svh, 58px) !important;
  padding-bottom: clamp(42px, 7.2svh, 58px) !important;
  background: #000 !important;
  color: #fff !important;
}

html body.leadership-page-body main#wrapper .section-leadership-message > .container {
  width: var(--kpd-template-width, min(1320px, calc(100% - 48px))) !important;
  max-width: var(--kpd-template-max, 1320px) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.42fr) !important;
  gap: var(--kpd-template-gap, clamp(16px, 1.55vw, 28px)) !important;
  align-items: stretch !important;
}

html body.leadership-page-body main#wrapper .leadership-message-copy,
html body.leadership-page-body main#wrapper .leadership-message-portrait {
  min-height: clamp(330px, 32vw, 430px) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 0 !important;
  background: #000 !important;
  color: #fff !important;
  box-shadow: none !important;
}

html body.leadership-page-body main#wrapper .leadership-message-copy {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: clamp(14px, 1.35vw, 20px) !important;
  padding: clamp(26px, 2.8vw, 42px) !important;
}

html body.leadership-page-body main#wrapper .leadership-message-title {
  max-width: 680px !important;
  height: auto !important;
  min-height: 53px !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: 28px !important;
  font-weight: 300 !important;
  line-height: 53px !important;
  letter-spacing: 0.784px !important;
  text-transform: uppercase !important;
}

html body.leadership-page-body main#wrapper .leadership-message-title::after {
  display: block !important;
  width: clamp(84px, 8vw, 132px) !important;
  height: 1px !important;
  margin-top: clamp(14px, 1.4vw, 20px) !important;
  background: currentColor !important;
  opacity: 0.5 !important;
  content: "" !important;
  transform: scaleX(1) !important;
}

html body.leadership-page-body main#wrapper .leadership-message-copy-text {
  max-width: 780px !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.66) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
}

html body.leadership-page-body main#wrapper .leadership-message-meta {
  margin-top: clamp(10px, 1.2vw, 16px) !important;
  padding-top: clamp(14px, 1.4vw, 20px) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.38) !important;
}

html body.leadership-page-body main#wrapper .leadership-message-name,
html body.leadership-page-body main#wrapper .leadership-message-role {
  display: block !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

html body.leadership-page-body main#wrapper .leadership-message-role {
  margin-top: 6px !important;
  color: rgba(255, 255, 255, 0.66) !important;
}

html body.leadership-page-body main#wrapper .leadership-message-portrait {
  position: relative !important;
  align-self: stretch !important;
  overflow: hidden !important;
  aspect-ratio: auto !important;
}

html body.leadership-page-body main#wrapper .leadership-message-portrait img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
}

@media (max-width: 991px) {
  html body.leadership-page-body main#wrapper .section-leadership-message > .container {
    grid-template-columns: 1fr !important;
  }

  html body.leadership-page-body main#wrapper .leadership-message-portrait {
    min-height: clamp(340px, 68vw, 520px) !important;
  }
}

@media (max-width: 767px) {
  html body.leadership-page-body main#wrapper .section-leadership-message.flat-spacing {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
  }

  html body.leadership-page-body main#wrapper .leadership-message-copy {
    padding: 28px !important;
  }

  html body.leadership-page-body main#wrapper .leadership-message-title {
    min-height: 0 !important;
    font-size: 28px !important;
    line-height: 1.18 !important;
  }
}

html body.about-rebuilt-page main#wrapper .about-ref-expertise .about-ref-expertise__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--about-compact-gap) !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-expertise .about-ref-expertise-card {
  min-height: clamp(150px, 13vw, 205px) !important;
  padding: clamp(18px, 1.8vw, 26px) !important;
  gap: clamp(8px, 0.8vw, 12px) clamp(14px, 1.4vw, 22px) !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-expertise .about-ref-expertise-card__icon {
  font-size: clamp(28px, 3vw, 42px) !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-expertise .about-ref-expertise-card h3 {
  font-size: 18px !important;
  line-height: 1.18 !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-expertise .about-ref-expertise-card p {
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
}

@media (max-width: 991px) {
  html body.about-rebuilt-page main#wrapper :is(.about-ref-story__grid, .about-ref-message__grid, .about-ref-recognition__grid),
  html body.about-rebuilt-page main#wrapper .about-ref-mission-vision .about-ref-band__grid,
  html body.about-rebuilt-page main#wrapper .about-ref-expertise .about-ref-expertise__grid {
    grid-template-columns: 1fr !important;
  }

  html body.about-rebuilt-page main#wrapper .about-ref-message__media {
    min-height: clamp(320px, 66vw, 520px) !important;
  }
}

@media (max-width: 767px) {
  html body.about-rebuilt-page main#wrapper {
    --about-compact-y: clamp(36px, 7vw, 48px);
  }

  html body.about-rebuilt-page main#wrapper .about-ref-mission-vision .about-ref-band__item,
  html body.about-rebuilt-page main#wrapper .about-ref-mission-vision .about-ref-band__item + .about-ref-band__item {
    min-height: 0 !important;
    padding-top: 28px !important;
  }
}

/* About compact pass: final media height lock */
html body.about-rebuilt-page main#wrapper :is(.about-ref-story__copy, .about-ref-story__media) {
  min-height: clamp(250px, 23vw, 300px) !important;
  height: clamp(250px, 23vw, 300px) !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-story__copy {
  justify-content: center !important;
}

html body.about-rebuilt-page main#wrapper :is(.about-ref-story__media img, .about-ref-recognition__media img) {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
}

html body.about-rebuilt-page main#wrapper :is(.about-ref-recognition__media, .about-ref-recognition__copy) {
  min-height: clamp(250px, 23vw, 300px) !important;
  height: clamp(250px, 23vw, 300px) !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-recognition__copy {
  justify-content: center !important;
}

html body.about-rebuilt-page main#wrapper .about-ref-recognition__title {
  margin-bottom: clamp(16px, 2vw, 28px) !important;
}

@media (max-width: 991px) {
  html body.about-rebuilt-page main#wrapper :is(
    .about-ref-story__copy,
    .about-ref-story__media,
    .about-ref-recognition__media,
    .about-ref-recognition__copy
  ) {
    height: auto !important;
    min-height: 0 !important;
  }

html body.about-rebuilt-page main#wrapper :is(.about-ref-story__media, .about-ref-recognition__media) {
    aspect-ratio: 16 / 10 !important;
  }
}

/* Global non-home hero: full-screen cinematic image style */
html body:not(.home-page-body) main#wrapper .section-project-hero {
  position: relative !important;
  min-height: 100svh !important;
  height: 100svh !important;
  padding: 0 !important;
  overflow: hidden !important;
  isolation: isolate !important;
  display: flex !important;
  align-items: flex-end !important;
  background: #000 !important;
  color: #fff !important;
}

html body:not(.home-page-body) main#wrapper .section-project-hero :is(
  .project-hero-grid,
  .project-hero-top,
  .project-hero-video-tools,
  .contact-hero-kicker
) {
  display: none !important;
}

html body:not(.home-page-body) main#wrapper .section-project-hero :is(.project-hero-bg, .project-hero-shade) {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}

html body:not(.home-page-body) main#wrapper .section-project-hero .project-hero-bg {
  z-index: 0 !important;
  opacity: 1 !important;
  background: #000 !important;
}

html body:not(.home-page-body) main#wrapper .section-project-hero .project-hero-bg :is(img, video) {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
}

html body.kpd-page-ready:not(.home-page-body) main#wrapper .section-project-hero .project-hero-bg :is(img, video) {
  opacity: 1 !important;
  transform: none !important;
}

html body:not(.home-page-body) main#wrapper .section-project-hero .project-hero-shade {
  z-index: 1 !important;
  pointer-events: none !important;
  opacity: 1 !important;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.18) 28%, rgba(0, 0, 0, 0.22) 58%, rgba(0, 0, 0, 0.86) 100%),
    linear-gradient(90deg, rgba(0, 0, 0, 0.34) 0%, rgba(0, 0, 0, 0.04) 42%, rgba(0, 0, 0, 0.34) 100%) !important;
}

html body:not(.home-page-body) main#wrapper .section-project-hero::before,
html body:not(.home-page-body) main#wrapper .section-project-hero::after,
html body:not(.home-page-body) main#wrapper .section-project-hero .project-hero-shade::before,
html body:not(.home-page-body) main#wrapper .section-project-hero .project-hero-shade::after {
  display: none !important;
  content: none !important;
}

html body:not(.home-page-body) main#wrapper .section-project-hero > .container {
  position: relative !important;
  z-index: 2 !important;
  width: min(1326px, calc(100vw - 48px)) !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding: clamp(104px, 14svh, 168px) 0 clamp(66px, 8.5svh, 112px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
}

html body:not(.home-page-body) main#wrapper .section-project-hero.section-project-hero > .container {
  padding: clamp(104px, 14svh, 168px) 0 clamp(66px, 8.5svh, 112px) !important;
}

html body:not(.home-page-body) main#wrapper .section-project-hero .contact-hero-content {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body:not(.home-page-body) main#wrapper .section-project-hero :is(.effectFade, .fadeUp, .fadeLeft, .fadeRight, .kpd-reveal-target) {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  translate: none !important;
  rotate: none !important;
  scale: none !important;
}

html body:not(.home-page-body) main#wrapper .section-project-hero h1.project-title {
  width: auto !important;
  max-width: min(760px, 100%) !important;
  min-height: 53px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: 28px !important;
  font-weight: 300 !important;
  line-height: 1.18 !important;
  letter-spacing: 0.784px !important;
  text-transform: uppercase !important;
  text-align: left !important;
  text-shadow: 0 22px 60px rgba(0, 0, 0, 0.55) !important;
}

html body:not(.home-page-body) main#wrapper .section-project-hero h1.project-title::after {
  content: "" !important;
  display: block !important;
  width: clamp(96px, 7.5vw, 160px) !important;
  max-width: none !important;
  height: 1px !important;
  margin-top: clamp(10px, 1.2vw, 16px) !important;
  background: rgba(255, 255, 255, 0.72) !important;
  opacity: 1 !important;
  transform: scaleX(1) !important;
  transform-origin: left center !important;
}

@media (max-width: 991px) {
  html body:not(.home-page-body) main#wrapper .section-project-hero > .container {
    width: min(100% - 36px, 760px) !important;
    padding-top: 104px !important;
    padding-bottom: clamp(54px, 10svh, 88px) !important;
  }
}

@media (max-width: 767px) {
  html body:not(.home-page-body) main#wrapper .section-project-hero {
    min-height: 100svh !important;
    height: 100svh !important;
  }

  html body:not(.home-page-body) main#wrapper .section-project-hero > .container {
    width: calc(100vw - 32px) !important;
    padding-top: 96px !important;
    padding-bottom: 54px !important;
  }

html body:not(.home-page-body) main#wrapper .section-project-hero h1.project-title {
    max-width: 92vw !important;
    font-size: 28px !important;
    line-height: 1.18 !important;
  }
}

/* KPD global footer: Omniyat-inspired structure, KPD-native styling */
html body main#wrapper .tf-footer.kpd-omni-footer {
  position: relative !important;
  overflow: hidden !important;
  background: #000 !important;
  color: #fff !important;
  padding: clamp(54px, 7vw, 110px) 0 clamp(30px, 4vw, 56px) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.16) !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer::before,
html body main#wrapper .tf-footer.kpd-omni-footer::after {
  display: none !important;
  content: none !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .footer_container {
  width: min(var(--kpd-container-width, 1760px), calc(100vw - 30px)) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 var(--kpd-container-gutter, 15px) !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .footer_header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: 0 0 clamp(34px, 4.8vw, 76px) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18) !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .footer_logo_link {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  text-decoration: none !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .footer_logo {
  display: block !important;
  width: min(358px, 58vw) !important;
  height: auto !important;
  max-height: 82px !important;
  object-fit: contain !important;
  filter: none !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .footer_links {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: clamp(34px, 5vw, 92px) !important;
  padding: clamp(38px, 5vw, 78px) 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16) !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .footer_links_col_container {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(30px, 4vw, 78px) !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .footer_links_col,
html body main#wrapper .tf-footer.kpd-omni-footer .footer_links_newsletter {
  min-width: 0 !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .footer_links_newsletter {
  flex: 0 0 min(430px, 32vw) !important;
  max-width: 430px !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .footer_links_title {
  margin: 0 0 22px !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 500 !important;
  letter-spacing: 1.4px !important;
  text-transform: uppercase !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .footer_links_list,
html body main#wrapper .tf-footer.kpd-omni-footer .footer_links_row {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .footer_links_list {
  display: grid !important;
  gap: 12px !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .footer_links_item {
  margin: 0 !important;
  padding: 0 !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .footer_link,
html body main#wrapper .tf-footer.kpd-omni-footer .footer_newsletter_terms,
html body main#wrapper .tf-footer.kpd-omni-footer .footer_legal_text {
  color: rgba(255, 255, 255, 0.58) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .footer_link {
  display: inline-block !important;
  text-decoration: none !important;
  transition: color 260ms ease, transform 260ms ease !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .footer_link:hover,
html body main#wrapper .tf-footer.kpd-omni-footer .footer_link:focus-visible,
html body main#wrapper .tf-footer.kpd-omni-footer .footer_newsletter_terms .link:hover,
html body main#wrapper .tf-footer.kpd-omni-footer .footer_newsletter_terms .link:focus-visible {
  color: #fff !important;
  transform: translateX(4px) !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .footer_form {
  display: flex !important;
  align-items: flex-end !important;
  gap: 18px !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 0 16px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.36) !important;
  background: transparent !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .footer_form .input-text {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 0 0 14px !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .footer_form .input-text::placeholder {
  color: rgba(255, 255, 255, 0.52) !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .button_submit {
  flex: 0 0 auto !important;
  height: auto !important;
  padding: 0 0 14px !important;
  border: 0 !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  letter-spacing: 1.6px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: color 260ms ease, transform 260ms ease !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .button_submit:hover,
html body main#wrapper .tf-footer.kpd-omni-footer .button_submit:focus-visible {
  color: rgba(255, 255, 255, 0.72) !important;
  transform: translateX(4px) !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .footer_newsletter_terms {
  max-width: 360px !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.46) !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .footer_newsletter_terms .link {
  color: rgba(255, 255, 255, 0.74) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .footer_legal_social {
  align-items: center !important;
  gap: clamp(22px, 3vw, 42px) !important;
  padding: clamp(24px, 3vw, 40px) 0 0 !important;
  border-bottom: 0 !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .footer_links_row {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 12px clamp(18px, 2vw, 28px) !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .footer_links_social {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .icon-social-link-block {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  border: 1px solid rgba(255, 255, 255, 0.24) !important;
  color: #fff !important;
  text-decoration: none !important;
  background: transparent !important;
  transition: background 260ms ease, color 260ms ease, border-color 260ms ease, transform 260ms ease !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .icon-social-link-block:hover,
html body main#wrapper .tf-footer.kpd-omni-footer .icon-social-link-block:focus-visible {
  background: #fff !important;
  color: #000 !important;
  border-color: #fff !important;
  transform: translateY(-2px) !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .icon-socials {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .footer_legal_text {
  margin-left: auto !important;
  white-space: nowrap !important;
  color: rgba(255, 255, 255, 0.5) !important;
}

html body main#wrapper .tf-footer.kpd-omni-footer .hide {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 991px) {
  html body main#wrapper .tf-footer.kpd-omni-footer .footer_links {
    flex-direction: column !important;
  }

  html body main#wrapper .tf-footer.kpd-omni-footer .footer_links_col_container {
    width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body main#wrapper .tf-footer.kpd-omni-footer .footer_links_newsletter {
    width: 100% !important;
    max-width: none !important;
    flex-basis: auto !important;
  }

  html body main#wrapper .tf-footer.kpd-omni-footer .footer_legal_social {
    align-items: flex-start !important;
  }

  html body main#wrapper .tf-footer.kpd-omni-footer .footer_legal_text {
    margin-left: 0 !important;
  }
}

@media (max-width: 575px) {
  html body main#wrapper .tf-footer.kpd-omni-footer {
    padding-top: 44px !important;
  }

  html body main#wrapper .tf-footer.kpd-omni-footer .footer_links_col_container {
    grid-template-columns: 1fr !important;
  }

  html body main#wrapper .tf-footer.kpd-omni-footer .footer_form {
    align-items: stretch !important;
    flex-direction: column !important;
    gap: 10px !important;
    border-bottom: 0 !important;
  }

  html body main#wrapper .tf-footer.kpd-omni-footer .footer_form .input-text {
    padding: 0 0 12px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.36) !important;
  }

  html body main#wrapper .tf-footer.kpd-omni-footer .button_submit {
    align-self: flex-start !important;
    padding: 6px 0 0 !important;
  }

  html body main#wrapper .tf-footer.kpd-omni-footer .footer_legal_social {
    flex-direction: column !important;
  }
}

/* Investor Guide: keep hover/open card content readable on white cards. */
html body.investor-guide-page-body main#wrapper :is(
  .investor-ref-secure,
  .investor-ref-payment,
  .investor-ref-trust,
  .investor-ref-inventory,
  .investor-ref-faq
).home-white-reveal-section.is-white-revealed :is(
  .investor-ref-info-card,
  .investor-ref-image-card,
  .investor-ref-inventory-card,
  .investor-ref-doc-card,
  .investor-ref-faq__list details
):is(:hover, :focus-within, [open]) {
  background: #ffffff !important;
  color: #000000 !important;
  border-color: rgba(0, 0, 0, 0.18) !important;
}

html body.investor-guide-page-body main#wrapper :is(
  .investor-ref-info-card,
  .investor-ref-image-card,
  .investor-ref-inventory-card,
  .investor-ref-doc-card,
  .investor-ref-faq__list details
):is(:hover, :focus-within, [open]) :is(
  h2,
  h3,
  h4,
  strong,
  span,
  summary,
  p,
  li,
  a
) {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-faq__list details[open],
html body.investor-guide-page-body main#wrapper .investor-ref-faq__list details[open]:hover,
html body.investor-guide-page-body main#wrapper .investor-ref-faq__list details[open]:focus-within {
  background: #ffffff !important;
  color: #000000 !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-faq__list details[open] :is(summary, p) {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

/* Investor Guide final hover/readability pass. Keep every nested control visible. */
html body.investor-guide-page-body main#wrapper :is(
  .investor-ref-info-card,
  .investor-ref-image-card,
  .investor-ref-inventory-card,
  .investor-ref-doc-card,
  .investor-ref-faq__list details
):is(:hover, :focus-within, [open]) {
  background-color: #ffffff !important;
  color: #000000 !important;
  border-color: rgba(0, 0, 0, 0.2) !important;
}

html body.investor-guide-page-body main#wrapper :is(
  .investor-ref-info-card,
  .investor-ref-image-card,
  .investor-ref-inventory-card,
  .investor-ref-doc-card,
  .investor-ref-faq__list details
):is(:hover, :focus-within, [open]) :is(
  h2,
  h3,
  h4,
  strong,
  span,
  summary,
  p,
  li,
  a,
  button,
  .tf-btn,
  .investor-ref-icon,
  svg,
  path,
  use
) {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  opacity: 1 !important;
  stroke: currentColor !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-inventory-card:is(:hover, :focus-within) .tf-btn,
html body.investor-guide-page-body main#wrapper .investor-ref-doc-card:is(:hover, :focus-within) a {
  background: transparent !important;
  border-color: #000000 !important;
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-inventory-card .tf-btn:hover,
html body.investor-guide-page-body main#wrapper .investor-ref-inventory-card .tf-btn:focus-visible,
html body.investor-guide-page-body main#wrapper .investor-ref-doc-card a:hover,
html body.investor-guide-page-body main#wrapper .investor-ref-doc-card a:focus-visible {
  background: #000000 !important;
  border-color: #000000 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-faq__list details {
  min-height: 0 !important;
  padding: 0 !important;
  cursor: pointer !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-faq__list summary {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  padding: 24px 28px !important;
  cursor: pointer !important;
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  list-style: none !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-faq__list summary::-webkit-details-marker {
  display: none !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-faq__list details:not([open]) p {
  display: none !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-faq__list details[open] p {
  display: block !important;
  margin: 0 !important;
  padding: 0 28px 26px 76px !important;
  color: rgba(0, 0, 0, 0.68) !important;
  -webkit-text-fill-color: rgba(0, 0, 0, 0.68) !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-form__row--four {
  grid-template-columns: minmax(260px, 1.2fr) minmax(180px, 0.8fr) minmax(180px, 0.8fr) auto !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-phone {
  display: grid !important;
  grid-template-columns: 96px minmax(0, 1fr) !important;
  align-items: center !important;
  padding: 0 !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-phone span {
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 16px !important;
  border-right: 1px solid rgba(255, 255, 255, 0.22) !important;
  white-space: nowrap !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-phone input {
  width: 100% !important;
  min-width: 0 !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 16px !important;
}

@media (max-width: 991px) {
  html body.investor-guide-page-body main#wrapper .investor-ref-form__row--four {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 575px) {
  html body.investor-guide-page-body main#wrapper .investor-ref-form__row--four {
    grid-template-columns: 1fr !important;
  }

  html body.investor-guide-page-body main#wrapper .investor-ref-yield-table {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html body.investor-guide-page-body main#wrapper .investor-ref-yield-table__head,
  html body.investor-guide-page-body main#wrapper .investor-ref-yield-table__row {
    min-width: 640px !important;
  }
}

html body .offcanvas-menu.show {
  position: fixed !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  max-height: 100vh !important;
  overflow: auto !important;
  z-index: 9999 !important;
}

/* Investor Guide section headers: align with the left edge of the content grid. */
html body.investor-guide-page-body main#wrapper .investor-ref-centered {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  justify-items: start !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-centered h2,
html body.investor-guide-page-body main#wrapper .investor-ref-centered p {
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-centered h2 {
  max-width: min(860px, 100%) !important;
}

/* Investor Guide: multi-line row headings must not inherit fixed one-line title height. */
html body.investor-guide-page-body main#wrapper :is(.investor-ref-title-row, .investor-ref-split-head) h2 {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  line-height: 1.14 !important;
  padding: 0 !important;
}

html body.investor-guide-page-body main#wrapper :is(.investor-ref-title-row, .investor-ref-split-head) h2::after {
  display: block !important;
  position: static !important;
  width: clamp(96px, 7.5vw, 160px) !important;
  height: 1px !important;
  margin: clamp(12px, 1.2vw, 18px) 0 0 !important;
  background: currentColor !important;
  transform: none !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-section :is(.investor-ref-title-row, .investor-ref-split-head) h2.kpd-reveal-target,
html body.investor-guide-page-body main#wrapper .investor-ref-pattern :is(.investor-ref-title-row, .investor-ref-split-head) h2.kpd-reveal-target {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  line-height: 1.14 !important;
  padding: 0 !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-section :is(.investor-ref-title-row, .investor-ref-split-head) h2.kpd-reveal-target::after,
html body.investor-guide-page-body main#wrapper .investor-ref-pattern :is(.investor-ref-title-row, .investor-ref-split-head) h2.kpd-reveal-target::after {
  display: block !important;
  position: static !important;
  width: clamp(96px, 7.5vw, 160px) !important;
  height: 1px !important;
  margin: clamp(12px, 1.2vw, 18px) 0 0 !important;
  background: currentColor !important;
  transform: none !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-relations__grid > div h2,
html body.investor-guide-page-body main#wrapper .investor-ref-faq__grid > h2 {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  line-height: 1.14 !important;
  padding: 0 !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-relations__grid > div h2::after,
html body.investor-guide-page-body main#wrapper .investor-ref-faq__grid > h2::after {
  display: block !important;
  position: static !important;
  width: clamp(96px, 7.5vw, 160px) !important;
  height: 1px !important;
  margin: clamp(12px, 1.2vw, 18px) 0 0 !important;
  background: currentColor !important;
  transform: none !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-relations__grid > div p {
  margin-top: clamp(18px, 2vw, 28px) !important;
}

/* Investor Guide: relations/FAQ headings need flowing underline, not the global inline title rail. */
html body.investor-guide-page-body main#wrapper .investor-ref-section.investor-ref-relations .investor-ref-relations__grid > div h2,
html body.investor-guide-page-body main#wrapper .investor-ref-section.investor-ref-faq .investor-ref-faq__grid > h2 {
  display: block !important;
  align-items: initial !important;
  position: relative !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  line-height: 1.14 !important;
  padding: 0 !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-section.investor-ref-relations .investor-ref-relations__grid > div h2::after,
html body.investor-guide-page-body main#wrapper .investor-ref-section.investor-ref-faq .investor-ref-faq__grid > h2::after {
  display: block !important;
  position: static !important;
  left: auto !important;
  bottom: auto !important;
  width: clamp(96px, 7.5vw, 160px) !important;
  height: 1px !important;
  margin: clamp(12px, 1.2vw, 18px) 0 0 !important;
  background: currentColor !important;
  opacity: 0.72 !important;
  transform: none !important;
  animation: none !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-section.investor-ref-faq .investor-ref-faq__grid h2 {
  display: block !important;
  align-items: initial !important;
  position: relative !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  line-height: 1.14 !important;
  padding: 0 !important;
}

html body.investor-guide-page-body main#wrapper .investor-ref-section.investor-ref-faq .investor-ref-faq__grid h2::after {
  display: block !important;
  position: static !important;
  left: auto !important;
  bottom: auto !important;
  width: clamp(96px, 7.5vw, 160px) !important;
  height: 1px !important;
  margin: clamp(12px, 1.2vw, 18px) 0 0 !important;
  background: currentColor !important;
  opacity: 0.72 !important;
  transform: none !important;
  animation: none !important;
}

/* Leadership page: align CEO message and team sections to the same wide page rhythm. */
html body.leadership-page-body main#wrapper .section-leadership-message.flat-spacing {
  padding-top: clamp(42px, 5vw, 72px) !important;
  padding-bottom: clamp(42px, 5vw, 72px) !important;
}

html body.leadership-page-body main#wrapper .section-leadership-message > .container,
html body.leadership-page-body main#wrapper .section-leadership-team > .container {
  width: var(--kpd-template-width, min(var(--kpd-container-width, 1760px), calc(100vw - 30px))) !important;
  max-width: none !important;
  padding-right: var(--kpd-template-gutter, 15px) !important;
  padding-left: var(--kpd-template-gutter, 15px) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

html body.leadership-page-body main#wrapper .section-leadership-message > .container {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.42fr) !important;
  gap: clamp(20px, 1.8vw, 36px) !important;
  align-items: stretch !important;
}

html body.leadership-page-body main#wrapper .leadership-message-copy,
html body.leadership-page-body main#wrapper .leadership-message-portrait {
  min-height: clamp(390px, 29vw, 602px) !important;
}

html body.leadership-page-body main#wrapper .leadership-message-copy {
  padding: clamp(34px, 3.2vw, 60px) !important;
}

html body.leadership-page-body main#wrapper .section-leadership-team.flat-spacing {
  padding-top: clamp(34px, 4vw, 64px) !important;
}

html body.leadership-page-body main#wrapper .section-leadership-team .s-header {
  margin: 0 0 clamp(22px, 2.6vw, 42px) !important;
  padding: 0 !important;
}

html body.leadership-page-body main#wrapper .section-leadership-team .s-header h2 {
  margin: 0 !important;
}

@media (max-width: 991px) {
  html body.leadership-page-body main#wrapper .section-leadership-message > .container {
    grid-template-columns: 1fr !important;
  }

  html body.leadership-page-body main#wrapper .leadership-message-portrait {
    min-height: clamp(360px, 70vw, 560px) !important;
  }
}
