*, ::before, ::after{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

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

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

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

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
.\!container{
  width: 100% !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 15px !important;
  padding-left: 15px !important;
}
.container{
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 15px;
  padding-left: 15px;
}
@media (min-width: 640px){

  .\!container{
    max-width: 640px !important;
  }

  .container{
    max-width: 640px;
  }
}
@media (min-width: 768px){

  .\!container{
    max-width: 768px !important;
  }

  .container{
    max-width: 768px;
  }
}
@media (min-width: 1024px){

  .\!container{
    max-width: 1024px !important;
  }

  .container{
    max-width: 1024px;
  }
}
@media (min-width: 1280px){

  .\!container{
    max-width: 1280px !important;
    padding-right: 30px !important;
    padding-left: 30px !important;
  }

  .container{
    max-width: 1280px;
    padding-right: 30px;
    padding-left: 30px;
  }
}
@media (min-width: 1540px){

  .\!container{
    max-width: 1540px !important;
  }

  .container{
    max-width: 1540px;
  }
}
.sr-only{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.visible{
  visibility: visible;
}
.invisible{
  visibility: hidden;
}
.collapse{
  visibility: collapse;
}
.static{
  position: static;
}
.fixed{
  position: fixed;
}
.absolute{
  position: absolute;
}
.relative{
  position: relative;
}
.sticky{
  position: sticky;
}
.-left-14{
  left: -3.5rem;
}
.-right-14{
  right: -3.5rem;
}
.left-7{
  left: 1.75rem;
}
.top-0{
  top: 0px;
}
.top-7{
  top: 1.75rem;
}
.z-10{
  z-index: 10;
}
.order-1{
  order: 1;
}
.m-0{
  margin: 0px;
}
.m-3{
  margin: 0.75rem;
}
.m-4{
  margin: 1rem;
}
.m-6{
  margin: 1.5rem;
}
.m-8{
  margin: 2rem;
}
.m-auto{
  margin: auto;
}
.mx-3{
  margin-left: 0.75rem;
  margin-right: 0.75rem;
}
.my-2{
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.my-3{
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}
.-ml-1{
  margin-left: -0.25rem;
}
.mb-0{
  margin-bottom: 0px;
}
.mb-1{
  margin-bottom: 0.25rem;
}
.mb-10{
  margin-bottom: 2.5rem;
}
.mb-2{
  margin-bottom: 0.5rem;
}
.mb-3{
  margin-bottom: 0.75rem;
}
.mb-4{
  margin-bottom: 1rem;
}
.mb-5{
  margin-bottom: 1.25rem;
}
.mb-6{
  margin-bottom: 1.5rem;
}
.me-2{
  margin-inline-end: 0.5rem;
}
.me-3{
  margin-inline-end: 0.75rem;
}
.me-auto{
  margin-inline-end: auto;
}
.ml-1{
  margin-left: 0.25rem;
}
.mr-1{
  margin-right: 0.25rem;
}
.mr-3{
  margin-right: 0.75rem;
}
.mt-1{
  margin-top: 0.25rem;
}
.mt-12{
  margin-top: 3rem;
}
.mt-2{
  margin-top: 0.5rem;
}
.mt-3{
  margin-top: 0.75rem;
}
.mt-5{
  margin-top: 1.25rem;
}
.mt-8{
  margin-top: 2rem;
}
.box-content{
  box-sizing: content-box;
}
.line-clamp-2{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.line-clamp-3{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.block{
  display: block;
}
.inline-block{
  display: inline-block;
}
.inline{
  display: inline;
}
.flex{
  display: flex;
}
.table{
  display: table;
}
.grid{
  display: grid;
}
.\!contents{
  display: contents !important;
}
.contents{
  display: contents;
}
.hidden{
  display: none;
}
.aspect-\[16\/10\]{
  aspect-ratio: 16/10;
}
.h-5{
  height: 1.25rem;
}
.h-full{
  height: 100%;
}
.min-h-\[140px\]{
  min-height: 140px;
}
.min-h-screen{
  min-height: 100vh;
}
.w-5{
  width: 1.25rem;
}
.w-full{
  width: 100%;
}
.max-w-lg{
  max-width: 32rem;
}
.flex-shrink{
  flex-shrink: 1;
}
.flex-grow{
  flex-grow: 1;
}
.grow{
  flex-grow: 1;
}
.transform{
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes spin{

  to{
    transform: rotate(360deg);
  }
}
.animate-spin{
  animation: spin 1s linear infinite;
}
.cursor-not-allowed{
  cursor: not-allowed;
}
.resize{
  resize: both;
}
.flex-wrap{
  flex-wrap: wrap;
}
.items-center{
  align-items: center;
}
.justify-center{
  justify-content: center;
}
.gap-0{
  gap: 0px;
}
.gap-10{
  gap: 2.5rem;
}
.space-y-1 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.overflow-hidden{
  overflow: hidden;
}
.text-wrap{
  text-wrap: wrap;
}
.rounded-full{
  border-radius: 9999px;
}
.rounded-lg{
  border-radius: 0.5rem;
}
.rounded-md{
  border-radius: 0.375rem;
}
.rounded-xl{
  border-radius: 0.75rem;
}
.border{
  border-width: 1px;
}
.border-b-\[3px\]{
  border-bottom-width: 3px;
}
.border-l-4{
  border-left-width: 4px;
}
.border-blue-400{
  --tw-border-opacity: 1;
  border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}
.border-gray-300{
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.bg-blue-100{
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.bg-blue-50{
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}
.bg-blue-600{
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}
.bg-gray-100{
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.bg-green-100{
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}
.bg-red-100{
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}
.bg-white{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-yellow-100{
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
}
.object-cover{
  -o-object-fit: cover;
     object-fit: cover;
}
.p-0{
  padding: 0px;
}
.p-3{
  padding: 0.75rem;
}
.p-4{
  padding: 1rem;
}
.p-5{
  padding: 1.25rem;
}
.p-8{
  padding: 2rem;
}
.px-1{
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.px-4{
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-8{
  padding-left: 2rem;
  padding-right: 2rem;
}
.py-1{
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-3{
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-4{
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-5{
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.pb-0{
  padding-bottom: 0px;
}
.pb-2{
  padding-bottom: 0.5rem;
}
.pb-3{
  padding-bottom: 0.75rem;
}
.pb-4{
  padding-bottom: 1rem;
}
.pb-5{
  padding-bottom: 1.25rem;
}
.pt-0{
  padding-top: 0px;
}
.pt-14{
  padding-top: 3.5rem;
}
.pt-4{
  padding-top: 1rem;
}
.pt-5{
  padding-top: 1.25rem;
}
.text-center{
  text-align: center;
}
.text-right{
  text-align: right;
}
.text-end{
  text-align: end;
}
.align-middle{
  vertical-align: middle;
}
.text-3xl{
  font-size: 1.875rem;
  line-height: 2.25rem;
}
.text-sm{
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xs{
  font-size: 0.75rem;
  line-height: 1rem;
}
.font-bold{
  font-weight: 700;
}
.font-medium{
  font-weight: 500;
}
.font-semibold{
  font-weight: 600;
}
.uppercase{
  text-transform: uppercase;
}
.lowercase{
  text-transform: lowercase;
}
.italic{
  font-style: italic;
}
.leading-relaxed{
  line-height: 1.625;
}
.text-blue-700{
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}
.text-gray-600{
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}
.text-gray-700{
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.text-gray-800{
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}
.text-green-700{
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}
.text-neutral-400{
  --tw-text-opacity: 1;
  color: rgb(163 163 163 / var(--tw-text-opacity, 1));
}
.text-red-700{
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.text-white{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-yellow-700{
  --tw-text-opacity: 1;
  color: rgb(161 98 7 / var(--tw-text-opacity, 1));
}
.opacity-25{
  opacity: 0.25;
}
.opacity-60{
  opacity: 0.6;
}
.opacity-75{
  opacity: 0.75;
}
.shadow{
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg{
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-md{
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm{
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.outline{
  outline-style: solid;
}
.blur{
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.invert{
  --tw-invert: invert(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.\!filter{
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important;
}
.filter{
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-filter{
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition{
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform{
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-150{
  transition-duration: 150ms;
}
.duration-700{
  transition-duration: 700ms;
}
.ease-in-out{
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
/* ===================
   HOMEPAGE REVAMP
   Themes: default, paramount-petals, paramount-gading-serpong
   =================== */
/* FONTS */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src:
    url("../fonts/montserrat/Montserrat-Regular.woff2") format("woff2"),
    url("../fonts/montserrat/Montserrat-Regular.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src:
    url("../fonts/montserrat/Montserrat-SemiBold.woff2") format("woff2"),
    url("../fonts/montserrat/Montserrat-SemiBold.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src:
    url("../fonts/montserrat/Montserrat-Bold.woff2") format("woff2"),
    url("../fonts/montserrat/Montserrat-Bold.woff") format("woff");
}
/* Raleway - All Weights */
@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url("../fonts/raleway/Raleway-Thin.woff") format("woff");
}
@font-face {
  font-family: "Raleway";
  font-style: italic;
  font-weight: 100;
  font-display: swap;
  src: url("../fonts/raleway/Raleway-ThinItalic.woff") format("woff");
}
@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url("../fonts/raleway/Raleway-ExtraLight.woff") format("woff");
}
@font-face {
  font-family: "Raleway";
  font-style: italic;
  font-weight: 200;
  font-display: swap;
  src: url("../fonts/raleway/Raleway-ExtraLightItalic.woff") format("woff");
}
@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/raleway/Raleway-Light.woff") format("woff");
}
@font-face {
  font-family: "Raleway";
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/raleway/Raleway-LightItalic.woff") format("woff");
}
@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/raleway/Raleway-Regular.woff") format("woff");
}
@font-face {
  font-family: "Raleway";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/raleway/Raleway-Italic.woff") format("woff");
}
@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/raleway/Raleway-Medium.woff") format("woff");
}
@font-face {
  font-family: "Raleway";
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/raleway/Raleway-MediumItalic.woff") format("woff");
}
@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/raleway/Raleway-Semibold.woff") format("woff");
}
@font-face {
  font-family: "Raleway";
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/raleway/Raleway-SemiBoldItalic.woff") format("woff");
}
@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/raleway/Raleway-Bold.woff") format("woff");
}
@font-face {
  font-family: "Raleway";
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/raleway/Raleway-BoldItalic.woff") format("woff");
}
@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/raleway/Raleway-ExtraBold.woff") format("woff");
}
@font-face {
  font-family: "Raleway";
  font-style: italic;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/raleway/Raleway-ExtraBoldItalic.woff") format("woff");
}
@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../fonts/raleway/Raleway-Black.woff") format("woff");
}
@font-face {
  font-family: "Raleway";
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: url("../fonts/raleway/Raleway-BlackItalic.woff") format("woff");
}
/* Josefin Sans - All Weights */
@font-face {
  font-family: "Josefin Sans";
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url("../fonts/josefin-sans/JosefinSans-Thin.woff2") format("woff2");
}
@font-face {
  font-family: "Josefin Sans";
  font-style: italic;
  font-weight: 100;
  font-display: swap;
  src: url("../fonts/josefin-sans/JosefinSans-ThinItalic.woff2") format("woff2");
}
@font-face {
  font-family: "Josefin Sans";
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url("../fonts/josefin-sans/JosefinSans-ExtraLight.woff2") format("woff2");
}
@font-face {
  font-family: "Josefin Sans";
  font-style: italic;
  font-weight: 200;
  font-display: swap;
  src: url("../fonts/josefin-sans/JosefinSans-ExtraLightItalic.woff2")
    format("woff2");
}
@font-face {
  font-family: "Josefin Sans";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/josefin-sans/JosefinSans-Light.woff2") format("woff2");
}
@font-face {
  font-family: "Josefin Sans";
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/josefin-sans/JosefinSans-LightItalic.woff2")
    format("woff2");
}
@font-face {
  font-family: "Josefin Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/josefin-sans/JosefinSans-Regular.woff2") format("woff2");
}
@font-face {
  font-family: "Josefin Sans";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/josefin-sans/JosefinSans-Italic.woff2") format("woff2");
}
@font-face {
  font-family: "Josefin Sans";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/josefin-sans/JosefinSans-Medium.woff2") format("woff2");
}
@font-face {
  font-family: "Josefin Sans";
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/josefin-sans/JosefinSans-MediumItalic.woff2")
    format("woff2");
}
@font-face {
  font-family: "Josefin Sans";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/josefin-sans/JosefinSans-SemiBold.woff2") format("woff2");
}
@font-face {
  font-family: "Josefin Sans";
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/josefin-sans/JosefinSans-SemiBoldItalic.woff2")
    format("woff2");
}
@font-face {
  font-family: "Josefin Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src:
    url("../fonts/josefin-sans/JosefinSans-Bold.woff2") format("woff2"),
    url("../fonts/josefin-sans/JosefinSans-Bold.woff") format("woff");
}
@font-face {
  font-family: "Josefin Sans";
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/josefin-sans/JosefinSans-BoldItalic.woff2") format("woff2");
}
/* Roboto */
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../css/goadmin/fonts/Roboto-Regular.woff") format("woff");
}
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../css/goadmin/fonts/Roboto-Medium.woff") format("woff");
}
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../css/goadmin/fonts/Roboto-Bold.woff") format("woff");
}
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../css/goadmin/fonts/Roboto-Light.woff") format("woff");
}
@font-face {
  font-family: "Roboto";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../css/goadmin/fonts/Roboto-Italic.woff") format("woff");
}
/* Lato (Google Fonts CDN) */
@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/lato/v24/S6uyw4BMUTPHjx4wXg.woff2")
    format("woff2");
}
@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/lato/v24/S6u9w4BMUTPHh6UVSwiPGQ.woff2")
    format("woff2");
}
@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/lato/v24/S6u9w4BMUTPHh50XSwiPGQ.woff2")
    format("woff2");
}
/* VARIABLES */
:root {
  --font-primary: "Montserrat", "Inter", system-ui, -apple-system, sans-serif;
  --font-secondary: "Raleway", "Georgia", serif;
  --font-display: "Josefin Sans", "Montserrat", system-ui, sans-serif;

  /* 62.5% base = 1rem = 10px */
  --text-nav: clamp(1.4rem, 1.3rem + 0.4vw, 1.6rem);
  --text-body: clamp(1.6rem, 1.5rem + 0.3vw, 1.8rem);
  --text-hero-title: clamp(1.8rem, 1.4rem + 4vw, 10rem);
  --text-hero-subtitle: clamp(1.6rem, 0.5rem + 0.8vw, 2.3rem);
  --text-hero-cta: clamp(1.7rem, 0.8rem + 0.8vw, 2.5rem);
  --text-xs: clamp(1.6rem, 1.5rem + 0.1vw, 1.7rem);
  --text-sm: clamp(1.6rem, 1.5rem + 0.2vw, 1.8rem);
  --text-base: 1.6rem;
  --text-lg: clamp(1.6rem, 1.4rem + 0.5vw, 1.8rem);
  --text-xl: clamp(1.8rem, 1.6rem + 0.6vw, 2.2rem);
  --text-2xl: clamp(2.2rem, 2rem + 0.8vw, 2.8rem);
  --text-3xl: clamp(2.8rem, 2.4rem + 1.2vw, 3.6rem);
  --text-4xl: clamp(3.6rem, 3rem + 2vw, 4.8rem);
  --text-5xl: clamp(4.8rem, 4rem + 3vw, 6.4rem);
  --text-6xl: clamp(6rem, 5rem + 4vw, 8rem);

  --spacing-xs: 0.5rem;
  --spacing-sm: 0.75rem;
  --spacing-md: 1rem;
  --spacing-lg: 1.5rem;
  --spacing-xl: 2rem;
  --spacing-2xl: 3rem;
  --spacing-3xl: 4rem;
  --spacing-4xl: 6rem;

  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --radius-2xl: 1.5rem;
  --radius-full: 9999px;

  --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 350ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slower: 500ms cubic-bezier(0.4, 0, 0.2, 1);

  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --shadow-lg:
    0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --shadow-xl:
    0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);

  --z-base: 0;
  --z-dropdown: 1000;
  --z-sticky: 1100;
  --z-fixed: 1200;
  --z-modal-backdrop: 1300;
  --z-modal: 1400;
  --z-popover: 1500;
  --z-tooltip: 1600;

  --neutral-50: #fafafa;
  --neutral-100: #f5f5f5;
  --neutral-200: #e5e5e5;
  --neutral-300: #d4d4d4;
  --neutral-400: #a3a3a3;
  --neutral-500: #737373;
  --neutral-600: #525252;
  --neutral-700: #404040;
  --neutral-800: #262626;
  --neutral-900: #171717;
  --neutral-950: #0a0a0a;

  --text-primary: var(--neutral-900);
  --text-secondary: var(--neutral-600);
  --text-tertiary: var(--neutral-500);
  --text-disabled: var(--neutral-400);
  --text-inverse: #ffffff;

  --bg-primary: #ffffff;
  --bg-secondary: var(--neutral-50);
  --bg-tertiary: var(--neutral-100);
  --bg-hover: var(--neutral-100);
  --bg-active: var(--neutral-200);
  --bg-disabled: var(--neutral-100);
  --bg-overlay: rgba(0, 0, 0, 0.5);

  --border-primary: var(--neutral-200);
  --border-secondary: var(--neutral-300);

  --gold-dark: #5c4813;
  --gold-medium: #8b6914;
  --gold-base: #d4af37;
  --gold-light: #ffe55c;
  --gold-highlight: #ffffff;
}
/* SWIPER OVERRIDES */
.swiper-button-disabled {
  opacity: 0.35 !important;
  cursor: not-allowed !important;
}
.swiper-slide {
  height: auto;
}
.featured-slider.swiper {
  overflow: hidden;
}
/* DEFAULT THEME (Paramount Land) */
[data-brand="default"],
:root {
  --brand-primary-50: #fefce8;
  --brand-primary-100: #fef9c3;
  --brand-primary-200: #fef08a;
  --brand-primary-300: #fde047;
  --brand-primary-400: #facc15;
  --brand-primary-450: #f7941e;
  --brand-primary-500: #e29617;
  --brand-primary-600: #ca8a04;
  --brand-primary-700: #a16207;
  --brand-primary-800: #854d0e;
  --brand-primary-900: #713f12;
  --brand-primary-950: #422006;

  --brand-secondary-50: #f1f0fb;
  --brand-secondary-100: #e5e4f7;
  --brand-secondary-200: #cecdf1;
  --brand-secondary-300: #aca9e6;
  --brand-secondary-400: #887ed8;
  --brand-secondary-500: #6b59c8;
  --brand-secondary-600: #5841b3;
  --brand-secondary-700: #4a3592;
  --brand-secondary-800: #3f2f78;
  --brand-secondary-900: #16325c;
  --brand-secondary-950: #0d1b35;

  --brand-accent-50: #fef2f2;
  --brand-accent-100: #fee2e2;
  --brand-accent-200: #fecaca;
  --brand-accent-300: #fca5a5;
  --brand-accent-400: #f87171;
  --brand-accent-500: #ee4036;
  --brand-accent-600: #dc2626;
  --brand-accent-700: #b91c1c;
  --brand-accent-800: #991b1b;
  --brand-accent-900: #7f1d1d;
  --brand-accent-950: #450a0a;
}
/* PARAMOUNT PETALS THEME */
[data-brand="paramount-petals"] {
  --font-display: "Josefin Sans", "Montserrat", system-ui, sans-serif;

  --brand-primary-50: #fef0f7;
  --brand-primary-100: #fde1ef;
  --brand-primary-200: #fcc5e0;
  --brand-primary-300: #fa97c7;
  --brand-primary-400: #f65ca8;
  --brand-primary-450: #ed217c;
  --brand-primary-500: #eb297b;
  --brand-primary-600: #d91363;
  --brand-primary-700: #b70d51;
  --brand-primary-800: #980d44;
  --brand-primary-900: #7f0f3c;
  --brand-primary-950: #4f031f;

  --brand-secondary-50: #f1f0fb;
  --brand-secondary-100: #e5e4f7;
  --brand-secondary-200: #cecdf1;
  --brand-secondary-300: #aca9e6;
  --brand-secondary-400: #887ed8;
  --brand-secondary-500: #6b59c8;
  --brand-secondary-600: #5841b3;
  --brand-secondary-700: #4a3592;
  --brand-secondary-800: #3f2f78;
  --brand-secondary-900: #16325c;
  --brand-secondary-950: #0d1b35;

  --brand-accent-50: #fefce8;
  --brand-accent-100: #fef9c3;
  --brand-accent-200: #fef08a;
  --brand-accent-300: #fde047;
  --brand-accent-400: #facc15;
  --brand-accent-450: #f7941e;
  --brand-accent-500: #e29617;
  --brand-accent-600: #ca8a04;
  --brand-accent-700: #a16207;
  --brand-accent-800: #854d0e;
  --brand-accent-900: #713f12;
  --brand-accent-950: #422006;
}
/* GADING SERPONG THEME */
[data-brand="paramount-gading-serpong"] {
  --font-display: "Josefin Sans", "Montserrat", system-ui, sans-serif;

  --brand-primary-50: #fefce8;
  --brand-primary-100: #fef9c3;
  --brand-primary-200: #fef08a;
  --brand-primary-300: #fde047;
  --brand-primary-400: #facc15;
  --brand-primary-450: #f7941e;
  --brand-primary-500: #e29617;
  --brand-primary-600: #ca8a04;
  --brand-primary-700: #a16207;
  --brand-primary-800: #854d0e;
  --brand-primary-900: #713f12;
  --brand-primary-950: #422006;

  --brand-secondary-50: #f1f0fb;
  --brand-secondary-100: #e5e4f7;
  --brand-secondary-200: #cecdf1;
  --brand-secondary-300: #aca9e6;
  --brand-secondary-400: #887ed8;
  --brand-secondary-500: #6b59c8;
  --brand-secondary-600: #5841b3;
  --brand-secondary-700: #4a3592;
  --brand-secondary-800: #3f2f78;
  --brand-secondary-900: #16325c;
  --brand-secondary-950: #0d1b35;

  --brand-accent-50: #fef2f2;
  --brand-accent-100: #fee2e2;
  --brand-accent-200: #fecaca;
  --brand-accent-300: #fca5a5;
  --brand-accent-400: #f87171;
  --brand-accent-500: #ee4036;
  --brand-accent-600: #dc2626;
  --brand-accent-700: #b91c1c;
  --brand-accent-800: #991b1b;
  --brand-accent-900: #7f1d1d;
  --brand-accent-950: #450a0a;
}
/* PARAMOUNT VILLAGE SEMARANG THEME */
[data-brand="paramount-village-semarang"] {
  --font-display: "Josefin Sans", "Montserrat", system-ui, sans-serif;

  --brand-primary-50: #fefce8;
  --brand-primary-100: #fef9c3;
  --brand-primary-200: #fef08a;
  --brand-primary-300: #fde047;
  --brand-primary-400: #facc15;
  --brand-primary-450: #f7941e;
  --brand-primary-500: #e29617;
  --brand-primary-600: #ca8a04;
  --brand-primary-700: #a16207;
  --brand-primary-800: #854d0e;
  --brand-primary-900: #713f12;
  --brand-primary-950: #422006;

  --brand-secondary-50: #f1f0fb;
  --brand-secondary-100: #e5e4f7;
  --brand-secondary-200: #cecdf1;
  --brand-secondary-300: #aca9e6;
  --brand-secondary-400: #887ed8;
  --brand-secondary-500: #6b59c8;
  --brand-secondary-600: #5841b3;
  --brand-secondary-700: #4a3592;
  --brand-secondary-800: #3f2f78;
  --brand-secondary-900: #16325c;
  --brand-secondary-950: #0d1b35;

  --brand-accent-50: #fef2f2;
  --brand-accent-100: #fee2e2;
  --brand-accent-200: #fecaca;
  --brand-accent-300: #fca5a5;
  --brand-accent-400: #f87171;
  --brand-accent-500: #ee4036;
  --brand-accent-600: #dc2626;
  --brand-accent-700: #b91c1c;
  --brand-accent-800: #991b1b;
  --brand-accent-900: #7f1d1d;
  --brand-accent-950: #450a0a;
}
/* BASE STYLES */
html {
  font-size: 62.5%; /* 1rem = 10px */
  scroll-behavior: smooth;
}
body.revamp-homepage {
  font-size: 1.6rem;
  font-family: var(--font-secondary);
  color: var(--text-primary);
  background: var(--bg-primary);
  line-height: 1.6;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.revamp-homepage ::-moz-selection {
  background-color: var(--brand-primary-450);
  color: #fff;
}
.revamp-homepage ::selection {
  background-color: var(--brand-primary-450);
  color: #fff;
}
.revamp-homepage ::-moz-selection {
  background-color: var(--brand-primary-450);
  color: #fff;
}
.revamp-homepage *,
.revamp-homepage *::before,
.revamp-homepage *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
.revamp-homepage h1,
.revamp-homepage h2,
.revamp-homepage h3,
.revamp-homepage h4,
.revamp-homepage h5,
.revamp-homepage h6 {
  font-family: var(--font-display);
  font-weight: 700;
  line-height: 1.2;
  color: var(--text-primary);
  margin: 0;
}
.revamp-homepage p {
  font-family: var(--font-secondary);
  font-size: var(--text-base);
  line-height: 1.6;
  color: var(--text-secondary);
}
.revamp-homepage a {
  color: var(--brand-primary-600);
  text-decoration: none;
  transition: color var(--transition-fast);
}
.revamp-homepage a:hover {
  color: var(--brand-primary-450);
}
.revamp-homepage img {
  max-width: 100%;
  height: auto;
  display: block;
}
.revamp-homepage ul,
.revamp-homepage ol {
  list-style: none;
}
/* SWIPER OVERRIDES */
.revamp-homepage .swiper-button-disabled {
    opacity: 0.35 !important;
    cursor: not-allowed !important;
  }
.revamp-homepage .swiper-slide {
    height: auto;
  }
.revamp-homepage .featured-slider.swiper {
    overflow: hidden;
  }
/* HEADER */
.revamp-homepage .site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: linear-gradient(
      0deg,
      rgba(50, 50, 50, 0) 0%,
      rgba(50, 50, 50, 0.1) 20%,
      rgba(50, 50, 50, 0.8) 80%,
      rgba(50, 50, 50) 97%
    );
    backdrop-filter: blur(10px) saturate(180%);
    -webkit-backdrop-filter: blur(10px) saturate(180%);
    box-shadow: none;
    transform: translateY(0);
    transition:
      transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
      backdrop-filter 0.4s cubic-bezier(0.4, 0, 0.2, 1),
      background 0.4s cubic-bezier(0.4, 0, 0.2, 1),
      box-shadow 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform, backdrop-filter, background, box-shadow;
  }
.revamp-homepage .site-header--intro {
    opacity: 0;
    transition: none;
  }
.revamp-homepage .site-header--at-top {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: none;
    background: linear-gradient(
      0deg,
      rgba(50, 50, 50, 0) 0%,
      rgba(50, 50, 50, 0.1) 20%,
      rgba(50, 50, 50, 0.8) 80%,
      rgba(50, 50, 50) 97%
    );
  }
.revamp-homepage .site-header--hidden {
    transform: translateY(-100%);
    pointer-events: none;
  }
.revamp-homepage .site-header--visible {
    backdrop-filter: blur(10px) saturate(180%);
    -webkit-backdrop-filter: blur(10px) saturate(180%);
    box-shadow: 0 2px 40px rgba(0, 0, 0, 0.08);
    background: rgba(50, 50, 50, 0.4);
  }
.revamp-homepage .header-container{
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 15px;
  padding-left: 15px;
}
@media (min-width: 640px){

  .revamp-homepage .header-container{
    max-width: 640px;
  }
}
@media (min-width: 768px){

  .revamp-homepage .header-container{
    max-width: 768px;
  }
}
@media (min-width: 1024px){

  .revamp-homepage .header-container{
    max-width: 1024px;
  }
}
@media (min-width: 1280px){

  .revamp-homepage .header-container{
    max-width: 1280px;
    padding-right: 30px;
    padding-left: 30px;
  }
}
@media (min-width: 1540px){

  .revamp-homepage .header-container{
    max-width: 1540px;
  }
}
.revamp-homepage .header-container {
    margin: 0 auto;
    padding-top: 2.2rem;
    padding-bottom: 2.2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
  }
.revamp-homepage .header-logo {
    flex-shrink: 0;
  }
.revamp-homepage .logo-link {
    display: block;
    transition: transform var(--transition-base);
  }
.revamp-homepage .logo-link:hover {
    transform: scale(1.05);
  }
.revamp-homepage .logo-image {
    height: 42px;
    width: auto;
    -o-object-fit: contain;
       object-fit: contain;
    transition: opacity 0.5s ease;
  }
.revamp-homepage .header-nav {
    flex: 1;
    display: none;
  }
@media (min-width: 1024px) {
    .revamp-homepage .header-nav {
      display: block;
    }

      .revamp-homepage .header-nav .nav-list {
        gap: 0;
      }

    .revamp-homepage .logo-image {
      max-width: 250px;
    }
  }
@media (min-width: 1024px) and (max-width: 1079px) {
    .revamp-homepage .nav-item {
      font-size: 1.1rem;
    }
    .revamp-homepage .nav-link {
      padding: 0.6rem 0.8rem;
    }
    .revamp-homepage .nav-dropdown__item {
      font-size: 1.1rem;
    }
  }
@media (min-width: 1080px) and (max-width: 1279px) {
    .revamp-homepage .nav-item {
      font-size: 1.3rem;
    }
    .revamp-homepage .nav-link {
      padding: 0.65rem 1rem;
    }
    .revamp-homepage .nav-dropdown__item {
      font-size: 1.3rem;
    }
  }
@media (min-width: 1280px) {
      .revamp-homepage .header-nav .nav-list {
        gap: 2rem;
      }
        .revamp-homepage .header-nav .nav-list .nav-item {
          font-size: 1.6rem;
        }

    .revamp-homepage .logo-image {
      max-width: none;
    }
  }
.revamp-homepage .nav-list {
    display: flex;
    align-items: center;
    justify-content: end;
    gap: 2rem;
    list-style: none;
    margin: 0;
    padding: 0;
  }
.revamp-homepage .nav-item {
    margin: 0;
    font-size: 1.3rem;
  }
.revamp-homepage .nav-link {
    display: block;
    padding: 0.75rem 1.5rem;
    font-family: var(--font-secondary);
    font-weight: 700;
    letter-spacing: 0.05rem;
    color: white;
    text-decoration: none;
    border-radius: var(--radius-md);
    transition: all var(--transition-base);
    position: relative;
  }
.revamp-homepage .nav-link:hover {
    background: white;
    color: var(--brand-primary-500);
    transform: translateY(-2px);
  }
.revamp-homepage .nav-link--active {
    color: white;
    position: relative;
  }
.revamp-homepage .nav-link--active::after {
    content: "";
    position: absolute;
    bottom: 0.4rem;
    left: 1.5rem;
    right: 1.5rem;
    height: 2px;
    background: white;
    border-radius: 1px;
  }
.revamp-homepage .nav-link--active:hover {
    color: var(--brand-primary-500);
  }
.revamp-homepage .nav-link--active:hover::after {
    background: var(--brand-primary-500);
  }
.revamp-homepage .nav-link--external {
    background: linear-gradient(
      135deg,
      var(--brand-primary-500),
      var(--brand-primary-700)
    );
    color: white;
    border: 2px solid rgba(255, 255, 255, 0.2);
    font-weight: 700;
  }
.revamp-homepage .nav-link--external:hover {
    background: linear-gradient(
      135deg,
      var(--brand-primary-600),
      var(--brand-primary-800)
    );
    color: white;
    transform: translateY(-2px) scale(1.05);
  }
/* Desktop dropdown menu*/
.revamp-homepage .nav-item--has-dropdown {
    position: relative;
  }
.revamp-homepage .nav-item--has-dropdown:hover .nav-dropdown,
    .revamp-homepage .nav-item--has-dropdown:focus-within .nav-dropdown {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }
.revamp-homepage .nav-item--has-dropdown:hover .nav-dropdown .nav-dropdown__inner, .revamp-homepage .nav-item--has-dropdown:focus-within .nav-dropdown .nav-dropdown__inner {
        max-height: 300px;
      }
.revamp-homepage .nav-dropdown-arrow {
    display: inline-block;
    margin-left: 2px;
    vertical-align: middle;
    transition: transform 0.2s ease;
  }
.revamp-homepage .nav-item--has-dropdown:hover .nav-dropdown-arrow {
    transform: rotate(180deg);
  }
.revamp-homepage .nav-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    transform: translateY(8px);
    min-width: 180px;
    opacity: 0;
    visibility: hidden;
    transition:
      opacity 0.2s ease,
      transform 0.2s ease,
      visibility 0.2s;
    z-index: 1200;
    padding-top: 4px;
  }
.revamp-homepage .nav-dropdown__inner {
    max-height: 0px;
    background: white;
    border-radius: var(--radius-md);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
    padding: 0.5rem 0;
    overflow: hidden;
    transition: max-height 0.6s ease;
  }
.revamp-homepage .nav-dropdown__item {
    display: block;
    padding: 0.6rem 1.25rem;
    font-family: var(--font-secondary);
    font-weight: 600;
    font-size: var(--text-base);
    color: var(--text-primary);
    text-decoration: none;
    white-space: nowrap;
    transition:
      background 0.15s ease,
      color 0.15s ease;
  }
.revamp-homepage .nav-dropdown__item:hover {
      background: var(--brand-primary-50, #fdf5e6);
      color: var(--brand-primary-600);
    }
/* Mobile dropdown*/
.revamp-homepage .mobile-nav-dropdown-trigger {
    display: flex;
    align-items: center;
    gap: 0;
  }
.revamp-homepage .mobile-nav-dropdown-trigger .mobile-nav-link {
    flex: 1;
  }
.revamp-homepage .mobile-dropdown-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: transparent;
    border: none;
    cursor: pointer;
    border-radius: var(--radius-md);
    transition: background 0.15s ease;
    color: var(--text-primary);
  }
.revamp-homepage .mobile-dropdown-toggle svg {
      transition: transform 0.2s ease;
    }
.revamp-homepage .mobile-dropdown-toggle:hover {
      background: var(--neutral-100);
    }
.revamp-homepage .mobile-nav-item--has-dropdown.is-open .mobile-dropdown-toggle svg {
    transform: rotate(180deg);
  }
.revamp-homepage .mobile-sub-nav {
    list-style: none;
    margin: 0;
    padding: 0 0 0 1.5rem;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
  }
.revamp-homepage .mobile-nav-item--has-dropdown.is-open .mobile-sub-nav {
    max-height: 500px;
  }
.revamp-homepage .mobile-sub-nav-link {
    display: block;
    padding: 0.6rem 1.25rem;
    font-family: var(--font-secondary);
    font-weight: 500;
    font-size: var(--text-base);
    color: var(--text-secondary);
    text-decoration: none;
    border-radius: var(--radius-sm);
    transition:
      background 0.15s ease,
      color 0.15s ease;
  }
.revamp-homepage .mobile-sub-nav-link:hover {
      background: var(--brand-primary-50, #fdf5e6);
      color: var(--brand-primary-600);
    }
/* Hero video styles*/
.revamp-homepage .hero-video {
    -o-object-fit: cover;
       object-fit: cover;
  }
.revamp-homepage .header-lang {
    display: none;
    align-items: center;
    gap: 1.5rem;
  }
@media (min-width: 1024px) {
    .revamp-homepage .header-lang {
      display: flex;
    }
  }
.revamp-homepage .lang-btn {
    width: 28px;
    height: 28px;
    padding: 0;
    border: 2px solid white;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    transition: all var(--transition-base);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }
.revamp-homepage .lang-btn:hover {
    transform: scale(1.1);
    border-color: var(--brand-primary-500);
  }
.revamp-homepage .lang-btn--active {
    border-color: var(--brand-primary-500);
    box-shadow: 0 0 0 3px rgba(216, 142, 40, 0.2);
    cursor: default;
    pointer-events: none;
  }
.revamp-homepage .lang-btn--active .lang-flag {
    filter: grayscale(100%);
    opacity: 0.6;
  }
.revamp-homepage .lang-flag {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
.revamp-homepage .lang-text {
    font-family: var(--font-display);
    font-size: 11px;
    font-weight: 700;
    color: white;
    letter-spacing: 0.5px;
    line-height: 1;
  }
.revamp-homepage .lang-btn--active .lang-text {
    color: var(--brand-primary-500);
  }
.revamp-homepage .mobile-toggle {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    width: 30px;
    height: 24px;
    padding: 0;
    background: transparent;
    border: none;
    cursor: pointer;
    z-index: 1100;
  }
@media (min-width: 1024px) {
    .revamp-homepage .mobile-toggle {
      display: none;
    }
  }
.revamp-homepage .mobile-toggle-bar {
    width: 100%;
    height: 3px;
    background: var(--brand-primary-500);
    border-radius: 2px;
    transition: all 0.3s ease;
  }
.revamp-homepage .mobile-toggle--open .mobile-toggle-bar:nth-child(1) {
    transform: translateY(10px) rotate(45deg);
  }
.revamp-homepage .mobile-toggle--open .mobile-toggle-bar:nth-child(2) {
    opacity: 0;
  }
.revamp-homepage .mobile-toggle--open .mobile-toggle-bar:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
  }
.revamp-homepage .mobile-menu {
    position: fixed;
    top: 54px;
    left: 0;
    right: 0;
    bottom: 0;
    background: white;
    z-index: 999;
    overflow-y: auto;
    padding: 2rem;
    display: none;
  }
.revamp-homepage .mobile-menu.is-open {
    display: block;
    animation: slideDown 0.3s ease;
    height: 100vh;
  }
@media (min-width: 1024px) {
    .revamp-homepage .mobile-menu {
      display: none !important;
    }
  }
.revamp-homepage .mobile-nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
  }
.revamp-homepage .mobile-nav-item {
    margin-bottom: 0.5rem;
  }
.revamp-homepage .mobile-nav-link {
    display: block;
    padding: 1rem 1.5rem;
    font-family: var(--font-secondary);
    font-weight: 600;
    letter-spacing: 0.5px;
    color: var(--text-primary);
    text-decoration: none;
    border-radius: var(--radius-md);
    transition: all var(--transition-base);
  }
.revamp-homepage .mobile-nav-link:hover,
  .revamp-homepage .mobile-nav-link--active {
    background: var(--brand-primary-500);
    color: white;
  }
.revamp-homepage .mobile-nav-link--external {
    background: linear-gradient(
      135deg,
      var(--brand-primary-500),
      var(--brand-primary-700)
    );
    color: white;
    border: 2px solid rgba(255, 255, 255, 0.2);
    font-weight: 700;
  }
.revamp-homepage .mobile-lang {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 1.5rem 0 0.5rem;
    margin-top: 1rem;
    border-top: 1px solid var(--neutral-100);
  }
.revamp-homepage .mobile-lang .lang-btn {
    border-color: var(--neutral-300);
  }
.revamp-homepage .mobile-lang .lang-text {
    color: var(--text-primary);
  }
.revamp-homepage .mobile-lang .lang-btn--active .lang-text {
    color: var(--brand-primary-500);
  }
.revamp-homepage .mobile-lang .lang-btn--active .lang-flag {
    filter: grayscale(100%);
    opacity: 0.6;
  }
/* HERO */
.revamp-homepage .hero-section {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
.revamp-homepage .hero-section--default {
    aspect-ratio: 19 / 10;
    max-height: 100vh;
  }
.revamp-homepage .hero-section--paramount-petals,
  .revamp-homepage .hero-section--paramount-gading-serpong,
  .revamp-homepage .hero-section--paramount-village-semarang {
    aspect-ratio: 19 / 10;
    /* max-height: 80vh;*/
  }
@media (min-width: 768px) {
    .revamp-homepage .hero-section--paramount-petals,
    .revamp-homepage .hero-section--paramount-gading-serpong,
    .revamp-homepage .hero-section--paramount-village-semarang {
      /* max-height: 85vh;*/
    }
  }
@media (min-width: 1024px) {
    .revamp-homepage .hero-section--paramount-petals,
    .revamp-homepage .hero-section--paramount-gading-serpong,
    .revamp-homepage .hero-section--paramount-village-semarang {
      /* max-height: 90vh;*/
    }
  }
/* Client-side fallback when script measures media and sets a px height as aspect ratio*/
.revamp-homepage .hero-section--dynamic-active {
    max-height: none !important;
    transition:
      height 0.4s ease,
      aspect-ratio 0.4s ease;
  }
.revamp-homepage .hero-blur-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    filter: blur(30px) brightness(0.7);
    /* Overscale to prevent blurred edge artifacts bleeding out*/
    transform: scale(1.15);
    z-index: 0;
    pointer-events: none;
  }
/* in location hero, images use contain (show full image with blur bg),*/
/* works with both serverside aspect-ratio and script dynamic height*/
.revamp-homepage .hero-section[data-location-hero] .hero-image-wrapper {
    overflow: hidden;
  }
.revamp-homepage .hero-section[data-location-hero] .hero-image:not(.hero-video) {
    -o-object-fit: contain;
       object-fit: contain;
    position: relative;
    z-index: 1;
  }
.revamp-homepage .hero-section[data-location-hero] .hero-video {
    -o-object-fit: cover;
       object-fit: cover;
    position: relative;
    z-index: 1;
  }
.revamp-homepage .hero-borders {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 10;
  }
.revamp-homepage .border-bottom {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 5px;
    background: linear-gradient(
      to right,
      var(--brand-secondary-900) 0%,
      var(--brand-secondary-900) 25%,
      var(--brand-primary-500) 25%,
      var(--brand-primary-500) 50%,
      var(--brand-secondary-900) 50%,
      var(--brand-secondary-900) 75%,
      var(--brand-primary-500) 75%,
      var(--brand-primary-500) 100%
    );
    animation: borderShimmer 20s linear infinite;
  }
/* Static variant: 3-segment (900, 500, 900), no animation*/
.revamp-homepage .border-bottom--static {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: 5px;
      background: linear-gradient(
        to right,
        var(--brand-secondary-900) 0%,
        var(--brand-secondary-900) 33.333%,
        var(--brand-primary-500) 33.333%,
        var(--brand-primary-500) 66.666%,
        var(--brand-secondary-900) 66.666%,
        var(--brand-secondary-900) 100%
      );
      animation: none;
    }
@media (min-width: 1024px) {
    .revamp-homepage .border-bottom {
      height: 8px;
    }
  }
.revamp-homepage .hero-container {
    position: relative;
    width: 100%;
    height: 100%;
  }
.revamp-homepage .hero-image-wrapper {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    min-height: inherit;
  }
.revamp-homepage .hero-image-wrapper--clickable {
    cursor: pointer;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }
.revamp-homepage .hero-image-wrapper--clickable:hover {
    transform: scale(1.02);
  }
.revamp-homepage .hero-image-wrapper--clickable:hover .hero-image {
    filter: brightness(1.05);
  }
.revamp-homepage .hero-image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    transition: filter 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }
.revamp-homepage .hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0.3) 0%,
      rgba(0, 0, 0, 0.5) 100%
    );
    z-index: 1;
  }
.revamp-homepage .hero-content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    z-index: 2;
    padding: 2rem;
    padding-bottom: 8rem;
  }
.revamp-homepage .hero-content-inner {
    max-width: 100%;
    text-align: center;
    color: white;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
  }
.revamp-homepage .hero-title {
    font-family: var(--font-display);
    font-size: var(--text-hero-title);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: 0.2rem;
    margin: 0 0 0.5rem;
    color: white;
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
    text-transform: uppercase;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    opacity: 0; /* Initial state for animation */
  }
@media (min-width: 375px) {
    .revamp-homepage .hero-content-inner {
      max-width: 90%;
    }
  }
@media (min-width: 768px) {
    .revamp-homepage .hero-content-inner {
      max-width: 80%;
    }

    .revamp-homepage .hero-title {
      margin: 0 0 1.5rem;
    }
  }
/* Split character with ring effect */
.revamp-homepage .hero-word {
    display: inline-block;
    white-space: nowrap;
  }
.revamp-homepage .hero-char {
    position: relative;
    display: inline-block;
  }
.revamp-homepage .hero-char--space {
    width: 0.3em;
  }
.revamp-homepage .hero-char__main {
    position: relative;
    z-index: 2;
    color: white;
  }
.revamp-homepage .hero-char__ring {
    position: absolute;
    top: 0.02em;
    left: 0;
    z-index: 1;
    transform: scaleY(1.1) scaleX(1.12);
    transform-origin: center center;
    pointer-events: none;
    font-weight: 900;
    color: transparent;
    -moz-user-select: none;
         user-select: none;
    -webkit-user-select: none;
    font-size: calc(var(--text-hero-title) * 1.01);

    /* Gradient fill that creates the shimmer */
    background: linear-gradient(
      90deg,
      transparent 0%,
      transparent 35%,
      rgba(255, 255, 255, 0.9) 50%,
      transparent 65%,
      transparent 100%
    );
    background-size: 300% 100%;
    -webkit-background-clip: text;
    background-clip: text;

    animation: ringShimmer 4s ease-in-out infinite;
    animation-delay: calc(var(--char-index, 0) * 0.05s);
  }
.revamp-homepage .hero-subtitle{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
    font-family: var(--font-secondary);
    font-size: var(--text-hero-subtitle);
    line-height: 1.6;
    margin: 0 0 2.5rem;
    color: rgba(255, 255, 255, 0.95);
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
    max-width: 80%;
    opacity: 0; /* Initial state for animation */
}
@media not all and (min-width: 768px){

  .revamp-homepage .hero-cta{
    margin-bottom: 1rem;
  }
}
.revamp-homepage .hero-cta {
    display: flex;
    justify-content: center;
  }
.revamp-homepage .btn-hero {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 2.5rem;
    font-family: var(--font-secondary);
    font-size: var(--text-hero-cta);
    font-weight: 600;
    color: white;
    background: var(--brand-primary-500);
    border: none;
    border-radius: var(--radius-lg);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
    cursor: pointer;
    /* Exclude transform from transition - GSAP handles it */
    transition:
      background 0.3s ease,
      box-shadow 0.3s ease,
      color 0.3s ease;
    position: relative;
    overflow: hidden;
    opacity: 0; /* Initial state for animation */
  }
.revamp-homepage .btn-hero::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
      90deg,
      transparent,
      rgba(255, 255, 255, 0.3),
      transparent
    );
    transition: left 0.5s ease;
  }
.revamp-homepage .btn-hero:hover::before {
    left: 100%;
  }
.revamp-homepage .btn-hero:hover {
    background: var(--brand-primary-600);
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4);
    color: white;
  }
.revamp-homepage .btn-hero-icon {
    display: flex;
    align-items: center;
    transition: transform 0.3s ease;
  }
.revamp-homepage .btn-hero:hover .btn-hero-icon {
    transform: translateX(5px);
  }
.revamp-homepage .btn-hero-icon svg {
    width: 20px;
    height: 20px;
  }
/* Hero Slider */
.revamp-homepage .hero-swiper {
    width: 100%;
    height: 100%;
  }
.revamp-homepage .hero-swiper .swiper-slide {
    opacity: 0 !important;
  }
.revamp-homepage .hero-swiper .swiper-slide-active {
    opacity: 1 !important;
  }
.revamp-homepage .hero-pagination {
    justify-content: center;
    position: absolute;
    bottom: 0.5rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    display: flex;
    gap: 0.5rem;
  }
.revamp-homepage .hero-pagination-bullet {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: all 0.3s ease;
  }
@media (min-width: 767px) {
    .revamp-homepage .hero-pagination {
      bottom: 2rem;
    }

    .revamp-homepage .hero-pagination-bullet {
      width: 10px;
      height: 10px;
    }
  }
.revamp-homepage .hero-pagination-bullet:hover {
    background: rgba(255, 255, 255, 0.8);
  }
.revamp-homepage .hero-pagination-bullet--active {
    background: white;
    transform: scale(1.2);
  }
/* Hero Responsive */
@media (max-width: 767px) {
    .revamp-homepage .hero-section--default {
      aspect-ratio: 19 / 10;
      max-height: 70vh;
    }

    .revamp-homepage .hero-section--paramount-petals,
    .revamp-homepage .hero-section--paramount-gading-serpong,
    .revamp-homepage .hero-section--paramount-village-semarang {
      aspect-ratio: 19 / 10;
      max-height: 60vh;
    }

    .revamp-homepage .hero-content {
      padding: 1.5rem;
    }

    .revamp-homepage .hero-subtitle {
      margin-bottom: 1rem;
      font-size: 0.95rem;
    }

    .revamp-homepage .btn-hero {
      padding: 0.875rem 2rem;
      font-size: 0.875rem;
    }
  }
@media (max-width: 480px) {
    .revamp-homepage .hero-section--default {
      aspect-ratio: 19 / 14;
      max-height: 60vh;
    }

    .revamp-homepage .hero-section--paramount-petals,
    .revamp-homepage .hero-section--paramount-gading-serpong,
    .revamp-homepage .hero-section--paramount-village-semarang {
      max-height: 50vh;
      aspect-ratio: 19 / 14;
    }

    .revamp-homepage .btn-hero {
      padding: 0.75rem 1.75rem;
      font-size: 0.8125rem;
    }
  }
/* CORE VALUES */
.revamp-homepage .core-values {
    width: 100%;
    background: #000000;
    padding: 1.5rem 2rem;
  }
.revamp-homepage .core-values__container {
    max-width: 1440px;
    margin: 0 auto;
  }
.revamp-homepage .core-values__list {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    list-style: none;
    margin: 0;
    padding: 0;
  }
.revamp-homepage .core-values__item {
    font-family: var(--font-secondary);
    font-size: clamp(1.6rem, 1.4rem + 0.5vw, 2rem);
    font-weight: 600;
    letter-spacing: 0.15rem;
    color: #ffffff;
    text-transform: uppercase;
    position: relative;
  }
.revamp-homepage .core-values__item:not(:last-child)::after {
    content: "•";
    position: absolute;
    right: -1.25rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.6rem;
    color: #ffffff;
  }
@media (max-width: 767px) {
    .revamp-homepage .core-values {
      padding: 1.25rem 1.5rem;
    }

    .revamp-homepage .core-values__list {
      gap: 1.5rem;
    }

    .revamp-homepage .core-values__item:not(:last-child)::after {
      right: -1rem;
    }
  }
@media (max-width: 480px) {
    .revamp-homepage .core-values {
      padding: 1rem;
    }

    .revamp-homepage .core-values__list {
      flex-wrap: wrap;
      gap: 0.75rem 1.5rem;
    }

    .revamp-homepage .core-values__item {
      font-size: 1rem;
      letter-spacing: 0.1rem;
    }
  }
/* =====================
     MINI BANNER
     ===================== */
.revamp-homepage .mini-banner-section {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
.revamp-homepage .mini-banner-link {
    display: block;
    position: relative;
    width: 100%;
    -webkit-user-drag: none;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }
.revamp-homepage .mini-banner-image {
    width: 100%;
    display: block;
    -o-object-fit: cover;
       object-fit: cover;
    aspect-ratio: 16/4.3;
    pointer-events: none;
    -webkit-user-drag: none;
  }
.revamp-homepage .mini-banner-caption {
    position: relative;
    background-color: #777777;
    padding: 1.5rem 0;
    text-align: center;
  }
.revamp-homepage .mini-banner-caption__inner {
    max-width: 120rem;
    margin: 0 auto;
    padding: 0 2rem;
    display: flex;
    align-items: center;
    gap: 3rem;
  }
.revamp-homepage .mini-banner-caption__text{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
    color: #ffffff;
    font-family: var(--font-primary);
    font-size: 1.6rem;
    line-height: 1.5;
    margin: 0;
    flex: 1;
    text-align: left;
}
.revamp-homepage .btn.mini-banner-caption__btn {
    overflow: visible;
    position: relative;
    background-color: var(--brand-secondary-900);
    color: #ffffff;
    white-space: nowrap;
    flex-shrink: 0;
    padding: 0.5rem 2rem;
    min-width: auto;
    transition:
      transform 0.3s ease,
      background 0.3s ease;
  }
.revamp-homepage .btn.mini-banner-caption__btn::after {
      display: none;
    }
.revamp-homepage .btn.mini-banner-caption__btn::before {
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      top: 1.4rem;
      left: 1.6rem;
      background: url(../images/custome-hover.png) no-repeat center center;
      background-size: 3.3rem;
      background-position: right;
      pointer-events: none;
    }
.revamp-homepage .btn.mini-banner-caption__btn:hover {
    transform: scale(1.05);
    color: #ffffff;
  }
.revamp-homepage .btn.mini-banner-caption__btn:hover::before {
      left: -30%;
    }
.revamp-homepage .mini-banner-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 4rem;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #606060;
    border-radius: 0.5rem;
    cursor: pointer;
    transition:
      background 0.3s ease,
      box-shadow 0.3s ease;
  }
.revamp-homepage .mini-banner-nav svg {
      width: 2rem;
      height: 2rem;
      color: #ffffff;
    }
.revamp-homepage .mini-banner-nav:hover {
      background-color: #333333;
    }
.revamp-homepage .mini-banner-nav--prev {
    left: 2rem;
  }
.revamp-homepage .mini-banner-nav--next {
    right: 2rem;
  }
.revamp-homepage .mini-banner-swiper {
    position: relative;
  }
@media (max-width: 768px) {
    .revamp-homepage .mini-banner-caption {
      padding: 1rem 0;
    }

    .revamp-homepage .mini-banner-caption__inner {
      flex-direction: column-reverse;
      align-items: center;
      gap: 1.5rem;
      padding: 0 1.5rem;
    }

    .revamp-homepage .mini-banner-caption__text {
      font-size: 1.4rem;
      text-align: center;
    }

    .revamp-homepage .mini-banner-nav {
      width: 3.2rem;
      height: 3.2rem;
    }

      .revamp-homepage .mini-banner-nav svg {
        width: 1.6rem;
        height: 1.6rem;
      }

    .revamp-homepage .mini-banner-nav--prev {
      left: 1rem;
    }

    .revamp-homepage .mini-banner-nav--next {
      right: 1rem;
    }
  }
/* =====================
     SPECIAL OFFER (PROMO PAGE)
     ===================== */
.revamp-homepage .special-offer-section {
    position: relative;
    width: 100%;
  }
.revamp-homepage .special-offer-heading {
    max-width: 120rem;
    margin: 0 auto;
    padding: 3rem 2rem;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
  }
.revamp-homepage .special-offer-heading::before {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      height: 1px;
      background-color: #6c757d;
      z-index: 0;
    }
.revamp-homepage .special-offer-title {
    position: relative;
    display: inline-block;
    padding: 1rem 3rem;
    background: #1a1a1a
      url("../../lib/images/examples/marketing_emblem_background_pattern.png")
      center/cover no-repeat;
    border-radius: var(--radius-md);
    margin: 0;
    overflow: visible;
    z-index: 1;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
  }
.revamp-homepage .special-offer-title__text {
    position: relative;
    z-index: 2;
    font-family: var(--font-display);
    font-size: clamp(1.6rem, 1.4rem + 0.5vw, 2rem);
    font-weight: 700;
    color: #ffffff;
    text-transform: uppercase;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  }
.revamp-homepage .special-offer-title__glow {
    position: absolute;
    inset: -1.5px;
    border-radius: calc(var(--radius-md) + 3px);
    background: linear-gradient(
      90deg,
      var(--gold-dark) 0%,
      var(--gold-medium) 10%,
      var(--gold-dark) 20%,
      var(--gold-medium) 32%,
      var(--gold-base) 46%,
      var(--gold-light) 49%,
      var(--gold-highlight) 50%,
      var(--gold-light) 51%,
      var(--gold-base) 54%,
      var(--gold-medium) 68%,
      var(--gold-dark) 80%,
      var(--gold-medium) 90%,
      var(--gold-dark) 100%
    );
    background-size: 300% 100%;
    animation: chromeShine 8s ease-in-out infinite alternate;
    z-index: -1;
  }
.revamp-homepage .special-offer-title::before {
    content: "";
    position: absolute;
    inset: 3px;
    background: #1a1a1a
      url("../../lib/images/examples/marketing_emblem_background_pattern.png")
      center/cover no-repeat;
    border-radius: calc(var(--radius-md) - 1px);
    z-index: 1;
    background-size: 120%;
  }
.revamp-homepage .special-offer-body {
    padding: 0.7rem 0;
    background: linear-gradient(
      90deg,
      rgba(175, 119, 49, 1) 0%,
      rgba(239, 192, 104, 1) 11%,
      rgba(255, 225, 168, 1) 22%,
      rgba(175, 119, 49, 1) 33%,
      rgba(87, 38, 13, 1) 44%,
      rgba(175, 119, 49, 1) 57%,
      rgba(239, 192, 104, 1) 68%,
      rgba(255, 225, 168, 1) 80%,
      rgba(175, 119, 49, 1) 91%,
      rgba(87, 38, 13, 1) 100%
    );
    background-size: cover;
    background-position: left bottom;
    background-repeat: no-repeat;
    position: relative;
    aspect-ratio: 16 / 6;
  }
.revamp-homepage .special-offer-container {
    max-width: 100%;
    height: 100%;
    margin: 0 auto;
    padding: 0 2rem;
    position: relative;
    display: flex;
    align-items: flex-end;
  }
.revamp-homepage .special-offer-cta-container {
    width: 28%;
    position: absolute;
    bottom: 8%;
    z-index: 5;
    padding: 0.5rem 4.5rem;
    display: flex;
    justify-content: center;
  }
.revamp-homepage .special-offer-card {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 65%;
    background: #ffffff;
    border-radius: 0.7rem;
    padding: 2rem 5rem;
    margin-right: 2rem;
  }
.revamp-homepage .special-offer-slider-wrapper {
    position: relative;
    padding-right: 15px;
  }
/* compensate slidesOffsetBefore */
.revamp-homepage .special-offer-slider-wrapper .swiper-pagination-horizontal.swiper-pagination-bullets {
      transform: unset;
      margin-left: calc(auto + 15px); /* compensate slidesOffsetBefore */
    }
.revamp-homepage .special-offer-inner-swiper {
    overflow: hidden;
    padding: 1.5rem 0;
  }
.revamp-homepage .special-offer-inner-pagination {
    text-align: center;
    margin-top: 1rem;
    margin-left: auto;
    margin-right: auto;
  }
.revamp-homepage .special-offer-inner-pagination .swiper-pagination-bullet-active {
      background: var(--brand-primary-450);
    }
.revamp-homepage .special-offer-inner-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 4rem;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #606060;
    border-radius: 0.5rem;
    cursor: pointer;
    transition: background 0.3s ease;
  }
.revamp-homepage .special-offer-inner-nav svg {
      width: 2rem;
      height: 2rem;
      color: #ffffff;
    }
.revamp-homepage .special-offer-inner-nav:hover {
      background-color: #333333;
    }
.revamp-homepage .special-offer-inner-nav--prev {
    left: -4rem;
  }
.revamp-homepage .special-offer-inner-nav--next {
    right: -4rem;
  }
/* Outer slider: multiple promo pages */
.revamp-homepage .special-offer-outer-wrapper {
    position: relative;
  }
.revamp-homepage .special-offer-outer-swiper {
    overflow: hidden;
  }
.revamp-homepage .special-offer-outer-swiper > .swiper-wrapper > .swiper-slide {
      height: auto;
    }
.revamp-homepage .special-offer-outer-pagination {
    text-align: center;
    padding: 1rem 0 0.5rem;
  }
.revamp-homepage .special-offer-outer-pagination .swiper-pagination-bullet {
      width: 1rem;
      height: 1rem;
      background: #c9a96e;
      opacity: 0.5;
      margin: 0 0.4rem;
    }
.revamp-homepage .special-offer-outer-pagination .swiper-pagination-bullet-active {
      opacity: 1;
      background: var(--brand-primary-500);
    }
.revamp-homepage .special-offer-outer-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20;
    width: 4.5rem;
    height: 4.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(0, 0, 0, 0.45);
    border-radius: 50%;
    cursor: pointer;
    transition: background 0.3s ease;
  }
.revamp-homepage .special-offer-outer-nav svg {
      width: 2.2rem;
      height: 2.2rem;
      color: #ffffff;
    }
.revamp-homepage .special-offer-outer-nav:hover {
      background-color: rgba(0, 0, 0, 0.7);
    }
.revamp-homepage .special-offer-outer-nav--prev {
    left: 1rem;
  }
.revamp-homepage .special-offer-outer-nav--next {
    right: 1rem;
  }
/* Promo Card */
.revamp-homepage .promo-card {
    height: 100%;
    border-radius: 0.7rem;
    overflow: hidden;
    box-shadow: 2px 2px 3px 1px rgba(108, 117, 125, 0.39);
    background: #ffffff;
    margin-bottom: 1rem;
  }
.revamp-homepage .promo-card__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
    color: inherit;
    -webkit-user-drag: none;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }
.revamp-homepage .promo-card__link img {
      pointer-events: none;
      -webkit-user-drag: none;
    }
.revamp-homepage .promo-card__badges {
    position: absolute;
    z-index: 10;
    display: flex;
    gap: 0.5rem;
    padding: 0.5rem;
    flex-wrap: wrap;
    left: -15px;
  }
.revamp-homepage .promo-card__badge {
    position: relative;
    display: inline-flex;
    align-items: center;
  }
.revamp-homepage .promo-card__badge-bg {
    max-width: 110px;
  }
.revamp-homepage .promo-card__badge-text {
    font-family: "Roboto", sans-serif;
    position: absolute;
    font-size: 1.3rem;
    font-weight: bold;
    color: #ffffff;
    text-transform: uppercase;
    white-space: nowrap;
    padding-left: 1.5rem;
    margin-top: 0.2rem;
  }
.revamp-homepage .promo-card__image {
    position: relative;
    overflow: hidden;
  }
.revamp-homepage .promo-card__image img {
      width: 100%;
      height: 20rem;
      -o-object-fit: cover;
         object-fit: cover;
      display: block;
      transition: transform 0.4s ease;
    }
.revamp-homepage .promo-card__link:hover .promo-card__image img {
    transform: scale(1.05);
  }
.revamp-homepage .promo-card__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
  }
.revamp-homepage .promo-card__link:hover .promo-card__overlay {
    opacity: 1;
  }
.revamp-homepage .promo-card__view {
    color: #ffffff;
    font-family: var(--font-secondary);
    font-size: 1.4rem;
    font-weight: 600;
    padding: 0.8rem 2rem;
    border: 2px solid #ffffff;
    border-radius: var(--radius-md);
  }
.revamp-homepage .promo-card__info {
    padding: 1.2rem 1rem;
    background: #ffffff;
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    justify-content: flex-start;
    font-family: "Roboto", sans-serif;
  }
.revamp-homepage .promo-card__name {
    font-family: "Roboto", sans-serif;
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--brand-secondary-900);
    margin: 0;
    line-height: 1.3;
    text-align: center;
  }
.revamp-homepage .promo-card__location {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 1.2rem;
    color: #6c757d;
    margin: 0;
  }
.revamp-homepage .promo-card__location svg {
      flex-shrink: 0;
    }
.revamp-homepage .promo-card__launch {
    display: inline-block;
    background: #db2929;
    color: #ffffff;
    font-family: "Lato", sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    padding: 0.2rem 1rem;
    border-radius: 0.3rem;
    width: -moz-max-content;
    width: max-content;
    text-transform: uppercase;
  }
.revamp-homepage .promo-card__launch span {
      font-weight: 400;
      text-transform: none;
      margin-right: 0.4rem;
    }
.revamp-homepage .promo-card__price {
    font-size: 1.3rem;
    color: var(--brand-primary-500);
    font-weight: 600;
    border-top: 1px solid #bababa;
    padding-top: 1rem;
    margin-top: 1rem;
  }
.revamp-homepage .promo-card__price-row {
    line-height: 1.5;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    justify-content: center;
  }
.revamp-homepage .promo-card__price-label {
    color: #6c757d;
    font-weight: 600;
  }
.revamp-homepage .promo-card__price-divider {
    width: 0.1rem;
    height: 1.4rem;
    background: #6c757d;
    display: inline-block;
  }
@media (max-width: 992px) {
    .revamp-homepage .special-offer-body {
      aspect-ratio: unset;
    }

    .revamp-homepage .special-offer-container {
      flex-direction: column;
      align-items: flex-start;
      padding: 2rem;
    }

    .revamp-homepage .special-offer-cta-container {
      width: 100%;
      position: relative;
      left: 0vw;
      bottom: 0;
      margin-bottom: 1.5rem;
    }

    .revamp-homepage .special-offer-inner-nav--prev {
      left: -1rem;
    }

    .revamp-homepage .special-offer-inner-nav--next {
      right: -1rem;
    }

    .revamp-homepage .special-offer-card {
      position: relative;
      top: 0;
      right: 0;
      transform: none;
      width: 100%;
      padding: 1.5rem 3rem;
      margin: 0;
    }
  }
@media (max-width: 768px) {
    .revamp-homepage .special-offer-heading {
      padding: 2rem 1.5rem 1rem;
    }

    .revamp-homepage .special-offer-title {
      font-size: 1.8rem;
      padding: 0.6rem 3rem;
    }

    .revamp-homepage .special-offer-inner-nav {
      display: none;
    }

    .revamp-homepage .special-offer-outer-nav {
      width: 3.5rem;
      height: 3.5rem;
    }

    .revamp-homepage .promo-card__image img {
      height: 16rem;
    }
  }
@media (min-width: 993px) {
    .revamp-homepage .special-offer-container {
      max-width: 100%;
    }

    .revamp-homepage .special-offer-card {
      margin-right: 2rem;
    }

    .revamp-homepage .promo-card__image img {
      height: 12rem;
    }
  }
@media (min-width: 1024px) {
    .revamp-homepage .promo-card__image img {
      height: 14rem;
    }
  }
@media (min-width: 1200px) {
    .revamp-homepage .special-offer-card {
      width: 65%;
      padding: 2rem 5rem;
      margin-right: 3rem;
    }

    .revamp-homepage .special-offer-cta-container {
      /* left: 3%;*/
    }

    .revamp-homepage .promo-card__image img {
      height: 16rem;
    }
  }
@media (min-width: 1280px) {
    .revamp-homepage .promo-card__image img {
      height: 20rem;
    }
  }
@media (min-width: 1400px) {
    .revamp-homepage .special-offer-card {
      width: 65%;
    }

    .revamp-homepage .special-offer-cta-container {
      /* left: 5%;*/
    }

    .revamp-homepage .promo-card__image img {
      height: 20rem;
    }
  }
/* =====================
     GLOBAL BUTTON
     Base class with shared transition behavior (modeled after .btn-hero).
     Exclude transform from transition so GSAP can handle it.
     Usage: <a class="btn btn--primary">...</a>
     ===================== */
.revamp-homepage .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 1rem 2.5rem;
    font-family: var(--font-secondary);
    font-size: 1.6rem;
    font-weight: 600;
    text-decoration: none;
    border: none;
    border-radius: var(--radius-lg);
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition:
      background 0.3s ease,
      box-shadow 0.3s ease,
      color 0.3s ease,
      border-color 0.3s ease;
  }
/* Shine sweep on hover — same effect as .btn-hero */
.revamp-homepage .btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
      90deg,
      transparent,
      rgba(255, 255, 255, 0.25),
      transparent
    );
    transition: left 0.5s ease;
    pointer-events: none;
  }
.revamp-homepage .btn:hover::before {
    left: 100%;
  }
/* Variant: filled brand color */
.revamp-homepage .btn--primary {
    background: var(--brand-primary-500);
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  }
.revamp-homepage .btn--primary:hover {
    background: var(--brand-primary-600);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
    color: #ffffff;
  }
/* Variant: dark filled */
.revamp-homepage .btn--dark {
    background: #1a1a1a;
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  }
.revamp-homepage .btn--dark:hover {
    background: #333333;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
    color: #ffffff;
  }
/* Variant: outlined */
.revamp-homepage .btn--outline {
    background: transparent;
    border: 2px solid currentColor;
  }
.revamp-homepage .btn--outline:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  }
/* Variant: white filled */
.revamp-homepage .btn--white {
    background: #ffffff;
    color: var(--brand-secondary-900);
    border: 2px solid var(--brand-secondary-900);
  }
.revamp-homepage .btn--white:hover {
    background: var(--neutral-100);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    color: var(--brand-secondary-900);
  }
/* Size: small */
.revamp-homepage .btn--sm {
    padding: 0.75rem 1.5rem;
  }
/* Size: large */
.revamp-homepage .btn--lg {
    padding: 1.25rem 3rem;
    font-weight: 700;
  }
/* ABOUT */
.revamp-homepage .about-section {
    position: relative;
    width: 100%;
    background: #ffffff;
    padding: 4rem 2rem 6rem;
    overflow: clip; /* clip instead of hidden — allows sticky to work*/
  }
.revamp-homepage .about-pattern {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0.8;
  }
.revamp-homepage .about-container{
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 15px;
  padding-left: 15px;
}
@media (min-width: 640px){

  .revamp-homepage .about-container{
    max-width: 640px;
  }
}
@media (min-width: 768px){

  .revamp-homepage .about-container{
    max-width: 768px;
  }
}
@media (min-width: 1024px){

  .revamp-homepage .about-container{
    max-width: 1024px;
  }
}
@media (min-width: 1280px){

  .revamp-homepage .about-container{
    max-width: 1280px;
    padding-right: 30px;
    padding-left: 30px;
  }
}
@media (min-width: 1540px){

  .revamp-homepage .about-container{
    max-width: 1540px;
  }
}
.revamp-homepage .about-container {
    position: relative;
    z-index: 1;
    margin: 0 auto;
  }
.revamp-homepage .about-top {
    display: grid;
    grid-template-columns: 1.15fr 1.35fr;
    gap: 4rem;
    align-items: flex-start;
    margin-bottom: 4rem;
  }
.revamp-homepage .about-logo {
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    height: auto;
    backface-visibility: hidden;
    position: sticky;
    top: 60px;
    align-self: flex-start;
  }
.revamp-homepage .about-logo--center {
    position: relative;
    top: auto;
    align-self: center;
  }
.revamp-homepage .about-logo-image {
    max-width: 100%;
    height: auto;
    max-height: 300px;
    -o-object-fit: contain;
       object-fit: contain;
  }
.revamp-homepage .about-content {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
  }
.revamp-homepage .about-label {
    display: flex;
    align-items: center;
    gap: 1rem;
    opacity: 0;
  }
.revamp-homepage .about-label-text {
    font-family: var(--font-secondary);
    font-size: clamp(1.6rem, 1.5rem + 0.2vw, 1.8rem);
    font-weight: 700;
    letter-spacing: 0.1rem;
    color: var(--text-tertiary);
    text-transform: uppercase;
    white-space: nowrap;
  }
.revamp-homepage .about-label-line {
    flex: 1;
    height: 1px;
    background: var(--neutral-300);
    max-width: 200px;
  }
.revamp-homepage .about-title {
    font-family: var(--font-secondary);
    font-size: clamp(2.4rem, 2.2rem + 1.5vw, 5rem);
    font-weight: 800;
    line-height: 1.2;
    margin: 0;
    opacity: 0;
  }
.revamp-homepage .about-title-primary {
    color: var(--brand-secondary-900);
  }
.revamp-homepage .about-title-secondary {
    color: var(--brand-primary-500);
  }
.revamp-homepage .about-section--default .about-title-primary {
    color: var(--brand-secondary-900);
  }
.revamp-homepage .about-description {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    opacity: 0;
  }
.revamp-homepage .about-description p {
    font-family: var(--font-secondary);
    line-height: 1.7;
    color: var(--text-primary);
    margin: 0;
    text-align: justify;
  }
.revamp-homepage .about-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 2.5rem;
    font-family: var(--font-secondary);
    font-size: clamp(1.6rem, 1.5rem + 0.2vw, 1.8rem);
    font-weight: 600;
    text-decoration: none;
    /* Exclude transform - GSAP handles scale */
    transition:
      background var(--transition-base),
      color var(--transition-base),
      border-color var(--transition-base),
      box-shadow var(--transition-base);
    width: -moz-fit-content;
    width: fit-content;
  }
.revamp-homepage .about-cta--dark {
    background: #000000;
    color: #ffffff;
    border: 2px solid #000000;
  }
.revamp-homepage .about-cta--dark:hover {
    background: #333333;
    border-color: #333333;
    color: #ffffff;
  }
.revamp-homepage .about-cta--primary {
    background: var(--brand-primary-450);
    color: #ffffff;
    border: 2px solid var(--brand-primary-450);
  }
.revamp-homepage .about-cta--primary:hover {
    background: var(--brand-primary-450);
    border-color: var(--brand-primary-450);
    color: #ffffff;
  }
.revamp-homepage .about-section--paramount-gading-serpong .about-cta--primary {
      background: var(--brand-secondary-900);
      border-color: var(--brand-secondary-900);
    }
.revamp-homepage .about-section--paramount-gading-serpong .about-cta--primary:hover {
        background: var(--brand-secondary-900);
        border-color: var(--brand-secondary-900);
        color: #ffffff;
      }
.revamp-homepage .about-section--paramount-village-semarang .about-cta--primary {
      background: var(--brand-secondary-900);
      border-color: var(--brand-secondary-900);
    }
.revamp-homepage .about-section--paramount-village-semarang .about-cta--primary:hover {
        background: var(--brand-secondary-900);
        border-color: var(--brand-secondary-900);
        color: #ffffff;
      }
.revamp-homepage .about-gallery {
    display: grid;
    grid-template-columns: minmax(0, 5.8fr) minmax(0, 4.2fr);
    gap: 1rem;
  }
.revamp-homepage .gallery-left {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
.revamp-homepage .gallery-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
  }
.revamp-homepage .gallery-right {
    display: flex;
  }
.revamp-homepage .gallery-item {
    overflow: hidden;
    border-radius: var(--radius-2xl);
    width: -webkit-fill-available;
    width: -moz-available;
    width: stretch;
    height: 100%;
    /* No transform transition on parent - GSAP handles reveal */
  }
.revamp-homepage .gallery-item img,
  .revamp-homepage .gallery-item video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
.revamp-homepage .gallery-item img {
    /* This is fine - only for hover zoom, not parent reveal */
    transition: transform 0.4s ease-out;
  }
.revamp-homepage .gallery-item:hover img {
    transform: scale(1.05);
  }
.revamp-homepage .gallery-item--small {
    aspect-ratio: 16 / 9;
  }
.revamp-homepage .gallery-item--large {
    height: 100%;
    aspect-ratio: 16 / 9;
  }
.revamp-homepage .gallery-item--large img,
  .revamp-homepage .gallery-item--large video {
    height: 100%;
  }
/* Hover enlarge effect (desktop only, toggled via flag)*/
@media (min-width: 768px) {
      .revamp-homepage .about-gallery--hover-enlarge .gallery-row .gallery-item {
        transition:
          transform 0.3s linear,
          clip-path 0.3s linear;
        clip-path: inset(0 round var(--radius-2xl));
      }

      .revamp-homepage .about-gallery--hover-enlarge .gallery-row:first-child .gallery-item:first-child {
        transform-origin: top left;
      }
      .revamp-homepage .about-gallery--hover-enlarge .gallery-row:first-child .gallery-item:last-child {
        transform-origin: top right;
      }
      .revamp-homepage .about-gallery--hover-enlarge .gallery-row:last-child .gallery-item:first-child {
        transform-origin: bottom left;
      }
      .revamp-homepage .about-gallery--hover-enlarge .gallery-row:last-child .gallery-item:last-child {
        transform-origin: bottom right;
      }

      .revamp-homepage .about-gallery--hover-enlarge .gallery-row .gallery-item:hover {
        transform: scale(1.5) !important;
      }

      .revamp-homepage .about-gallery--hover-enlarge .gallery-row:has(.gallery-item:first-child:hover)
        .gallery-item:last-child {
        transform: scale(1.5);
        clip-path: inset(0 0 0 67% round var(--radius-2xl));
      }
      .revamp-homepage .about-gallery--hover-enlarge .gallery-row:has(.gallery-item:last-child:hover)
        .gallery-item:first-child {
        transform: scale(1.5);
        clip-path: inset(0 67% 0 0 round var(--radius-2xl));
      }

      /* Clip vertically for other row*/
        .revamp-homepage .about-gallery--hover-enlarge:has(.gallery-row:first-child .gallery-item:hover) .gallery-row:last-child .gallery-item {
          clip-path: inset(50% 0 0 0 round var(--radius-2xl));
        }
        .revamp-homepage .about-gallery--hover-enlarge:has(.gallery-row:last-child .gallery-item:hover) .gallery-row:first-child .gallery-item {
          clip-path: inset(0 0 50% 0 round var(--radius-2xl));
        }

      @media (prefers-reduced-motion: reduce) {
        .revamp-homepage .about-gallery--hover-enlarge .gallery-row .gallery-item {
          transition: none;
        }
      }
  }
/* About Responsive */
@media (max-width: 767px) {
    .revamp-homepage .about-section {
      padding: 3rem 0rem 4rem;
    }

    .revamp-homepage .about-top {
      gap: 2rem;
    }

    .revamp-homepage .about-logo-image {
      max-height: 160px;
    }

    .revamp-homepage .about-gallery {
      grid-template-columns: 1fr;
    }

    .revamp-homepage .gallery-row {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
  }
@media (max-width: 640px) {
    .revamp-homepage .about-top {
      grid-template-columns: 1fr;
      gap: 2.5rem;
    }

    .revamp-homepage .about-logo {
      position: static;
    }

    .revamp-homepage .about-logo-image {
      max-height: 200px;
    }

    .revamp-homepage .about-gallery {
      grid-template-columns: 1fr;
      gap: 1rem;
    }

    .revamp-homepage .gallery-item--large {
      aspect-ratio: 16 / 9;
      height: auto;
    }
  }
@media (max-width: 520px) {
    .revamp-homepage .gallery-row {
      grid-template-columns: 1fr;
    }
  }
@media (max-width: 480px) {
    .revamp-homepage .about-section {
      padding: 2.5rem 0rem 3rem;
    }

    .revamp-homepage .about-label-line {
      max-width: 100px;
    }
  }
/* TOWNSHIP */
.revamp-homepage .township-section {
    position: relative;
    width: 100%;
    padding: 5rem 2rem;
    overflow: hidden;
  }
.revamp-homepage .township-background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
  }
.revamp-homepage .township-bg-image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
.revamp-homepage .township-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
  }
.revamp-homepage .township-dots {
    position: absolute;
    width: 120px;
    height: 200px;
    background-image: radial-gradient(
      circle,
      rgba(255, 255, 255, 0.3) 2px,
      transparent 2px
    );
    background-size: 12px 12px;
    z-index: 0;
    pointer-events: none;
  }
.revamp-homepage .township-dots--left {
    top: 2rem;
    left: 2rem;
  }
.revamp-homepage .township-dots--right {
    bottom: 2rem;
    right: 2rem;
  }
.revamp-homepage .township-container {
    position: relative;
    z-index: 2;
    margin: 0 auto;
  }
.revamp-homepage{
  --slider-nav-size: 48px;
  --slider-nav-gap: 1rem;
  --slider-nav-total: calc(
    (var(--slider-nav-size) + var(--slider-nav-gap)) * 2
  );
}
/* Slider wrapper breaks out of container so nav buttons sit outside the content area,*/
/* while the slide track itself stays aligned to container breakpoints.*/
/* Uses min() to prevent overflow at viewport edges (example: 1300px viewport with 1280px container + 2x48px nav).*/
.revamp-homepage .township-header {
    text-align: center;
    margin-bottom: 2.5rem;
  }
.revamp-homepage .township-title {
    font-family: var(--font-display);
    font-size: clamp(2.8rem, 2.4rem + 1.5vw, 4rem);
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 1rem;
  }
.revamp-homepage .township-subtitle {
    font-family: var(--font-secondary);
    color: rgba(255, 255, 255, 0.85);
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.6;
    text-align: justify;
    -moz-text-align-last: center;
         text-align-last: center;
  }
.revamp-homepage .township-categories {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
    margin-bottom: 2rem;
    position: relative;
    padding-bottom: 1rem;
  }
.revamp-homepage .category-btn {
    padding: 0.75rem 1.5rem;
    font-family: var(--font-secondary);
    font-size: clamp(1.6rem, 1.5rem + 0.2vw, 1.8rem);
    font-weight: 600;
    color: rgba(255, 255, 255, 0.8);
    background: transparent;
    border: none;
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: all var(--transition-base);
  }
.revamp-homepage .category-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
  }
.revamp-homepage .category-btn--active {
    background: var(--brand-primary-450);
    color: #ffffff;
  }
.revamp-homepage .category-divider {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 2px;
    background: rgba(255, 255, 255, 0.3);
  }
.revamp-homepage .township-slider-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-bottom: 2rem;
  }
.revamp-homepage .slider-nav {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: transparent;
    border: 2px solid var(--brand-primary-500);
    color: var(--brand-primary-500);
    cursor: pointer;
    transition: all var(--transition-base);
    display: flex;
    align-items: center;
    justify-content: center;
  }
/* .slider-nav--prev {*/
/*   left: -5%;*/
/* }*/
/* .slider-nav--next {*/
/*   right: -5%;*/
/* }*/
.revamp-homepage .slider-nav svg {
    width: 24px;
    height: 24px;
  }
.revamp-homepage .slider-nav:hover:not(:disabled) {
    background: var(--brand-primary-500);
    color: #ffffff;
    transform: scale(1.1);
  }
.revamp-homepage .slider-nav:disabled,
  .revamp-homepage .slider-nav.swiper-button-disabled {
    opacity: 0.3;
    cursor: not-allowed;
  }
/* slider container — clamps to Tailwind container breakpoints*/
/* but shrinks when viewport can't fit container + nav buttons.*/
.revamp-homepage .slider-container {
    width: 100%;
    max-width: calc(
      min(100%, calc(100vw - var(--slider-nav-total))) - 2rem - 15px - 15px
    );
  }
@media (min-width: 640px) {
    .revamp-homepage .slider-container {
      max-width: calc(
        min(640px, calc(100vw - var(--slider-nav-total))) - 2rem - 15px - 15px
      );
    }
  }
@media (min-width: 768px) {
    .revamp-homepage .slider-container {
      max-width: calc(
        min(768px, calc(100vw - var(--slider-nav-total))) - 2rem - 15px - 15px
      );
    }
  }
@media (min-width: 1024px) {
    .revamp-homepage .slider-container {
      max-width: calc(
        min(1024px, calc(100vw - var(--slider-nav-total))) - 2rem - 15px - 15px
      );
    }
  }
@media (min-width: 1280px) {
    .revamp-homepage .slider-container {
      max-width: calc(
        min(1280px, calc(100vw - var(--slider-nav-total))) - 2rem - 30px - 30px
      );
    }
  }
/* Product slider container — same as slider-container but adds +2rem +2rem, to compensate for product-slider's margin: -2rem (ribbon overflow space).*/
.revamp-homepage .product-slider-container {
    width: 100%;
    max-width: calc(
      min(100%, calc(100vw - var(--slider-nav-total))) - 2rem - 15px - 15px +
        2rem + 2rem
    );
  }
@media (min-width: 640px) {
    .revamp-homepage .product-slider-container {
      max-width: calc(
        min(640px, calc(100vw - var(--slider-nav-total))) - 2rem - 15px - 15px +
          2rem + 2rem
      );
    }
  }
@media (min-width: 768px) {
    .revamp-homepage .product-slider-container {
      max-width: calc(
        min(768px, calc(100vw - var(--slider-nav-total))) - 2rem - 15px - 15px +
          2rem + 2rem
      );
    }
  }
@media (min-width: 1024px) {
    .revamp-homepage .product-slider-container {
      max-width: calc(
        min(1024px, calc(100vw - var(--slider-nav-total))) - 2rem - 15px -
          15px + 2rem + 2rem
      );
    }
  }
@media (min-width: 1280px) {
    .revamp-homepage .product-slider-container {
      max-width: calc(
        min(1280px, calc(100vw - var(--slider-nav-total))) - 2rem - 30px -
          30px + 2rem + 2rem
      );
    }
  }
.revamp-homepage .township-slider {
    flex: 1;
    overflow: hidden;
  }
.revamp-homepage .township-card {
    display: block;
    width: 100%;
    min-width: 280px;
    border-radius: var(--radius-xl);
    overflow: hidden;
    position: relative;
    /* GSAP handles transform for reveal animation */
    transition: box-shadow 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
    aspect-ratio: 3 / 4;
  }
.revamp-homepage .township-card .card-title {
      height: calc(1.2em * 2);
    }
.revamp-homepage .township-card:hover {
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
  }
.revamp-homepage .card-image {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
  }
.revamp-homepage .card-image img {
    width: 100%;
    height: 55%;
    -o-object-fit: cover;
       object-fit: cover;
    /* transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1); */
  }
.revamp-homepage .township-card:hover .card-image img {
    /* transform: scale(1.1); */
  }
.revamp-homepage .card-image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
      to bottom,
      transparent 0%,
      rgba(0, 0, 0, 0.3) 100%
    );
    opacity: 0;
    transition: opacity 0.4s ease;
  }
.revamp-homepage .township-card:has(.card-content:hover) .card-image-overlay {
      opacity: 1;
      background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.5) 0%,
        rgba(0, 0, 0, 0.7) 100%
      );
    }
.revamp-homepage .card-content {
    padding: 1.75rem 1.5rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: center;
    justify-content: center;
    height: 45%;
  }
@media (max-width: 375px){

  .revamp-homepage .township-card--default .card-content{
    gap: 0.25rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }
}
.revamp-homepage .township-card--default .card-content {
    background: linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0.45) 0%,
      rgba(0, 0, 0, 0.45) 56.7%,
      rgba(0, 0, 0, 0.45) 53.3%,
      rgba(0, 0, 0, 0.45) 100%
    );
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    transition:
      height 0.5s cubic-bezier(0.4, 0, 0.2, 1),
      background 0.4s ease;
    overflow: hidden;
  }
.revamp-homepage .township-card--default .card-content:hover {
      height: 100%;
      background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.65) 0%,
        rgba(0, 0, 0, 0.65) 56.7%,
        rgba(0, 0, 0, 0) 53.3%,
        rgba(0, 0, 0, 0) 100%
      );
    }
.revamp-homepage .township-card--default .card-content:hover .card-description{
  overflow: visible;
  display: block;
  -webkit-box-orient: horizontal;
  -webkit-line-clamp: none;
}
.revamp-homepage .township-card--microsite .card-content {
    background: rgba(22, 50, 92, 0.65);
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    transition:
      height 0.5s cubic-bezier(0.4, 0, 0.2, 1),
      background 0.4s ease;
    overflow: hidden;
  }
.revamp-homepage .township-card--microsite .card-content:hover {
      height: 100%;
      background: rgba(22, 50, 92, 0.85);
    }
.revamp-homepage .township-card--microsite .card-content:hover .card-description{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
}
.revamp-homepage .card-title {
    font-family: var(--font-secondary);
    font-size: clamp(1.6rem, 1.5rem + 0.3vw, 2rem);
    font-weight: 600;
    color: #ffffff;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.05rem;
  }
.revamp-homepage .card-location {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
  }
.revamp-homepage .location-icon {
    width: 18px;
    height: 18px;
    color: #ef4444;
  }
.revamp-homepage .card-btn {
    display: inline-block;
    padding: 0.3rem 1.2rem;
    font-family: var(--font-secondary);
    font-weight: 600;
    color: #ffffff;
    background: transparent;
    border: 2px solid var(--brand-primary-450);
    border-radius: var(--radius-md);
    text-decoration: none;
    transition: all var(--transition-base);
  }
.revamp-homepage .card-btn:hover {
    background: var(--brand-primary-450);
    color: #ffffff;
    transform: scale(1.05);
  }
@media (min-width: 440px) {
    .revamp-homepage .card-content {
      gap: 2rem;
    }

    .revamp-homepage .card-btn {
      padding: 0.75rem 1.5rem;
    }
  }
.revamp-homepage .card-divider {
    width: 40%;
    height: 2px;
    background: var(--brand-primary-450);
    margin: 0 auto;
    border-radius: 2px;
    flex-shrink: 0;
  }
.revamp-homepage .card-description{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
    font-family: var(--font-secondary);
    font-size: clamp(1.6rem, 1.5rem + 0.2vw, 1.8rem);
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.5;
    margin: 0;
}
@media (min-width: 375px) {
    .revamp-homepage .card-description{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  }
.revamp-homepage .township-view-all {
    text-align: center;
    margin-top: 1rem;
  }
.revamp-homepage .view-all-btn {
    display: inline-block;
    padding: 1rem 2.5rem;
    font-family: var(--font-secondary);
    font-size: clamp(1.6rem, 1.5rem + 0.2vw, 1.8rem);
    font-weight: 600;
    text-decoration: none;
    border-radius: var(--radius-md);
    /* Exclude transform - GSAP handles scale */
    transition:
      background var(--transition-base),
      color var(--transition-base),
      border-color var(--transition-base),
      box-shadow var(--transition-base);
  }
.revamp-homepage .township-section--default .view-all-btn {
    background: var(--brand-primary-500);
    color: #ffffff;
    border: 2px solid var(--brand-primary-500);
  }
.revamp-homepage .township-section--paramount-petals .view-all-btn {
    background: #1a1a1a;
    color: #ffffff;
    border: 2px solid #1a1a1a;
  }
.revamp-homepage .township-section--paramount-gading-serpong .view-all-btn {
    background: #ffffff;
    color: var(--brand-secondary-900);
    border: 2px solid var(--brand-secondary-900);
  }
.revamp-homepage .township-section--paramount-village-semarang .view-all-btn {
    background: #1a1a1a;
    color: #ffffff;
    border: 2px solid #1a1a1a;
  }
.revamp-homepage .view-all-btn:hover {
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
  }
.revamp-homepage .township-section--paramount-petals .view-all-btn:hover {
    background: #333333;
    border-color: #333333;
    color: #ffffff;
  }
.revamp-homepage .township-section--paramount-gading-serpong .view-all-btn:hover {
    background: var(--brand-secondary-900);
    color: #ffffff;
    border-color: var(--brand-secondary-900);
  }
.revamp-homepage .township-section--paramount-village-semarang .view-all-btn:hover {
    background: #333333;
    border-color: #333333;
    color: #ffffff;
  }
/* Township Responsive */
@media (max-width: 1024px) {
    .revamp-homepage .township-card {
      flex: 0 0 calc(50% - 0.75rem);
    }
  }
@media (max-width: 767px) {
.revamp-homepage {

    --slider-nav-size: 40px
}
    .revamp-homepage .township-section {
      padding: 4rem 1.5rem;
    }

    .revamp-homepage .township-card {
      flex: 0 0 calc(100% - 1rem);
      min-width: 160px;
    }

    .revamp-homepage .slider-nav {
      width: 40px;
      height: 40px;
    }

    .revamp-homepage .slider-nav svg {
      width: 20px;
      height: 20px;
    }

    .revamp-homepage .township-categories {
      flex-wrap: nowrap;
      overflow-x: auto;
      justify-content: flex-start;
      gap: 0.25rem;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
      -ms-overflow-style: none;
    }

      .revamp-homepage .township-categories::-webkit-scrollbar {
        display: none;
      }

    .revamp-homepage .category-btn {
      flex-shrink: 0;
      padding: 0.5rem 1rem;
      font-size: 1.6rem;
    }

    .revamp-homepage .township-dots {
      display: none;
    }
  }
@media (max-width: 480px) {
.revamp-homepage {

    --slider-nav-total: 0px
}
    .revamp-homepage .township-section {
      padding: 3rem 1rem;
    }

    .revamp-homepage .slider-nav {
      display: none;
    }

    .revamp-homepage .township-slider-wrapper {
      gap: 0;
    }
  }
/* Header Responsive */
@media (max-width: 1023px) {
    .revamp-homepage .header-container {
      padding: 1rem 1.5rem;
    }

    .revamp-homepage .logo-image {
      height: 40px;
    }
  }
@media (max-width: 767px) {
    .revamp-homepage .header-container {
      padding: 1rem;
    }

    .revamp-homepage .logo-image {
      height: 36px;
    }
  }
/* AWARDS */
.revamp-homepage .awards-section {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
.revamp-homepage .awards-background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
  }
.revamp-homepage .awards-bg-image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
  }
.revamp-homepage .awards-container {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: end;
    min-height: 200px;
    max-height: 320px;
  }
/* Slider wrappers for synced dual-swiper layout*/
.revamp-homepage .awards-content-slider {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 2;
    pointer-events: none;
  }
.revamp-homepage .awards-content-slider .swiper {
      width: 100%;
      height: 100%;
    }
.revamp-homepage .awards-content-slider .swiper .swiper-slide {
        display: flex;
        visibility: hidden;
        align-items: center;
      }
.revamp-homepage .awards-content-slider .swiper .swiper-slide.swiper-slide-active.swiper-slide-visible {
          visibility: visible;
        }
.revamp-homepage .awards-content-slider .swiper .swiper-slide .awards-content {
          width: 100%;
          height: 100%;
        }
.revamp-homepage .awards-content-slider .swiper .swiper-slide:first-child .awards-logo {
            opacity: 0;
          }
.revamp-homepage .awards-content-slider .swiper .swiper-slide:first-child .awards-date {
            clip-path: inset(0 100% 0 0);
          }
.revamp-homepage .awards-content-slider .swiper .swiper-slide:first-child .awards-title {
            clip-path: inset(0 100% 0 0);
          }
.revamp-homepage .awards-content-slider .awards-content {
      height: 100%;
    }
.revamp-homepage .awards-content-slider a,
    .revamp-homepage .awards-content-slider button {
      pointer-events: auto;
    }
.revamp-homepage .awards-banner-slider {
    flex-shrink: 0;
    width: 38%;
    height: 100%;
    position: relative;
    z-index: 1;
    opacity: 0;
  }
.revamp-homepage .awards-banner-slider .swiper {
      width: 100%;
      height: 100%;
    }
.revamp-homepage .awards-banner-slider .swiper .swiper-wrapper {
        align-items: center;
      }
.revamp-homepage .awards-banner-slider .swiper .swiper-wrapper .swiper-slide {
          width: 100%;
          height: 100%;
        }
.revamp-homepage .awards-banner-clip {
    width: 100%;
    height: 100%;
    clip-path: polygon(19.2% 0%, 100% 0%, 100% 100%, 0% 100%);
    overflow: hidden;
  }
.revamp-homepage .awards-flare {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    pointer-events: none;
  }
.revamp-homepage .awards-flare__line {
    position: absolute;
    top: 0;
    left: -1px;
    width: 100%;
    height: 100%;
    filter: drop-shadow(0 0 2px rgba(255, 220, 100, 0.9))
      drop-shadow(0 0 6px rgba(255, 200, 60, 0.6));
  }
.revamp-homepage .awards-flare__glow {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    filter: blur(6px);
    opacity: 0.7;
  }
.revamp-homepage .awards-flare__core {
    position: absolute;
    top: 67%;
    left: 6.3%;
    height: 15%;
    aspect-ratio: 1;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: radial-gradient(
      circle,
      #fffef0 0%,
      #ffc240 20%,
      rgba(255, 140, 0, 0.7) 40%,
      rgba(255, 180, 30, 0.2) 65%,
      transparent 80%
    );
    animation: awards-flare-pulse 3s ease-in-out infinite;
  }
.revamp-homepage .awards-flare__streak {
    position: absolute;
    top: 67%;
    width: 140px;
    height: 3px;
    transform: translateY(-50%) translateX(-20%);
    background: linear-gradient(
      90deg,
      transparent 0%,
      rgba(255, 210, 80, 0.2) 15%,
      rgba(255, 230, 130, 0.7) 40%,
      #fff8d0 50%,
      rgba(255, 230, 130, 0.7) 60%,
      rgba(255, 210, 80, 0.2) 85%,
      transparent 100%
    );
    filter: blur(1px);
    animation: awards-flare-pulse 3s ease-in-out infinite;
  }
/* Star spikes at the core*/
.revamp-homepage .awards-flare__spikes {
    position: absolute;
    top: 67%;
    left: 6.3%;
    transform: translate(-50%, -50%);
  }
.revamp-homepage .awards-flare__spikes span {
      position: absolute;
      top: 50%;
      left: 50%;
      background: linear-gradient(
        180deg,
        transparent 0%,
        rgba(255, 230, 130, 0.6) 40%,
        #fff8d0 50%,
        rgba(255, 230, 130, 0.6) 60%,
        transparent 100%
      );
    }
.revamp-homepage .awards-flare__spikes span:first-child {
      width: 2px;
      height: 70px;
      transform: translate(-50%, -50%);
    }
.revamp-homepage .awards-flare__spikes span:last-child {
      width: 1.5px;
      height: 50px;
      transform: translate(-50%, -50%) rotate(45deg);
    }
.revamp-homepage .awards-flare__sparkling {
    position: absolute;
    top: 67%;
    left: 6.3%;
    transform: translate(-50%, -50%);
    width: auto;
    height: 30%;
    max-height: 320px;
    -o-object-fit: contain;
       object-fit: contain;
    pointer-events: none;
    opacity: 0.85;
    mix-blend-mode: screen;
    filter: saturate(1.5);
    animation: sparkling-pulse 3s ease-in-out infinite;
  }
.revamp-homepage .awards-content{
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 15px;
  padding-left: 15px;
}
@media (min-width: 640px){

  .revamp-homepage .awards-content{
    max-width: 640px;
  }
}
@media (min-width: 768px){

  .revamp-homepage .awards-content{
    max-width: 768px;
  }
}
@media (min-width: 1024px){

  .revamp-homepage .awards-content{
    max-width: 1024px;
  }
}
@media (min-width: 1280px){

  .revamp-homepage .awards-content{
    max-width: 1280px;
    padding-right: 30px;
    padding-left: 30px;
  }
}
@media (min-width: 1540px){

  .revamp-homepage .awards-content{
    max-width: 1540px;
  }
}
.revamp-homepage .awards-content {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 4rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
    flex: 1;
  }
.revamp-homepage a.awards-content-link {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
  }
.revamp-homepage a.awards-content-link .awards-title {
      -webkit-text-decoration: underline transparent;
              text-decoration: underline transparent;
      text-underline-offset: 4px;
      transition: text-decoration-color 0.3s ease;
    }
.revamp-homepage a.awards-content-link:hover .awards-title {
      text-decoration-color: currentColor;
    }
.revamp-homepage .awards-logo {
    flex-shrink: 0;
    position: absolute;
    right: 84%;
  }
.revamp-homepage .awards-logo-image {
    height: clamp(80px, 12vw, 180px);
    width: auto;
    -o-object-fit: contain;
       object-fit: contain;
  }
/* Award Text */
.revamp-homepage .awards-text {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-left: 16%;
  }
.revamp-homepage .awards-date {
    display: flex;
    align-items: center;
    gap: 1rem;
  }
.revamp-homepage .awards-date-text {
    font-family: var(--font-secondary);
    font-size: clamp(1.6rem, 1.5rem + 0.2vw, 1.8rem);
    font-weight: 600;
    letter-spacing: 0.1rem;
    color: #ffffff;
    text-transform: uppercase;
    white-space: nowrap;
  }
.revamp-homepage .awards-date-line {
    width: 100%;
    height: 2px;
    background: rgba(255, 255, 255, 0.5);
  }
.revamp-homepage .awards-title {
    font-family: var(--font-secondary);
    font-size: clamp(2rem, 1.6rem + 1.5vw, 4rem);
    font-weight: 700;
    line-height: 1.2;
    color: #ffffff;
    margin: 0;
    text-align: left;
  }
/* Awards navigation */
.revamp-homepage .awards-nav-container{
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 15px;
  padding-left: 15px;
}
@media (min-width: 640px){

  .revamp-homepage .awards-nav-container{
    max-width: 640px;
  }
}
@media (min-width: 768px){

  .revamp-homepage .awards-nav-container{
    max-width: 768px;
  }
}
@media (min-width: 1024px){

  .revamp-homepage .awards-nav-container{
    max-width: 1024px;
  }
}
@media (min-width: 1280px){

  .revamp-homepage .awards-nav-container{
    max-width: 1280px;
    padding-right: 30px;
    padding-left: 30px;
  }
}
@media (min-width: 1540px){

  .revamp-homepage .awards-nav-container{
    max-width: 1540px;
  }
}
.revamp-homepage .awards-nav-container {
    position: absolute;
    bottom: 1rem;
    z-index: 5;
    left: 50%;
    transform: translateX(-50%);
  }
.revamp-homepage .awards-nav {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    pointer-events: auto;
    margin-left: 16%;
    width: -moz-fit-content;
    width: fit-content;
  }
.revamp-homepage .awards-nav__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1;
    height: 24px;
    border-radius: 50%;
    border: 1.5px solid rgba(255, 255, 255, 0.4);
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.8);
    cursor: pointer;
    backdrop-filter: blur(4px);
    transition:
      background 0.3s ease,
      border-color 0.3s ease,
      color 0.3s ease;
    padding: 0;
  }
.revamp-homepage .awards-nav__btn:hover {
      background: rgba(255, 255, 255, 0.18);
      border-color: rgba(255, 255, 255, 0.7);
      color: #fff;
    }
.revamp-homepage .awards-nav__btn.swiper-button-disabled {
      opacity: 0.3;
      cursor: default;
      pointer-events: none;
    }
.revamp-homepage .awards-pagination {
    display: flex;
    align-items: center;
    gap: 6px;
  }
.revamp-homepage .awards-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.35);
    cursor: pointer;
    transition:
      background 0.3s ease,
      transform 0.3s ease,
      width 0.3s ease;
  }
.revamp-homepage .awards-dot:hover {
      background: rgba(255, 255, 255, 0.6);
    }
.revamp-homepage .awards-dot--active {
    background: #ffd260;
    width: 20px;
    border-radius: 4px;
    box-shadow: 0 0 6px rgba(255, 200, 60, 0.6);
  }
.revamp-homepage .awards-banner {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
  }
/* Standalone (single slide, not inside slider wrapper)*/
.awards-banner-slider > .revamp-homepage .awards-banner {
      clip-path: none;
    }
/* Standalone banner (single slide, no swiper wrapper)*/
.revamp-homepage .awards-container > .awards-banner {
    width: 43.8%;
    clip-path: polygon(16% 0%, 100% 0%, 100% 100%, 0% 98.8%);
  }
@media (min-width: 1112px) {
    .revamp-homepage .awards-container > .awards-banner {
      width: calc(44.4%);
    }
  }
@media (min-width: 1400px) {
    .revamp-homepage .awards-container > .awards-banner {
      width: calc(53.8% - 7.3vw);
    }
  }
.revamp-homepage .awards-banner-link {
    display: block;
    width: 100%;
    height: 100%;
    transition: transform 0.3s ease;
  }
.revamp-homepage .awards-banner-wrapper {
    width: 100%;
    height: 100%;
  }
.revamp-homepage .awards-banner-image {
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 50% 30%;
       object-position: 50% 30%;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    aspect-ratio: 16/8;
  }
.revamp-homepage .awards-banner-image:hover {
    transform: scale(1.05);
  }
/* Awards Section Responsive */
@media (max-width: 1028px) {
    .revamp-homepage .awards-banner-image {
      aspect-ratio: 16/10;
    }
  }
@media (max-width: 767px) {
    .revamp-homepage .awards-bg-image {
      max-height: 180px;
    }

    .revamp-homepage .awards-container {
      flex-direction: column;
      min-height: auto;
      max-height: none;
    }

    .revamp-homepage .awards-content-slider {
      position: relative;
      z-index: 1;
      pointer-events: auto;
      width: 100%;
      overflow: hidden;
    }

      .revamp-homepage .awards-content-slider .swiper {
        height: auto;
      }
        .revamp-homepage .awards-content-slider .swiper-slide .awards-content {
          height: auto;
        }

        /* Fade effect needs slides stacked; enforce non-active = hidden*/
        .revamp-homepage .awards-content-slider .swiper-slide:not(.swiper-slide-active) {
          opacity: 0 !important;
          pointer-events: none;
        }

        .revamp-homepage .awards-content-slider .swiper-slide.swiper-slide-active {
          opacity: 1 !important;
          pointer-events: auto;
        }

    .revamp-homepage .awards-banner-slider {
      width: 100%;
    }

    .revamp-homepage .awards-banner-clip {
      clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
      position: relative;
    }

      .revamp-homepage .awards-banner-clip::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 30%;
        background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
        pointer-events: none;
        z-index: 1;
      }

    .revamp-homepage .awards-flare {
      display: none;
    }

    .revamp-homepage .awards-content {
      position: relative;
      left: auto;
      transform: none;
      width: 100%;
      padding: 4rem 1.5rem 2rem;
      justify-content: center;
      text-align: center;
      /* flex-direction: column;*/
      gap: 1rem;
    }

    .revamp-homepage .awards-logo {
      position: static;
    }

    .revamp-homepage .awards-text {
      margin-left: 0;
    }

    .revamp-homepage .awards-date {
      justify-content: center;
      position: absolute;
      margin-left: 1rem;
      margin-top: 1rem;
      width: 100%;
      left: 0;
      top: 0;
    }

    .revamp-homepage .awards-date-text {
      letter-spacing: unset;
      text-transform: none;
    }

    .revamp-homepage .awards-date-line {
      display: none;
    }

    .revamp-homepage .awards-title {
      text-align: center;
    }

    .revamp-homepage .awards-nav-container {
      left: unset;
      transform: none;
      bottom: 0.5rem;
    }

    .revamp-homepage .awards-nav {
      margin-left: auto;
      margin-right: auto;
      justify-content: center;
    }

    .revamp-homepage .awards-banner,
    .revamp-homepage .awards-container > .awards-banner {
      width: 100%;
      max-width: none;
      clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
    }
  }
@media (max-width: 480px) {
    .revamp-homepage .awards-bg-image {
      max-height: 150px;
    }

    .revamp-homepage .awards-content {
      padding: 4rem 1rem 1.5rem;
    }

    .revamp-homepage .awards-date-text {
      font-size: 13px;
    }

    .revamp-homepage .awards-title {
      font-size: 16px;
    }

    .revamp-homepage .awards-logo-image {
      height: 70px;
    }

    .revamp-homepage .awards-banner,
    .revamp-homepage .awards-container > .awards-banner {
      height: 180px;
    }
  }
/* SALE (Microsites only) */
.revamp-homepage .sale-section {
    position: relative;
    padding: 4rem 0;
    background: #ffffff;
  }
.revamp-homepage .sale-pattern {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0.8;
  }
.revamp-homepage .sale-container {
    margin: 0 auto;
  }
/* Filter */
.revamp-homepage .sale-section {
    position: relative;
  }
.revamp-homepage .sale-filter {
    margin-bottom: 3rem;
    z-index: 50;
    transition:
      box-shadow 0.4s ease,
      top 0.4s ease;
    border-radius: var(--radius-lg);
    opacity: 0;
    position: relative;
  }
.revamp-homepage .sale-filter.is-fixed {
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    }
.revamp-homepage .sale-filter.is-fixed + .sale-filter-placeholder {
        display: block;
      }
.revamp-homepage .sale-filter.is-bottomed {
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    }
.revamp-homepage .sale-filter.is-bottomed + .sale-filter-placeholder {
        display: block;
      }
.revamp-homepage .sale-filter.show-blur::before {
      content: "";
      backdrop-filter: blur(10px);
      left: -100%;
      position: fixed;
      top: -100%;
      right: -100%;
      bottom: 99%;
      z-index: -1;
      background-color: rgba(255, 255, 255, 0.6);
    }
.revamp-homepage .sale-filter-placeholder {
    display: none;
    margin-bottom: 3rem;
  }
.revamp-homepage .filter-container {
    display: flex;
    align-items: stretch;
    background: #ffffff;
    border-radius: var(--radius-lg);
    border: 3px solid #ffffff;
    box-shadow:
      0 0 0 1px rgba(0, 0, 0, 0.1),
      0 4px 20px rgba(0, 0, 0, 0.08);
    overflow: visible;
  }
.revamp-homepage .filter-column {
    flex: 1;
    padding: 1.25rem 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
  }
.revamp-homepage .filter-column--action {
    flex: 0 0 auto;
    padding: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
.revamp-homepage .filter-divider {
    width: 1px;
    background: linear-gradient(
      to bottom,
      transparent 15%,
      rgba(0, 0, 0, 0.15) 15%,
      rgba(0, 0, 0, 0.15) 85%,
      transparent 85%
    );
  }
.revamp-homepage .filter-label {
    font-family: var(--font-secondary);
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--neutral-800);
    margin-bottom: 0.25rem;
  }
.revamp-homepage .filter-select {
    position: relative;
    display: flex;
    align-items: center;
  }
.revamp-homepage .filter-dropdown {
    width: 100%;
    font-family: var(--font-secondary);
    font-size: 1.6rem;
    color: var(--neutral-500);
    background: transparent;
    border: none;
    padding-right: 2rem;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    font-style: italic;
  }
.revamp-homepage .filter-dropdown:focus {
    outline: none;
  }
.revamp-homepage .filter-chevron {
    position: absolute;
    right: 0;
    width: 16px;
    height: 16px;
    color: var(--neutral-400);
    pointer-events: none;
  }
/* ---- Custom Select (cs-*) ---- */
.revamp-homepage .cs-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
    padding: 0 !important;
    margin: -1px !important;
  }
.revamp-homepage .cs-dropdown {
    position: relative;
    width: 100%;
  }
.revamp-homepage .cs-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: transparent;
    border: none;
    padding: 0;
    padding-right: 0.25rem;
    cursor: pointer;
    font-family: var(--font-secondary);
    font-size: 1.6rem;
    color: var(--neutral-400);
    font-style: italic;
    text-align: left;
    line-height: 1.4;
    gap: 0.5rem;
  }
.revamp-homepage .cs-trigger:focus {
    outline: none;
  }
.revamp-homepage .cs-trigger--has-value {
    color: var(--neutral-700);
    font-style: normal;
  }
.revamp-homepage .cs-trigger__text {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-style: italic;
  }
.revamp-homepage .cs-trigger__icon {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    color: var(--neutral-400);
    transition: transform 0.2s ease;
  }
.revamp-homepage .cs-dropdown--open .cs-trigger__icon {
    transform: rotate(180deg);
  }
.revamp-homepage .cs-listbox {
    position: absolute;
    top: calc(100% + 12px);
    left: -1.5rem;
    min-width: calc(100% + 3rem);
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: var(--radius-md);
    box-shadow:
      0 8px 24px rgba(0, 0, 0, 0.12),
      0 2px 8px rgba(0, 0, 0, 0.06);
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition:
      opacity 0.15s ease,
      transform 0.15s ease,
      visibility 0.15s ease;
    padding: 0.5rem 0;
    max-height: 260px;
    overflow-y: auto;
  }
.revamp-homepage .cs-dropdown--open .cs-listbox {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
.revamp-homepage .cs-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.65rem 1.25rem;
    cursor: pointer;
    font-family: var(--font-secondary);
    font-size: 1.5rem;
    color: var(--neutral-600);
    transition:
      background 0.12s ease,
      color 0.12s ease;
    gap: 0.75rem;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }
.revamp-homepage .cs-option:hover {
    background: rgba(0, 0, 0, 0.04);
    color: var(--neutral-800);
  }
.revamp-homepage .cs-option--active {
    color: var(--neutral-900);
    font-weight: 600;
    background: rgba(0, 0, 0, 0.03);
  }
.revamp-homepage .cs-option__text {
    flex: 1;
    white-space: nowrap;
  }
.revamp-homepage .cs-option__check {
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    color: var(--brand-secondary-900);
  }
.revamp-homepage .sale-section--paramount-petals .cs-option__check {
    color: var(--brand-primary-500);
  }
.revamp-homepage .sale-section--paramount-village-semarang .cs-option__check {
    color: var(--brand-secondary-500);
  }
.revamp-homepage .cs-listbox::-webkit-scrollbar {
    width: 4px;
  }
.revamp-homepage .cs-listbox::-webkit-scrollbar-track {
    background: transparent;
  }
.revamp-homepage .cs-listbox::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.15);
    border-radius: 4px;
  }
.revamp-homepage .filter-btn {
    padding: 1rem 2.5rem;
    font-family: var(--font-secondary);
    font-size: 1.6rem;
    font-weight: 600;
    color: #ffffff;
    border: none;
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: all var(--transition-base);
    white-space: nowrap;
  }
.revamp-homepage .sale-section--paramount-gading-serpong .filter-btn {
    background: var(--brand-secondary-900);
  }
.revamp-homepage .sale-section--paramount-gading-serpong .filter-btn:hover {
    background: var(--brand-secondary-950);
  }
.revamp-homepage .sale-section--paramount-petals .filter-btn {
    background: var(--brand-primary-500);
  }
.revamp-homepage .sale-section--paramount-petals .filter-btn:hover {
    background: var(--brand-primary-600);
  }
.revamp-homepage .sale-section--paramount-village-semarang .filter-btn {
    background: var(--brand-secondary-500);
  }
.revamp-homepage .sale-section--paramount-village-semarang .filter-btn:hover {
    background: var(--brand-secondary-600);
  }
/* Filter Responsive */
/* Mobile filter toggle - hidden on desktop */
.revamp-homepage .filter-toggle {
    display: none;
  }
@media (max-width: 767px) {
.revamp-homepage {
    /* Floating toggle button */

    /* When filter is expanded */

    /* Collapsed state (default on mobile) */
}
    .revamp-homepage .filter-toggle {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 48px;
      height: 48px;
      border-radius: var(--radius-md);
      border: none;
      background: var(--brand-secondary-900);
      color: #fff;
      cursor: pointer;
      position: absolute;
      top: 0;
      right: 0;
      z-index: 2;
      box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
      transition:
        background 0.2s ease,
        border-radius 0.3s ease;
    }

    .revamp-homepage .sale-section--paramount-petals .filter-toggle {
      background: var(--brand-primary-500);
    }

    .revamp-homepage .sale-section--paramount-village-semarang .filter-toggle {
      background: var(--brand-secondary-500);
    }

    .revamp-homepage .filter-toggle__icon {
      width: 20px;
      height: 20px;
      position: absolute;
      transition:
        opacity 0.2s ease,
        transform 0.2s ease;
    }

    .revamp-homepage .filter-toggle__icon--close {
      opacity: 0;
      transform: rotate(-90deg);
    }
    .revamp-homepage .sale-filter.filter-open .filter-toggle {
      background: transparent;
      box-shadow: none;
      color: var(--neutral-500);
      border-radius: 0;
    }

    .revamp-homepage .sale-filter.filter-open .filter-toggle__icon--open {
      opacity: 0;
      transform: rotate(90deg);
    }

    .revamp-homepage .sale-filter.filter-open .filter-toggle__icon--close {
      opacity: 1;
      transform: rotate(0deg);
    }
    .revamp-homepage .sale-filter {
      position: relative;
      overflow: hidden;
    }

    .revamp-homepage .sale-filter:not(.filter-open) {
      background: transparent;
      border-radius: var(--radius-md);
      margin-left: auto;
      margin-bottom: 1rem;
    }

    .revamp-homepage .filter-container {
      flex-wrap: wrap;
    }

    .revamp-homepage .sale-filter:not(.filter-open) .filter-container {
      opacity: 0;
      pointer-events: none;
      overflow: hidden;
    }

    .revamp-homepage .filter-column {
      flex: 1 1 calc(50% - 1px);
      min-width: 200px;
    }

    .revamp-homepage .filter-column--action {
      flex: 1 1 100%;
      border-top: 1px solid rgba(0, 0, 0, 0.1);
      padding: 1rem;
    }

    .revamp-homepage .filter-divider {
      display: none;
    }

      .revamp-homepage .filter-divider:nth-of-type(2) {
        display: block;
        width: auto;
        height: 1px;
        flex: 1 1 100%;
        background: linear-gradient(
          to right,
          transparent 5%,
          rgba(0, 0, 0, 0.15) 5%,
          rgba(0, 0, 0, 0.15) 95%,
          transparent 95%
        );
      }

    .revamp-homepage .sale-filter.filter-open {
      margin-bottom: 1rem;
    }

    .revamp-homepage .sale-filter.filter-open .filter-container {
      opacity: 1;
      pointer-events: auto;
    }
  }
@media (max-width: 600px) {
    .revamp-homepage .filter-column {
      flex: 1 1 100%;
      border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    }

    .revamp-homepage .filter-column:last-of-type {
      border-bottom: none;
    }

    .revamp-homepage .filter-btn {
      width: 100%;
    }
  }
/* ----------------------------------------
       PRODUCT TYPE SECTION
       ---------------------------------------- */
.revamp-homepage .product-type-section {
    margin-bottom: 3rem;
    position: relative;
  }
.revamp-homepage .product-type-section .product-type-header {
      display: flex;
      align-items: center;
      gap: 1.5rem;
      margin-bottom: 2rem;
    }
.revamp-homepage .product-type-section .product-type-title {
      font-family: var(--font-display);
      font-size: clamp(2.4rem, 2rem + 1.2vw, 3.2rem);
      font-weight: 700;
      color: var(--neutral-900);
      margin: 0;
      white-space: nowrap;
    }
.revamp-homepage .product-type-section .product-type-line {
      flex: 1;
      height: 2px;
      background: var(--neutral-300);
    }
/* ----------------------------------------
         PRODUCT SLIDER
         ---------------------------------------- */
.revamp-homepage .product-type-section .product-slider-wrapper {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: var(--slider-nav-gap);
    }
.revamp-homepage .product-type-section .product-slider {
      flex: 1;
      overflow: hidden;
      /* Ribbon overflow space */
      margin: -2rem;
      padding: 2rem;
    }
.revamp-homepage .product-type-section .product-slider__track {
      display: flex;
    }
.revamp-homepage .product-type-section .product-nav {
      flex-shrink: 0;
      width: 48px;
      height: 48px;
      border-radius: 5%;
      background: var(--neutral-800);
      border: none;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: all var(--transition-base);
      z-index: 2;
    }
.revamp-homepage .product-type-section .product-nav:hover:not(:disabled):not(.swiper-button-disabled) {
      background: var(--neutral-900);
      transform: scale(1.05);
    }
.revamp-homepage .product-type-section .product-nav:disabled {
      opacity: 0.5;
      cursor: not-allowed;
    }
.revamp-homepage .product-type-section .product-nav.swiper-button-disabled {
      opacity: 0.5;
      cursor: not-allowed;
    }
.revamp-homepage .product-type-section .product-nav svg {
      width: 24px;
      height: 24px;
      color: #ffffff;
    }
/* PROPERTY CARD */
.revamp-homepage .product-type-section .property-card {
      width: 100%;
      position: relative;
      /* GSAP handles transform for reveal, keep box-shadow for hover */
      transition: box-shadow var(--transition-base);
      aspect-ratio: 2/3;
    }
.revamp-homepage .product-type-section .property-card:hover {
      box-shadow: 0 12px 20px rgba(0, 0, 0, 0.15);
    }
.revamp-homepage .product-type-section .property-card__content {
      display: flex;
      flex-direction: column;
      border-radius: var(--radius-lg);
      overflow: hidden;
      position: relative;
      height: 100%;
    }
.revamp-homepage .product-type-section .property-card__ribbon {
      position: absolute;
      top: -2%;
      right: -3.5%;
      width: 40%;
      height: auto;
      z-index: 10;
      pointer-events: none;
    }
.revamp-homepage .product-type-section .property-card--sold-out .property-card__overlay {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 45%;
      background: rgba(0, 0, 0, 0.55);
      z-index: 4;
      pointer-events: none;
    }
.revamp-homepage .product-type-section .property-card__image {
      position: relative;
      width: 100%;
      height: 55%;
      overflow: hidden;
    }
.revamp-homepage .product-type-section .property-card__image a {
      display: block;
      width: 100%;
      height: 100%;
    }
.revamp-homepage .product-type-section .property-card__image img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover;
      /* transition: transform var(--transition-base); */
    }
.revamp-homepage .product-type-section .property-card:hover .property-card__image img {
      /* transform: scale(1.05); */
    }
.revamp-homepage .product-type-section .property-card__info {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      width: 92%;
      background: rgba(25, 25, 25, 0.8);
      padding: 1rem 1.25rem;
      z-index: 3;
      border-radius: var(--radius-sm);
      text-align: center;
      top: 47.5%;
    }
.revamp-homepage .product-type-section .property-card__name {
      font-family: var(--font-secondary);
      font-size: 1.6rem;
      font-weight: 700;
      margin: 0 0 0.25rem 0;
      line-height: 1.3;
    }
.revamp-homepage .product-type-section .property-card__name a {
      color: var(--brand-primary-400);
      text-decoration: none;
      transition: all var(--transition-fast);
    }
.revamp-homepage .product-type-section [data-section-class="sale-section--paramount-gading-serpong"]
      .property-card__name
      a {
      color: var(--brand-primary-600);
    }
.revamp-homepage .product-type-section [data-section-class="sale-section--paramount-petals"]
      .property-card__name
      a {
      color: #e91e8c;
    }
.revamp-homepage .product-type-section [data-section-class="sale-section--paramount-village-semarang"]
      .property-card__name
      a {
      color: #f5a623;
    }
.revamp-homepage .product-type-section .property-card__name a:hover {
      opacity: 0.8;
    }
.revamp-homepage .product-type-section .property-card__location {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.35rem;
      margin-bottom: 0.75rem;
    }
.revamp-homepage .product-type-section .property-card__location svg {
      color: #ffffff;
      opacity: 0.8;
      flex-shrink: 0;
    }
.revamp-homepage .product-type-section .property-card__location span {
      font-family: var(--font-secondary);
      font-size: 1.2rem;
      color: #ffffff;
      opacity: 0.8;
    }
.revamp-homepage .product-type-section .property-card__facilities {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0;
    }
.revamp-homepage .product-type-section .facility-column {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.3rem;
      padding: 0 0.5rem;
    }
.revamp-homepage .product-type-section .facility-icon {
      display: flex;
      align-items: center;
      justify-content: center;
    }
.revamp-homepage .product-type-section .facility-icon svg {
      width: 28px;
      height: 28px;
      color: #ffffff;
      opacity: 0.9;
      border: 1px solid rgba(255, 255, 255, 0.6);
      border-radius: 50%;
      padding: 5px;
    }
.revamp-homepage .product-type-section .facility-label {
      font-family: var(--font-secondary);
      font-size: 1.2rem;
      color: #ffffff;
      white-space: nowrap;
      text-align: center;
    }
/* Spans icon height only */
.revamp-homepage .product-type-section .facility-divider {
      width: 1px;
      height: 28px;
      background: rgba(255, 255, 255, 0.4);
      align-self: flex-start;
      margin-top: 5px;
      flex-shrink: 0;
    }
.revamp-homepage .product-type-section .property-card__price {
      padding: 3rem 1.25rem 1.25rem 1.25rem;
      text-align: center;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      height: 45%;
      position: relative;
      overflow: hidden;
    }
.revamp-homepage .product-type-section .property-card__price::before {
        content: "";
        position: absolute;
        inset: 0;
        background: url("../images/examples/product_card_wave_bg_2.png")
          no-repeat center bottom / cover;
        /* bottom: -20%;*/
        bottom: 12%;
        pointer-events: none;
        z-index: 0;
        background-size: contain;
      }
.revamp-homepage .product-type-section .property-card__price .price-label,
      .revamp-homepage .product-type-section .property-card__price .price-value {
        position: relative;
        z-index: 1;
      }
.revamp-homepage .product-type-section .property-card__price.price--paramount-gading-serpong {
      background: linear-gradient(135deg, #1a365d 0%, #2c5282 100%);
    }
.revamp-homepage .product-type-section .property-card__price.price--paramount-petals {
      background: linear-gradient(
        135deg,
        var(--brand-primary-600) 0%,
        var(--brand-primary-500) 100%
      );
    }
.revamp-homepage .product-type-section .property-card__price.price--paramount-village-semarang {
      background: linear-gradient(135deg, #1a365d 0%, #2c5282 100%);
    }
.revamp-homepage .product-type-section .price-label {
      font-family: var(--font-secondary);
      font-size: 1.6rem;
      color: #ffffff;
      opacity: 0.9;
    }
.revamp-homepage .product-type-section .price-value {
      font-family: var(--font-display);
      font-size: clamp(1.6rem, 1.4rem + 0.5vw, 1.8rem);
      font-weight: 600;
      color: #ffffff;
    }
/* Property Card Responsive */
@media (max-width: 1280px) {
      .revamp-homepage .product-type-section .property-card {
        flex: 0 0 calc(33.333% - 1rem);
        min-width: calc(33.333% - 1rem);
      }
    }
@media (max-width: 1024px) {
.revamp-homepage .product-type-section {

      --slider-nav-size: 40px
  }
      .revamp-homepage .product-type-section .property-card {
        flex: 0 0 calc(50% - 0.75rem);
        min-width: calc(50% - 0.75rem);
      }

      .revamp-homepage .product-type-section .product-nav {
        width: 40px;
        height: 40px;
      }

      .revamp-homepage .product-type-section .product-nav svg {
        width: 20px;
        height: 20px;
      }
    }
@media (max-width: 767px) {
      .revamp-homepage .product-type-section .sale-section {
        padding: 3rem 0;
      }

      .revamp-homepage .product-type-section .sale-container {
        padding: 0 1rem;
      }

      .revamp-homepage .product-type-section .property-card {
        flex: 0 0 85%;
        min-width: 85%;
      }

      .revamp-homepage .product-type-section .property-card__info {
        width: 95%;
        padding: 0.75rem 1rem;
      }

      .revamp-homepage .product-type-section .property-card__facilities {
        gap: 0.25rem;
      }

      .revamp-homepage .product-type-section .facility-icon svg {
        width: 24px;
        height: 24px;
        padding: 4px;
      }

      .revamp-homepage .product-type-section .facility-divider {
        height: 24px;
      }

      .revamp-homepage .product-type-section .facility-label {
        font-size: 1.2rem;
      }
    }
@media (max-width: 480px) {
.revamp-homepage .product-type-section {

      --slider-nav-total: 0px
  }
      .revamp-homepage .product-type-section .property-card {
        flex: 0 0 100%;
        min-width: 100%;
      }

      .revamp-homepage .product-type-section .product-slider-wrapper {
        flex-direction: column;
        gap: 1rem;
      }

      .revamp-homepage .product-type-section .product-nav {
        display: none;
      }

      .revamp-homepage .product-type-section .product-slider {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
      }

      .revamp-homepage .product-type-section .product-slider::-webkit-scrollbar {
        display: none;
      }

      .revamp-homepage .product-type-section .property-card {
        scroll-snap-align: start;
      }
    }
/* ----------------------------------------
       SALE EMPTY STATE
       ---------------------------------------- */
.revamp-homepage .sale-empty{
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 15px;
  padding-left: 15px;
}
@media (min-width: 640px){

  .revamp-homepage .sale-empty{
    max-width: 640px;
  }
}
@media (min-width: 768px){

  .revamp-homepage .sale-empty{
    max-width: 768px;
  }
}
@media (min-width: 1024px){

  .revamp-homepage .sale-empty{
    max-width: 1024px;
  }
}
@media (min-width: 1280px){

  .revamp-homepage .sale-empty{
    max-width: 1280px;
    padding-right: 30px;
    padding-left: 30px;
  }
}
@media (min-width: 1540px){

  .revamp-homepage .sale-empty{
    max-width: 1540px;
  }
}
.revamp-homepage .sale-empty {
    padding: 6rem 2rem;
  }
.revamp-homepage .sale-empty__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 5rem 2rem;
    border-radius: var(--radius-lg);
    background: linear-gradient(
      135deg,
      rgba(0, 0, 0, 0.02) 0%,
      rgba(0, 0, 0, 0.04) 100%
    );
    border: 1px dashed rgba(0, 0, 0, 0.12);
  }
.revamp-homepage .sale-empty__icon {
    width: 64px;
    height: 64px;
    color: var(--neutral-400);
    margin-bottom: 1.5rem;
    opacity: 0.6;
  }
.revamp-homepage .sale-empty__title {
    font-family: var(--font-display);
    font-size: clamp(2rem, 1.8rem + 0.8vw, 2.8rem);
    font-weight: 700;
    color: var(--neutral-800);
    margin: 0 0 0.75rem 0;
  }
.revamp-homepage .sale-empty__text {
    font-family: var(--font-secondary);
    font-size: 1.6rem;
    color: var(--neutral-500);
    max-width: 420px;
    line-height: 1.6;
    margin: 0 0 2rem 0;
  }
.revamp-homepage .sale-empty__btn {
    font-family: var(--font-secondary);
    font-size: 1.5rem;
    font-weight: 600;
    padding: 0.75rem 2.5rem;
    border-radius: var(--radius-md);
    color: #ffffff;
    border: none;
    cursor: pointer;
    text-decoration: none;
    transition:
      background var(--transition-base),
      box-shadow var(--transition-base);
  }
.revamp-homepage .sale-empty__btn:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  }
@media (max-width: 767px) {
    .revamp-homepage .sale-empty {
      padding: 3rem 1rem;
    }

    .revamp-homepage .sale-empty__inner {
      padding: 3rem 1.5rem;
    }

    .revamp-homepage .sale-empty__icon {
      width: 48px;
      height: 48px;
    }
  }
/* ----------------------------------------
       MARKETING PROFESSIONALS SECTION
       ---------------------------------------- */
.revamp-homepage .marketing-section {
    margin-top: 7.5rem;
  }
.revamp-homepage .marketing-container{
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 15px;
  padding-left: 15px;
}
@media (min-width: 640px){

  .revamp-homepage .marketing-container{
    max-width: 640px;
  }
}
@media (min-width: 768px){

  .revamp-homepage .marketing-container{
    max-width: 768px;
  }
}
@media (min-width: 1024px){

  .revamp-homepage .marketing-container{
    max-width: 1024px;
  }
}
@media (min-width: 1280px){

  .revamp-homepage .marketing-container{
    max-width: 1280px;
    padding-right: 30px;
    padding-left: 30px;
  }
}
@media (min-width: 1540px){

  .revamp-homepage .marketing-container{
    max-width: 1540px;
  }
}
.revamp-homepage .marketing-container {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: var(--radius-lg);
    padding: 2rem;
    position: relative;
  }
.revamp-homepage .marketing-title-wrapper {
    display: flex;
    justify-content: center;
    margin-top: -4.5rem;
  }
.revamp-homepage .marketing-title {
    position: relative;
    display: inline-block;
    padding: 1rem 2rem;
    background: #1a1a1a
      url("../../lib/images/examples/marketing_emblem_background_pattern.png")
      center/cover no-repeat;
    border-radius: var(--radius-md);
    margin: 0;
    overflow: visible;
    z-index: 1;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
  }
.revamp-homepage .marketing-title__text {
    position: relative;
    z-index: 2;
    font-family: var(--font-display);
    font-size: clamp(1.6rem, 1.4rem + 0.5vw, 2rem);
    font-weight: 700;
    color: #ffffff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  }
.revamp-homepage .marketing-title__glow {
    position: absolute;
    inset: -1.5px;
    border-radius: calc(var(--radius-md) + 3px);
    background: linear-gradient(
      90deg,
      var(--gold-dark) 0%,
      var(--gold-medium) 10%,
      var(--gold-dark) 20%,
      var(--gold-medium) 32%,
      var(--gold-base) 46%,
      var(--gold-light) 49%,
      var(--gold-highlight) 50%,
      var(--gold-light) 51%,
      var(--gold-base) 54%,
      var(--gold-medium) 68%,
      var(--gold-dark) 80%,
      var(--gold-medium) 90%,
      var(--gold-dark) 100%
    );
    background-size: 300% 100%;
    animation: chromeShine 8s ease-in-out infinite alternate;
    z-index: -1;
  }
.revamp-homepage .marketing-title::before {
    content: "";
    position: absolute;
    inset: 3px;
    background: #1a1a1a
      url("../../lib/images/examples/marketing_emblem_background_pattern.png")
      center/cover no-repeat;
    border-radius: calc(var(--radius-md) - 1px);
    z-index: 1;
    background-size: 120%;
  }
.revamp-homepage .marketing-content {
    display: flex;
    gap: 2rem;
    align-items: end;
  }
.revamp-homepage .marketing-featured {
    flex: 0 0 220px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
.revamp-homepage .featured-emblem {
    position: relative;
    display: inline-block;
    padding: 0.5rem 1rem;
    background: #1a1a1a
      url("../../lib/images/examples/marketing_emblem_background_pattern.png")
      center/cover no-repeat;
    border-radius: var(--radius-sm);
    margin-bottom: 1rem;
    overflow: visible;
    z-index: 1;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
  }
.revamp-homepage .featured-emblem__text {
    position: relative;
    z-index: 2;
    font-family: var(--font-secondary);
    font-size: 1.6rem;
    font-weight: 600;
    color: #ffffff;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
    vertical-align: text-top;
  }
.revamp-homepage .featured-emblem__glow {
    position: absolute;
    inset: -1px;
    border-radius: calc(var(--radius-sm) + 3px);
    background: linear-gradient(
      90deg,
      var(--gold-dark) 0%,
      var(--gold-medium) 10%,
      var(--gold-dark) 20%,
      var(--gold-medium) 32%,
      var(--gold-base) 46%,
      var(--gold-light) 49%,
      var(--gold-highlight) 50%,
      var(--gold-light) 51%,
      var(--gold-base) 54%,
      var(--gold-medium) 68%,
      var(--gold-dark) 80%,
      var(--gold-medium) 90%,
      var(--gold-dark) 100%
    );
    background-size: 300% 100%;
    animation: chromeShine 8s ease-in-out infinite alternate;
    z-index: -1;
  }
.revamp-homepage .featured-emblem::before {
    content: "";
    position: absolute;
    inset: 3px;
    background: #1a1a1a
      url("../../lib/images/examples/marketing_emblem_background_pattern.png")
      center/cover no-repeat;
    border-radius: calc(var(--radius-sm) - 1px);
    z-index: 1;
    background-size: 120%;
  }
.revamp-homepage .featured-slider-wrapper {
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }
.revamp-homepage .featured-slider {
    width: 180px;
    overflow: hidden;
  }
.revamp-homepage .featured-slider__track {
    display: flex;
  }
.revamp-homepage .featured-nav {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.1);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--transition-base);
    flex-shrink: 0;
  }
.revamp-homepage .featured-nav:hover:not(:disabled):not(.swiper-button-disabled) {
    background: rgba(0, 0, 0, 0.2);
  }
.revamp-homepage .featured-nav:disabled,
  .revamp-homepage .featured-nav.swiper-button-disabled {
    opacity: 0.3;
    cursor: not-allowed;
  }
.revamp-homepage .featured-nav svg {
    width: 16px;
    height: 16px;
    color: #333;
  }
.revamp-homepage .featured-card {
    flex: 0 0 100%;
    min-width: 100%;
    background: linear-gradient(
      135deg,
      var(--gold-base),
      var(--gold-medium),
      var(--gold-base)
    );
    box-shadow: 0 0 10px rgba(212, 175, 55, 0.3);
    padding: 1px;
    border-radius: var(--radius-lg);
  }
.revamp-homepage .featured-card__wrapper {
    position: relative;
    padding: 4px;
    border-radius: calc(var(--radius-lg) - 2px);
    background-color: white;
    overflow: hidden;
  }
.revamp-homepage .featured-card__inner {
    background: #ffffff;
    border-radius: calc(var(--radius-lg) - 2px);
    overflow: hidden;
  }
.revamp-homepage .featured-card__photo {
    position: relative;
    width: 100%;
    aspect-ratio: 1/1;
    overflow: hidden;
  }
.revamp-homepage .featured-card__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    z-index: 1;
  }
.revamp-homepage .featured-card__img {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 115%;
    height: auto;
    max-height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: bottom;
       object-position: bottom;
    z-index: 2;
  }
.revamp-homepage .featured-card__img.not-found {
      transform: translateX(-50%) scale(1.1);
    }
.revamp-homepage .featured-card__overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 2rem 0.75rem 0.75rem;
    background: linear-gradient(
      to bottom,
      transparent 0%,
      rgba(0, 0, 0, 0.9) 100%
    );
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 3;
  }
.revamp-homepage .featured-card__name {
    font-family: var(--font-secondary);
    font-size: 1.6rem;
    font-weight: 700;
    color: #ffffff;
    text-align: center;
  }
.revamp-homepage .featured-card__phone {
    font-family: var(--font-display);
    font-size: 1.6rem;
    color: rgba(255, 255, 255, 0.9);
    text-align: center;
  }
.revamp-homepage .featured-card__date {
    background: black;
    padding: 0.6rem 1rem;
    text-align: center;
    border-top: 1px solid white;
  }
.revamp-homepage .featured-card__date span {
    font-family: var(--font-secondary);
    font-size: 1.6rem;
    font-weight: 600;
    color: #ffffff;
  }
.revamp-homepage .marketing-others {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    overflow: hidden;
  }
.revamp-homepage .marketing-others__slider {
    width: 100%;
    overflow: hidden;
    padding: 1rem 0;
  }
.revamp-homepage .marketing-others__list {
    display: flex;
  }
.revamp-homepage .marketing-others__list .swiper-slide {
    width: auto;
    display: flex;
    justify-content: center;
  }
.revamp-homepage .marketing-member {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
  }
.revamp-homepage .marketing-member__photo-wrapper {
    position: relative;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    padding: 1px;
    background: linear-gradient(
      135deg,
      var(--gold-light),
      var(--gold-base),
      var(--gold-light)
    );
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition:
      transform 0.3s ease,
      box-shadow 0.3s ease,
      padding 0.3s ease;
    cursor: pointer;
  }
.revamp-homepage .marketing-member__photo {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    overflow: hidden;
    border: 5px solid #ffffff;
    box-sizing: border-box;
  }
.revamp-homepage .marketing-member__photo-wrapper:hover {
    transform: scale(1.1);
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.4);
  }
.revamp-homepage .marketing-member__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    z-index: 1;
  }
.revamp-homepage .marketing-member__img {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 120%;
    height: auto;
    max-height: 95%;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: bottom;
       object-position: bottom;
    z-index: 2;
  }
.revamp-homepage .marketing-member__img.not-found {
      transform: translateX(-50%) scale(1.1);
    }
.revamp-homepage .marketing-member__name {
    font-family: var(--font-secondary);
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--brand-primary-700);
    text-align: center;
  }
.revamp-homepage .sale-section--paramount-gading-serpong .marketing-member__name {
    color: #1a365d;
  }
.revamp-homepage .sale-section--paramount-petals .marketing-member__name {
    color: #1a365d;
  }
.revamp-homepage .sale-section--paramount-village-semarang .marketing-member__name {
    color: #1a365d;
  }
.revamp-homepage .marketing-member__phone {
    font-family: var(--font-display);
    font-size: 1.6rem;
    color: var(--neutral-600);
    text-align: center;
    text-decoration: none;
  }
.revamp-homepage .marketing-member__phone:hover {
    color: var(--neutral-800);
  }
.revamp-homepage .marketing-member__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    color: inherit;
  }
.revamp-homepage .marketing-standalone-section {
    position: relative;
    padding: 3rem 0;
    background: linear-gradient(180deg, #1a1a2e 0%, #16213e 100%);
  }
.revamp-homepage .marketing-others__action {
    margin-top: 1rem;
  }
.revamp-homepage .marketing-view-all {
    display: inline-block;
    padding: 0.75rem 2rem;
    background: #1a1a1a;
    color: #ffffff;
    font-family: var(--font-secondary);
    font-size: 1.6rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: var(--radius-md);
    transition: all var(--transition-base);
  }
.revamp-homepage .marketing-view-all:hover {
    background: #333;
    transform: translateY(-1px);
  }
/* Marketing Section Responsive */
@media (max-width: 900px) {
    .revamp-homepage .marketing-content {
      margin-top: 2rem;
      flex-direction: column;
      align-items: center;
    }

    .revamp-homepage .marketing-featured {
      flex: none;
      width: 100%;
      max-width: 280px;
    }

    .revamp-homepage .marketing-others {
      width: 100%;
      min-height: auto;
    }

    .revamp-homepage .marketing-others__slider {
      padding: 1rem 0;
    }
  }
@media (max-width: 600px) {
    .revamp-homepage .marketing-container {
      padding: 1.5rem 1rem;
    }

    .revamp-homepage .marketing-title-wrapper {
      margin-top: -3rem;
    }

    .revamp-homepage .marketing-title {
      padding: 0.5rem 1.25rem;
    }

    .revamp-homepage .marketing-title__text {
      font-size: 1.6rem;
    }

    .revamp-homepage .featured-slider {
      width: 180px;
    }

    .revamp-homepage .marketing-member__photo-wrapper {
      width: 80px;
      height: 80px;
    }

    .revamp-homepage .marketing-member__photo-wrapper:hover {
      transform: scale(1.08);
    }

    .revamp-homepage .marketing-member__name {
      font-size: 1.6rem;
    }

    .revamp-homepage .marketing-member__phone {
      font-size: 1.6rem;
    }
  }
/* NEWS */
.revamp-homepage .news-section {
    position: relative;
    padding: 5rem 0;
    overflow: hidden;
  }
.revamp-homepage .news-section--default {
    background: #ffffff;
  }
.revamp-homepage .news-section--default .news-pattern {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-repeat: repeat-x;
    background-position: bottom center;
    transform: scaleY(-1);
    opacity: 0.8;
    z-index: 0;
  }
.revamp-homepage .news-section--paramount-gading-serpong,
  .revamp-homepage .news-section--paramount-petals,
  .revamp-homepage .news-section--paramount-village-semarang {
    background: #e2e2e2;
  }
/* Container */
.revamp-homepage .news-container {
    position: relative;
    z-index: 1;
    margin: 0 auto;
  }
.revamp-homepage .news-header {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-bottom: 3rem;
  }
.revamp-homepage .news-title {
    font-family: var(--font-display);
    font-size: clamp(2.8rem, 2.4rem + 1.5vw, 4rem);
    font-weight: 700;
    color: var(--neutral-900);
    margin: 0;
    white-space: nowrap;
  }
.revamp-homepage .news-title-line {
    flex: 1;
    height: 1px;
    background: var(--neutral-800);
  }
/* Main site: 2x2 Grid */
.revamp-homepage .news-grid-swiper-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1rem;
    overflow: visible;
    justify-content: center;
  }
.revamp-homepage .news-grid-swiper {
    flex: 1;
    min-width: 0;
    overflow: visible;
  }
.revamp-homepage .news-grid-swiper .swiper-slide {
    transition: opacity 0.4s ease;
  }
.revamp-homepage .news-grid-swiper .swiper-slide:not(.swiper-slide-active) {
    opacity: 0.35;
  }
.revamp-homepage .news-grid {
    display: grid;
    height: 100%;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
/* vertical card variant: 4 columns to fit 4 cards*/
.revamp-homepage .news-grid--vertical {
      grid-template-columns: repeat(4, 1fr);
    }
@media (max-width: 1023px) {
.revamp-homepage .news-grid--vertical {
        grid-template-columns: repeat(2, 1fr)
    }
      }
@media (max-width: 575px) {
.revamp-homepage .news-grid--vertical {
        grid-template-columns: 1fr
    }
      }
.revamp-homepage .news-card--horizontal {
    display: flex;
    background: #ffffff;
    border-radius: var(--radius-lg);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    /* Use aos */
    /* transition: box-shadow var(--transition-base);*/
  }
.revamp-homepage .news-card--horizontal:hover {
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.15);
  }
.revamp-homepage .news-card--horizontal .news-card__image {
    flex: 0 0 45%;
    position: relative;
    overflow: hidden;
  }
.revamp-homepage .news-card--horizontal .news-card__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    /* transition: transform var(--transition-base); */
  }
.revamp-homepage .news-card--horizontal:hover .news-card__image img {
    /* transform: scale(1.05); */
  }
.revamp-homepage .news-card--horizontal .news-card__content {
    flex: 0 0 55%;
    padding: 3rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
.revamp-homepage .news-card__date {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 0.75rem;
  }
.revamp-homepage .news-card__date-icon {
    width: 16px;
    height: 16px;
    color: var(--neutral-400);
  }
.revamp-homepage .news-card__date-text {
    font-family: var(--font-secondary);
    color: var(--neutral-400);
    font-weight: 700;
    white-space: nowrap;
  }
.revamp-homepage .news-card__date-line {
    height: 1.5px;
    background: var(--neutral-300);
    flex: 1;
  }
/* Card Title */
.revamp-homepage .news-card__title {
    font-family: var(--font-secondary);
    font-size: clamp(1.6rem, 1.5rem + 0.4vw, 2rem);
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 0.75rem 0;
  }
.revamp-homepage .news-card--horizontal .news-card__title {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
.revamp-homepage .news-card__title a {
    color: var(--brand-primary-700);
    text-decoration: none;
    transition: color var(--transition-fast);
  }
.revamp-homepage .news-section--default .news-card__title a {
    color: #1a365d;
  }
.revamp-homepage .news-card__title a:hover {
    color: var(--brand-primary-450);
  }
.revamp-homepage .news-card__description {
    font-family: var(--font-secondary);
    line-height: 1.6;
    color: var(--neutral-900);
    margin: 0 0 1rem 0;
    flex: 1;
    font-size: 14px;
  }
.revamp-homepage .news-card--horizontal .news-card__description {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
.revamp-homepage .news-card__btn {
    font-size: 14px;
  }
/* Filled Button (Paramount Land) */
.revamp-homepage .news-card__btn--filled {
    display: inline-block;
    padding: 0.75rem 1.5rem;
    background: var(--neutral-900);
    color: #ffffff;
    font-family: var(--font-secondary);
    text-decoration: none;
    transition: all var(--transition-base);
    align-self: flex-start;
  }
.revamp-homepage .news-card__btn--filled:hover {
    background: var(--neutral-700);
    transform: translateY(-1px);
  }
/* Pagination Dots */
.revamp-homepage .news-grid-pagination {
    display: flex;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 2rem;
  }
.revamp-homepage .news-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--neutral-300);
    border: none;
    cursor: pointer;
    transition: all var(--transition-fast);
  }
.revamp-homepage .news-dot--active,
  .revamp-homepage .news-dot:hover {
    background: var(--neutral-700);
  }
/* Microsites: Slider */
.revamp-homepage .news-slider-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
  }
.revamp-homepage .news-slider {
    flex: 1;
    overflow: visible;
  }
.revamp-homepage .news-slider .swiper-slide {
    transition: opacity 0.4s ease;
  }
.revamp-homepage .news-slider .swiper-slide:not(.swiper-slide-visible) {
    opacity: 0.4;
  }
.revamp-homepage .news-slider__track {
    display: flex;
  }
.revamp-homepage .news-card--vertical {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    background: transparent;
  }
.revamp-homepage .news-card--vertical .news-card__image {
    position: relative;
    width: 100%;
    aspect-ratio: 16/10;
    border-radius: var(--radius-md);
    overflow: hidden;
  }
.revamp-homepage .news-card--vertical .news-card__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    /* transition: transform var(--transition-base); */
  }
.revamp-homepage .news-card--vertical:hover .news-card__image img {
    /* transform: scale(1.05); */
  }
/* Date Badge (corner) */
.revamp-homepage .news-card__date-badge {
    position: absolute;
    top: 1rem;
    left: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    z-index: 2;
    background: var(--brand-primary-500);
  }
.revamp-homepage .news-section--paramount-gading-serpong .news-card__date-badge {
    background: var(--brand-primary-500); /* Orange */
  }
.revamp-homepage .news-section--paramount-petals .news-card__date-badge {
    background: var(--brand-primary-450); /* Pink */
  }
.revamp-homepage .news-section--paramount-village-semarang .news-card__date-badge {
    background: var(--brand-primary-500); /* Orange */
  }
.revamp-homepage .news-card__date-day {
    font-family: var(--font-secondary);
    font-size: 1.2rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1;
  }
.revamp-homepage .news-card__date-month {
    font-family: var(--font-secondary);
    font-size: 1.2rem;
    font-weight: 600;
    color: #ffffff;
    text-transform: uppercase;
    line-height: 1;
  }
.revamp-homepage .news-card--vertical .news-card__content {
    padding: 1.25rem 0;
    display: flex;
    flex-direction: column;
    flex: 1;
  }
.revamp-homepage .news-card--vertical .news-card__title {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 0.5rem;
  }
.revamp-homepage .news-section--paramount-gading-serpong .news-card__title a,
  .revamp-homepage .news-section--paramount-petals .news-card__title a,
  .revamp-homepage .news-section--paramount-village-semarang .news-card__title a {
    color: #1a365d; /* Navy blue */
  }
.revamp-homepage .news-card--vertical .news-card__description {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 1rem;
  }
/* Outlined Button (Gading Serpong & Petals) */
.revamp-homepage .news-card__btn--outlined {
    display: inline-block;
    padding: 0.75rem 1.5rem;
    background: transparent;
    font-family: var(--font-secondary);
    text-decoration: none;
    border: 2px solid;
    transition: all var(--transition-base);
    align-self: flex-start;
    margin-top: auto;
  }
.revamp-homepage .news-section--paramount-gading-serpong .news-card__btn--outlined {
    border-color: var(--brand-primary-500);
    color: var(--brand-primary-500);
  }
.revamp-homepage .news-section--paramount-gading-serpong .news-card__btn--outlined:hover {
    background: var(--brand-primary-500);
    color: #ffffff;
  }
.revamp-homepage .news-section--paramount-petals .news-card__btn--outlined {
    border-color: var(--brand-primary-450);
    color: var(--brand-primary-450);
  }
.revamp-homepage .news-section--paramount-petals .news-card__btn--outlined:hover {
    background: var(--brand-primary-450);
    color: #ffffff;
  }
.revamp-homepage .news-section--paramount-village-semarang .news-card__btn--outlined {
    border-color: var(--brand-primary-500);
    color: var(--brand-primary-500);
  }
.revamp-homepage .news-section--paramount-village-semarang .news-card__btn--outlined:hover {
    background: var(--brand-primary-500);
    color: #ffffff;
  }
/* Navigation Buttons */
.revamp-homepage .news-nav {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 15%;
    background: var(--neutral-800);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--transition-base);
    z-index: 10;
  }
.revamp-homepage .news-nav:hover:not(:disabled):not(.swiper-button-disabled) {
    background: var(--neutral-900);
    transform: scale(1.05);
  }
.revamp-homepage .news-nav:disabled,
  .revamp-homepage .news-nav.swiper-button-disabled {
    opacity: 0.5;
    cursor: not-allowed;
  }
.revamp-homepage .news-nav svg {
    width: 24px;
    height: 24px;
    color: #ffffff;
  }
/* View All Button */
.revamp-homepage .news-view-all {
    display: flex;
    justify-content: center;
    margin-top: 2.5rem;
  }
.revamp-homepage .news-view-all__btn {
    display: inline-block;
    padding: 1rem 3rem;
    background: var(--neutral-900);
    color: #ffffff;
    font-family: var(--font-secondary);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: all var(--transition-base);
  }
.revamp-homepage .news-view-all__btn:hover {
    background: var(--neutral-700);
    transform: translateY(-2px);
  }
/* News Section Responsive */
@media (max-width: 1024px) {
    .revamp-homepage .news-grid {
      grid-template-columns: 1fr;
    }
  }
@media (max-width: 767px) {
    .revamp-homepage .news-section {
      padding: 3rem 0;
    }

    .revamp-homepage .news-header {
      margin-bottom: 2rem;
    }

    .revamp-homepage .news-card--horizontal {
      flex-direction: column;
    }

    .revamp-homepage .news-card--horizontal .news-card__image {
      flex: none;
      height: 200px;
    }

    .revamp-homepage .news-card--horizontal .news-card__content {
      flex: none;
    }

    .revamp-homepage .news-nav {
      width: 40px;
      height: 40px;
    }

    .revamp-homepage .news-nav svg {
      width: 20px;
      height: 20px;
    }
  }
@media (max-width: 480px) {
    .revamp-homepage .news-container {
      padding: 0;
    }

    .revamp-homepage .news-slider-wrapper {
      flex-direction: column;
      gap: 1.5rem;
    }

    .revamp-homepage .news-nav {
      display: none;
    }
  }
/* Accessibility */
@media (prefers-reduced-motion: reduce) {
    .revamp-homepage .hero-image-wrapper--clickable:hover,
    .revamp-homepage .township-card:hover,
    .revamp-homepage .township-card:hover .card-image img,
    .revamp-homepage .gallery-item:hover img,
    .revamp-homepage .news-card--horizontal:hover,
    .revamp-homepage .news-card--vertical:hover .news-card__image img {
      transform: none;
    }

    .revamp-homepage .btn-hero:hover .btn-hero-icon {
      transform: none;
    }

    .revamp-homepage .border-bottom {
      animation: none;
    }

    .revamp-homepage html {
      scroll-behavior: auto;
    }
  }
/* High contrast mode support */
@media (prefers-contrast: high) {
    .revamp-homepage .hero-overlay {
      background: rgba(0, 0, 0, 0.7);
    }

    .revamp-homepage .hero-title,
    .revamp-homepage .hero-subtitle {
      text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
    }
  }
/* ========================================
     CONTACT FORM SECTION
     Using CSS nesting for proper scoping
     ======================================== */
.revamp-homepage .form-section {
    width: 100%;
    background: #ffffff;
  }
.revamp-homepage .form-section .form-container {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      min-height: 700px;
    }
.revamp-homepage .form-section .form-container--no-banner {
        grid-template-columns: 1fr;
      }
.revamp-homepage .form-section .form-banner {
      position: relative;
      overflow: hidden;
    }
.revamp-homepage .form-section .form-banner .form-banner-swiper {
      width: 100%;
      height: 100%;
    }
.revamp-homepage .form-section .form-banner .form-banner-swiper .swiper-slide {
      width: 100%;
      height: 100%;
    }
.revamp-homepage .form-section .form-banner .form-banner-swiper .swiper-slide a {
      display: block;
      width: 100%;
      height: 100%;
    }
.revamp-homepage .form-section .form-banner__image {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover;
      -o-object-position: center;
         object-position: center;
    }
.revamp-homepage .form-section .form-content {
      padding: 3rem 4rem;
      display: flex;
      flex-direction: column;
      overflow: hidden;
    }
.revamp-homepage .form-section .form-content--full {
        max-width: 800px;
        margin: 0 auto;
        width: 100%;
      }
.revamp-homepage .form-section .form-header {
      position: relative;
    }
.revamp-homepage .form-section .form-title {
      font-family: var(--font-display);
      font-size: clamp(2rem, 1.8rem + 0.5vw, 2.4rem);
      font-weight: 700;
      color: var(--neutral-900);
      margin: 0 0 2rem 0;
    }
.revamp-homepage .form-section .form-alert {
      position: absolute;
      bottom: 6px;
      font-size: 10px;
    }
.revamp-homepage .form-section .form-alert--error {
        color: red;
      }
.revamp-homepage .form-section .form-alert--success {
        color: green;
      }
.revamp-homepage .form-section .contact-form {
      display: flex;
      flex-direction: column;
      gap: 1.25rem;
    }
.revamp-homepage .form-section .form-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1.5rem;
    }
.revamp-homepage .form-section .form-group {
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
      position: relative;
    }
.revamp-homepage .form-section .form-group--full {
      grid-column: 1 / -1;
    }
.revamp-homepage .form-section .form-label {
      font-family: var(--font-secondary);
      font-size: 1.6rem;
      font-weight: 500;
      color: var(--brand-secondary-900);
    }
.revamp-homepage .form-section .form-input {
      padding: 1rem 1.25rem;
      font-family: var(--font-secondary);
      font-size: 1.6rem;
      color: var(--neutral-900);
      background: #ffffff;
      border: 1.5px solid var(--neutral-300);
      border-radius: var(--radius-md);
      outline: none;
      transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
    }
.revamp-homepage .form-section .form-input:focus {
        border-color: var(--brand-primary-500);
        box-shadow: 0 0 0 3px rgba(var(--brand-primary-rgb, 0, 0, 0), 0.1);
      }
.revamp-homepage .form-section .form-textarea {
      resize: vertical;
      min-height: 100px;
    }
/* Phone Input */
.revamp-homepage .form-section .phone-input-wrapper {
      display: flex;
      gap: 0;
    }
.revamp-homepage .form-section .phone-input-wrapper:focus-within .country-code-btn {
        border-color: var(--brand-primary-500);
      }
.revamp-homepage .form-section .phone-input-wrapper:focus-within .form-input--phone {
        border-color: var(--brand-primary-500);
      }
.revamp-homepage .form-section .country-code-dropdown {
      position: relative;
    }
.revamp-homepage .form-section .country-code-dropdown.open .dropdown-arrow {
        transform: rotate(180deg);
      }
.revamp-homepage .form-section .country-code-dropdown.open .country-code-list {
        opacity: 1;
        visibility: visible;
        transform: translateY(4px);
      }
.revamp-homepage .form-section .country-code-btn {
      display: flex;
      align-items: baseline;
      gap: 0.4rem;
      padding: 1rem 0.75rem;
      font-family: var(--font-secondary);
      font-size: 1.6rem;
      color: var(--neutral-700);
      background: var(--neutral-100);
      border: 1.5px solid var(--neutral-300);
      border-right: none;
      border-radius: var(--radius-md) 0 0 var(--radius-md);
      cursor: pointer;
      transition: background 0.2s ease;
      white-space: nowrap;
    }
.revamp-homepage .form-section .country-code-btn:hover {
        background: var(--neutral-200);
      }
.revamp-homepage .form-section .country-flag {
      font-size: 1.6rem;
      line-height: 1;
    }
.revamp-homepage .form-section .country-code {
      font-weight: 400;
      font-family: var(--font-display);
    }
.revamp-homepage .form-section .dropdown-arrow {
      width: 10px;
      height: 6px;
      color: var(--neutral-500);
      transition: transform 0.2s ease;
    }
.revamp-homepage .form-section .country-code-list {
      position: absolute;
      top: 100%;
      left: 0;
      min-width: 160px;
      background: #ffffff;
      border: 1px solid var(--neutral-200);
      border-radius: var(--radius-md);
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
      z-index: 100;
      opacity: 0;
      visibility: hidden;
      transform: translateY(-8px);
      transition:
        opacity 0.2s ease,
        transform 0.2s ease,
        visibility 0.2s ease;
    }
.revamp-homepage .form-section .country-code-option {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      padding: 0.75rem 1rem;
      font-family: var(--font-secondary);
      font-size: 1.6rem;
      cursor: pointer;
      transition: background 0.15s ease;
    }
.revamp-homepage .form-section .country-code-option:hover {
        background: var(--neutral-100);
      }
.revamp-homepage .form-section .country-code-option:first-child {
        border-radius: var(--radius-md) var(--radius-md) 0 0;
      }
.revamp-homepage .form-section .country-code-option:last-child {
        border-radius: 0 0 var(--radius-md) var(--radius-md);
      }
.revamp-homepage .form-section .country-code-option .country-name {
        flex: 1;
        color: var(--neutral-600);
      }
.revamp-homepage .form-section .country-code-option .country-code {
        color: var(--neutral-500);
      }
.revamp-homepage .form-section .form-input--phone {
      flex: 1;
      border-radius: 0 var(--radius-md) var(--radius-md) 0;
      border-left: none;
      font-family: var(--font-display);
    }
.revamp-homepage .form-section .form-input--phone:focus {
        border-left: none;
      }
/* Radio Buttons */
.revamp-homepage .form-section .radio-group {
      display: flex;
      gap: 2rem;
    }
.revamp-homepage .form-section .radio-label {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      cursor: pointer;
      font-family: var(--font-secondary);
      font-size: 1.6rem;
      color: var(--neutral-700);
    }
.revamp-homepage .form-section .radio-label input[type="radio"] {
        display: none;
      }
.revamp-homepage .form-section .radio-label input[type="radio"]:checked + .radio-custom {
          border-color: var(--brand-primary-500);
        }
.revamp-homepage .form-section .radio-label input[type="radio"]:checked + .radio-custom::after {
            transform: translate(-50%, -50%) scale(1);
          }
.revamp-homepage .form-section .radio-custom {
      width: 20px;
      height: 20px;
      border: 2px solid var(--neutral-400);
      border-radius: 50%;
      position: relative;
      transition: border-color 0.2s ease;
    }
.revamp-homepage .form-section .radio-custom::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 10px;
        height: 10px;
        background: var(--brand-primary-500);
        border-radius: 50%;
        transform: translate(-50%, -50%) scale(0);
        transition: transform 0.2s ease;
      }
/* Product Slider - scoped to form-section */
.revamp-homepage .form-section .product-slider-wrapper {
      margin-top: 0.5rem;
      overflow: hidden;
    }
.revamp-homepage .form-section .product-slider-nav {
      display: flex;
      justify-content: space-between;
      margin-bottom: 1rem;
      width: 100%;
    }
.revamp-homepage .form-section .slider-nav-btn {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      padding: 0.5rem 0;
      font-family: var(--font-secondary);
      font-size: 1.6rem;
      font-weight: 500;
      color: var(--brand-primary-500);
      background: none;
      border: none;
      cursor: pointer;
      transition: opacity 0.2s ease;
    }
.revamp-homepage .form-section .slider-nav-btn:hover {
        opacity: 0.7;
      }
.revamp-homepage .form-section .slider-nav-btn svg {
        width: 16px;
        height: 16px;
      }
.revamp-homepage .form-section .form-product-slider {
      overflow: hidden;
    }
.revamp-homepage .form-section .form-product-slider .swiper-slide {
        width: 200px;
      }
/* Product Card for Form */
.revamp-homepage .form-section .product-card-form {
      display: block;
      cursor: pointer;
      -webkit-user-select: none;
         -moz-user-select: none;
              user-select: none;
    }
.revamp-homepage .form-section .product-card-form:hover .product-card-form__image img {
        transform: scale(1.05);
      }
.revamp-homepage .form-section .product-checkbox {
      display: none;
    }
.revamp-homepage .form-section .product-checkbox:checked + .product-card-form__inner {
        border-color: var(--brand-primary-500);
      }
.revamp-homepage .form-section .product-checkbox:checked + .product-card-form__inner .product-card-form__overlay {
          background: rgba(0, 0, 0, 0.35);
        }
.revamp-homepage .form-section .product-checkbox:checked + .product-card-form__inner .checkmark-svg {
          clip-path: inset(0 0 0 0);
        }
.revamp-homepage .form-section .product-card-form__inner {
      width: 100%;
      border-radius: var(--radius-lg);
      overflow: hidden;
      border: 3px solid transparent;
      transition: border-color 0.3s ease;
    }
.revamp-homepage .form-section .product-card-form__image {
      position: relative;
      width: 100%;
      aspect-ratio: 1 / 1;
      overflow: hidden;
    }
.revamp-homepage .form-section .product-card-form__image img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
        transition: transform 0.3s ease;
      }
.revamp-homepage .form-section .product-card-form__overlay {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: rgba(0, 0, 0, 0);
      transition: background 0.3s ease;
      pointer-events: none;
    }
.revamp-homepage .form-section .product-card-form__check {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 65px;
      height: 60px;
      overflow: hidden;
      pointer-events: none;
    }
.revamp-homepage .form-section .checkmark-svg {
      position: absolute;
      right: 0;
      top: 0;
      width: 65px;
      height: 60px;
      clip-path: inset(0 100% 0 0);
      transition: clip-path 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }
.revamp-homepage .form-section .product-card-form__info {
      padding: 0.75rem;
      background: var(--brand-primary-500);
      text-align: center;
    }
.revamp-homepage .form-section .product-card-form__name {
      font-family: var(--font-secondary);
      font-size: 1.6rem;
      font-weight: 600;
      color: #ffffff;
      margin: 0 0 0.25rem 0;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
@media not all and (min-width: 768px){

  .revamp-homepage .form-section .product-card-form__price{
    flex-direction: column;
  }
}
.revamp-homepage .form-section .product-card-form__price {
      margin: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.4rem;
    }
.revamp-homepage .form-section .product-card-form__price .price-label {
        font-family: var(--font-secondary);
        font-size: 1.2rem;
        color: rgba(255, 255, 255, 0.8);
      }
.revamp-homepage .form-section .product-card-form__price .price-value {
        font-family: var(--font-display);
        font-size: 1.2rem;
        font-weight: 600;
        color: #ffffff;
      }
/* Submit Button */
.revamp-homepage .form-section .form-group--submit {
      margin-top: 1rem;
      align-items: center;
    }
.revamp-homepage .form-section .form-submit-btn {
      padding: 1rem 4rem;
      font-family: var(--font-secondary);
      font-size: 1.6rem;
      font-weight: 600;
      color: #ffffff;
      background: var(--brand-primary-500);
      border: none;
      border-radius: var(--radius-md);
      cursor: pointer;
      transition:
        background 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
    }
.revamp-homepage .form-section .form-submit-btn:hover {
        background: var(--brand-primary-600);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
      }
.revamp-homepage .form-section .form-submit-btn:active {
        transform: scale(0.98);
      }
/* Theme: Gading Serpong */
.revamp-homepage .form-section.form-section--paramount-gading-serpong .form-input {
        border-color: var(--brand-primary-500);
      }
.revamp-homepage .form-section.form-section--paramount-gading-serpong .form-input:focus {
          border-color: var(--brand-secondary-900);
          box-shadow: 0 0 0 3px rgba(22, 50, 92, 0.15);
        }
.revamp-homepage .form-section.form-section--paramount-gading-serpong .form-input--phone:focus {
            box-shadow: 2px 0 0 3px rgba(22, 50, 92, 0.15);
          }
.revamp-homepage .form-section.form-section--paramount-gading-serpong .phone-input-wrapper:focus-within .country-code-btn {
        border-color: var(--brand-secondary-900);
        box-shadow: -2px 0 0 3px rgba(22, 50, 92, 0.15);
      }
.revamp-homepage .form-section.form-section--paramount-gading-serpong .radio-custom::after {
        background: var(--brand-secondary-900);
      }
.revamp-homepage .form-section.form-section--paramount-gading-serpong .radio-label input[type="radio"]:checked + .radio-custom {
        border-color: var(--brand-secondary-900);
      }
.revamp-homepage .form-section.form-section--paramount-gading-serpong .slider-nav-btn {
        font-size: 12px;
        color: var(--neutral-900);
      }
.revamp-homepage .form-section.form-section--paramount-gading-serpong .slider-nav-btn svg {
          color: var(--brand-primary-450);
        }
.revamp-homepage .form-section.form-section--paramount-gading-serpong .product-checkbox:checked + .product-card-form__inner {
        border-color: var(--brand-secondary-900);
      }
.revamp-homepage .form-section.form-section--paramount-gading-serpong .product-card-form__info {
        background: var(--brand-secondary-900);
      }
.revamp-homepage .form-section.form-section--paramount-gading-serpong .form-submit-btn {
        background: var(--brand-primary-450);
      }
.revamp-homepage .form-section.form-section--paramount-gading-serpong .form-submit-btn:hover {
          background: var(--brand-primary-450);
        }
.revamp-homepage .form-section.form-section--paramount-gading-serpong .form-submit-btn__loading {
          display: flex;
          align-items: center;
          gap: 0.5rem;
        }
/* Theme: Petals */
.revamp-homepage .form-section.form-section--paramount-petals .form-input {
        border-color: var(--brand-accent-450);
      }
.revamp-homepage .form-section.form-section--paramount-petals .form-input:focus {
          border-color: var(--brand-secondary-900);
          box-shadow: 0 0 0 3px rgba(22, 50, 92, 0.15);
        }
.revamp-homepage .form-section.form-section--paramount-petals .phone-input-wrapper:focus-within .country-code-btn {
        border-color: var(--brand-secondary-900);
        box-shadow: 0 0 0 3px rgba(22, 50, 92, 0.15);
      }
.revamp-homepage .form-section.form-section--paramount-petals .radio-custom::after {
        background: var(--brand-secondary-900);
      }
.revamp-homepage .form-section.form-section--paramount-petals .radio-label input[type="radio"]:checked + .radio-custom {
        border-color: var(--brand-secondary-900);
      }
.revamp-homepage .form-section.form-section--paramount-petals .slider-nav-btn {
        font-size: 12px;
        color: var(--neutral-900);
      }
.revamp-homepage .form-section.form-section--paramount-petals .slider-nav-btn svg {
          color: var(--brand-primary-450);
        }
.revamp-homepage .form-section.form-section--paramount-petals .product-checkbox:checked + .product-card-form__inner {
        border-color: var(--brand-primary-450);
      }
.revamp-homepage .form-section.form-section--paramount-petals .product-card-form__info {
        background: var(--brand-primary-450);
      }
.revamp-homepage .form-section.form-section--paramount-petals .form-submit-btn {
        background: var(--brand-primary-450);
      }
.revamp-homepage .form-section.form-section--paramount-petals .form-submit-btn:hover {
          background: var(--brand-primary-450);
        }
/* Theme: Paramount Village Semarang */
.revamp-homepage .form-section.form-section--paramount-village-semarang .form-input {
        border-color: var(--brand-primary-500);
      }
.revamp-homepage .form-section.form-section--paramount-village-semarang .form-input:focus {
          border-color: var(--brand-secondary-900);
          box-shadow: 0 0 0 3px rgba(22, 50, 92, 0.15);
        }
.revamp-homepage .form-section.form-section--paramount-village-semarang .phone-input-wrapper:focus-within .country-code-btn {
        border-color: var(--brand-secondary-900);
        box-shadow: 0 0 0 3px rgba(22, 50, 92, 0.15);
      }
.revamp-homepage .form-section.form-section--paramount-village-semarang .radio-custom::after {
        background: var(--brand-secondary-900);
      }
.revamp-homepage .form-section.form-section--paramount-village-semarang .radio-label input[type="radio"]:checked + .radio-custom {
        border-color: var(--brand-secondary-900);
      }
.revamp-homepage .form-section.form-section--paramount-village-semarang .slider-nav-btn {
        color: var(--brand-primary-450);
      }
.revamp-homepage .form-section.form-section--paramount-village-semarang .product-checkbox:checked + .product-card-form__inner {
        border-color: var(--brand-secondary-900);
      }
.revamp-homepage .form-section.form-section--paramount-village-semarang .product-card-form__info {
        background: var(--brand-secondary-900);
      }
.revamp-homepage .form-section.form-section--paramount-village-semarang .form-submit-btn {
        background: var(--brand-primary-450);
      }
.revamp-homepage .form-section.form-section--paramount-village-semarang .form-submit-btn:hover {
          background: var(--brand-primary-450);
        }
.revamp-homepage .form-section .form-error {
      font-size: 10px;
      position: absolute;
      bottom: -17px;
      color: red;
    }
/* Form Section Responsive */
@media (max-width: 1024px) {
      .revamp-homepage .form-section .form-container {
        grid-template-columns: 1fr;
      }

      .revamp-homepage .form-section .form-banner {
        height: 300px;
      }

      .revamp-homepage .form-section .form-content {
        padding: 2.5rem 2rem;
      }
  }
@media (max-width: 768px) {
      .revamp-homepage .form-section .form-row {
        grid-template-columns: 1fr;
        gap: 1.25rem;
      }

      .revamp-homepage .form-section .form-banner {
        height: 250px;
      }

      .revamp-homepage .form-section .form-content {
        padding: 2rem 1.5rem;
      }

      .revamp-homepage .form-section .form-title {
        font-size: 1.8rem;
      }

      .revamp-homepage .form-section .form-product-slider .swiper-slide {
        width: 150px;
      }
  }
@media (max-width: 480px) {
      .revamp-homepage .form-section .form-banner {
        height: 200px;
      }

      .revamp-homepage .form-section .form-content {
        padding: 1.5rem 1rem;
      }

      .revamp-homepage .form-section .radio-group {
        flex-direction: column;
        gap: 1rem;
      }

      .revamp-homepage .form-section .form-product-slider .swiper-slide {
        width: 130px;
      }

      .revamp-homepage .form-section .form-submit-btn {
        width: 100%;
      }
  }
/* FOOTER */
.revamp-homepage .revamp-footer {
    position: relative;
    width: 100%;
  }
.revamp-homepage .footer-main {
    position: relative;
    padding: 4rem 0 3rem;
    min-height: 280px;
  }
.revamp-homepage .footer-background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
    overflow: hidden;
  }
.revamp-homepage .footer-bg-image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
  }
.revamp-homepage .footer-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.55);
  }
.revamp-homepage .footer-container{
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 15px;
  padding-left: 15px;
}
@media (min-width: 640px){

  .revamp-homepage .footer-container{
    max-width: 640px;
  }
}
@media (min-width: 768px){

  .revamp-homepage .footer-container{
    max-width: 768px;
  }
}
@media (min-width: 1024px){

  .revamp-homepage .footer-container{
    max-width: 1024px;
  }
}
@media (min-width: 1280px){

  .revamp-homepage .footer-container{
    max-width: 1280px;
    padding-right: 30px;
    padding-left: 30px;
  }
}
@media (min-width: 1540px){

  .revamp-homepage .footer-container{
    max-width: 1540px;
  }
}
.revamp-homepage .footer-container {
    position: relative;
    z-index: 1;
    margin: 0 auto;
  }
.revamp-homepage .footer-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 3rem;
  }
.revamp-homepage .footer-col-title {
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 700;
    font-style: normal;
    color: var(--brand-primary-500);
    margin-bottom: 1rem;
  }
.revamp-homepage .footer-tagline {
    font-family: var(--font-secondary);
    font-size: 1.6rem;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.6;
    margin: 0;
  }
.revamp-homepage .footer-sales-login {
    padding: 8px 15px;
    background: white;
    color: var(--brand-primary-500);
    border-radius: 5px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-secondary);
    font-size: 1.4rem;
    font-weight: 600;
    border: solid 2px white;
    text-decoration: none;
    margin-top: 12px;
    transition: border-color 0.3s ease;
  }
.revamp-homepage .footer-sales-login:hover {
      border-color: var(--brand-primary-500);
    }
.revamp-homepage .footer-main--no-bg .footer-sales-login {
    background: transparent;
    color: var(--brand-primary-500);
    border-color: var(--brand-primary-500);
  }
.revamp-homepage .footer-main--no-bg .footer-sales-login:hover {
      background: var(--brand-primary-500);
      color: white;
    }
.revamp-homepage .footer-links {
    list-style: none;
    margin: 0;
    padding: 0;
  }
.revamp-homepage .footer-links li {
    margin-bottom: 0.5rem;
  }
.revamp-homepage .footer-links a {
    font-family: var(--font-secondary);
    font-size: 1.6rem;
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
    transition: color var(--transition-fast);
  }
.revamp-homepage .footer-links a:hover {
    color: var(--brand-primary-500);
  }
.revamp-homepage .footer-links a.footer-link--active {
    color: var(--brand-primary-400);
    font-weight: 600;
  }
.revamp-homepage .footer-info p {
    font-family: var(--font-secondary);
    font-size: 1.6rem;
    line-height: 1.6;
    margin: 0 0 0.25rem 0;
    color: rgba(255, 255, 255, 0.9);
    transition: color var(--transition-fast);
  }
.revamp-homepage .footer-info a {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
    transition: color var(--transition-fast);
  }
.revamp-homepage .footer-info a:hover {
    color: var(--brand-primary-500);
  }
.revamp-homepage .footer-address-link {
    display: block;
    text-decoration: none;
    color: inherit;
  }
.revamp-homepage .footer-address-link:hover p,
    .revamp-homepage .footer-address-link:hover .footer-office-name {
      color: var(--brand-primary-500);
    }
.revamp-homepage .footer-contact {
    margin-top: 0.75rem !important;
  }
.revamp-homepage .footer-contact a,
    .revamp-homepage .footer-contact .footer-contact__phone {
      font-family: var(--font-display);
    }
.revamp-homepage .footer-contact--inline a {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
    }
.revamp-homepage .footer-contact--inline svg {
      flex-shrink: 0;
    }
.revamp-homepage .footer-contact span {
    display: block;
  }
.revamp-homepage .footer-office-name {
    font-weight: 600;
  }
.revamp-homepage .footer-main--no-bg {
    border-top: 1px solid var(--brand-primary-500);
    border-bottom: 1px solid var(--brand-primary-500);
  }
.revamp-homepage .footer-main--no-bg .footer-tagline {
      color: var(--neutral-900);
    }
.revamp-homepage .footer-main--no-bg .footer-links a {
      color: var(--neutral-900);
    }
.revamp-homepage .footer-main--no-bg .footer-info p,
      .revamp-homepage .footer-main--no-bg .footer-info a {
        color: var(--neutral-900);
      }
.revamp-homepage .footer-bottom {
    background: #ffffff;
    padding: 3rem 0;
    font-size: 14px;
  }
.revamp-homepage .footer-bottom-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
  }
.revamp-homepage .footer-logo img {
    height: 45px;
    width: auto;
  }
.revamp-homepage .footer-bottom-right {
    display: flex;
    align-items: center;
    gap: 2rem;
  }
.revamp-homepage .footer-legal {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-family: var(--font-secondary);
  }
.revamp-homepage .footer-iso img {
    height: 34px;
    width: auto;
    display: block;
  }
.revamp-homepage .footer-legal a {
    color: var(--brand-secondary-900);
    text-decoration: none;
    transition: color var(--transition-fast);
  }
.revamp-homepage .footer-legal a:hover {
    color: var(--brand-primary-600);
    text-decoration: underline;
  }
.revamp-homepage .footer-divider {
    color: var(--brand-secondary-900);
  }
.revamp-homepage .footer-social {
    display: flex;
    align-items: center;
    gap: 0.75rem;
  }
.revamp-homepage .footer-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    background: var(--neutral-400);
    border-radius: 50%;
    color: #ffffff;
    transition: all var(--transition-base);
  }
.revamp-homepage .footer-social a:hover {
    background: var(--neutral-600);
    transform: translateY(-2px);
  }
.revamp-homepage .footer-borders {
    position: relative;
    height: 12px;
  }
/* Footer Responsive */
@media (max-width: 1024px) {
    .revamp-homepage .footer-grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 2rem;
    }
  }
@media (max-width: 767px) {
    .revamp-homepage .footer-main {
      padding: 3rem 0;
    }

    .revamp-homepage .footer-grid {
      grid-template-columns: 1fr;
      gap: 2rem;
    }

    .revamp-homepage .footer-bottom-content {
      flex-direction: column;
      text-align: center;
      gap: 1.5rem;
    }

    .revamp-homepage .footer-bottom-right {
      flex-direction: column;
      gap: 1rem;
    }

    .revamp-homepage .footer-legal {
      flex-wrap: wrap;
      justify-content: center;
      gap: 0.5rem 1rem;
    }
  }
@media (max-width: 480px) {
    .revamp-homepage .footer-container {
      padding: 0 1.5rem;
    }

    .revamp-homepage .footer-logo img {
      height: 35px;
    }

    .revamp-homepage .ask-vita-btn {
      padding: 0.5rem 1rem;
    }
  }
/* FLOATING WHATSAPP */
.revamp-homepage .floating-whatsapp-button {
    position: fixed;
    right: 2rem;
    bottom: 30px;
    z-index: 999;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    transition: bottom 0.3s ease;
  }
.revamp-homepage .floating-wa-avatar {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid #ffffff;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
    background: #ffffff;
  }
.revamp-homepage .floating-wa-avatar .vita-video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 50%;
  }
.revamp-homepage .wa-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: #3d4f5f;
    border-radius: var(--radius-md);
    color: #ffffff;
    font-family: var(--font-secondary);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    pointer-events: auto;
    position: relative;
    overflow: hidden;
    white-space: nowrap;
    transition: all 0.3s ease;
    margin-top: 5px;
    line-height: 21px;
  }
.revamp-homepage .wa-button:hover {
    color: var(--brand-primary-500);
    background: #16325b;
  }
.revamp-homepage .wa-button span,
    .revamp-homepage .wa-button svg {
      position: relative;
      z-index: 2;
    }
.revamp-homepage .wa-button svg {
      color: #25d366;
    }
/* Responsive */
@media (max-width: 767px) {
    .revamp-homepage .floating-whatsapp-button {
      right: 1rem;
      bottom: 80px;
    }

    .revamp-homepage .floating-wa-avatar {
      width: 70px;
      height: 70px;
    }

    .revamp-homepage .wa-button {
      padding: 0.4rem 0.8rem;
    }
  }
@media (max-width: 480px) {
.revamp-homepage {

    /* ===================
      GSAP ANIMATIONS
      =================== */

    /* Scroll Progress Bar */

    /* Parallax Elements - will-change for performance */

    /* Reduced Motion - respect user preference */

    /* Hero parallax container */

    /* Township parallax container */

    /* Footer parallax container */

    /* Floating dots animation via GSAP, CSS fallback */

    /* 
    * GSAP ANIMATION COMPATIBILITY
    * Cards use GSAP for transform animations (hover lift + reveal)
    * Only box-shadow transitions in CSS to avoid conflicts
    */

    /* Gallery items - AOS handles reveal */

    /* Image zoom on hover - CSS is fine here, different element than parent */

    /* Button hover effects - exclude transform, GSAP handles it */

    /* Marketing member - GSAP handles scale animation */

    /* Gallery item hover - CSS zoom is fine (on img, not parent) */

    /* Nav link - keep all for non-GSAP elements */

    /* Awards banner subtle animation */

    /* Footer link hover */

    /* Social icon hover */

    /* Category button - exclude transform */

    /* Floating WhatsApp pulse effect */
}
    .revamp-homepage .floating-whatsapp-button {
      right: 0.75rem;
      bottom: 70px;
    }

    .revamp-homepage .floating-wa-avatar {
      width: 60px;
      height: 60px;
    }
    .revamp-homepage .scroll-progress {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 3px;
      z-index: 9999;
      background: rgba(0, 0, 0, 0.1);
      pointer-events: none;
    }

    .revamp-homepage .scroll-progress__bar {
      width: 100%;
      height: 100%;
      background: linear-gradient(
        90deg,
        var(--brand-primary-500),
        var(--brand-primary-400)
      );
      transform: scaleX(0);
      transform-origin: left center;
    }

    .revamp-homepage [data-brand="paramount-petals"] .scroll-progress__bar {
      background: linear-gradient(90deg, #d91363, #eb297b);
    }

    .revamp-homepage [data-brand="paramount-gading-serpong"] .scroll-progress__bar {
      background: linear-gradient(
        90deg,
        var(--brand-secondary-900),
        var(--brand-primary-500)
      );
    }
    .revamp-homepage .hero-image,
    .revamp-homepage .township-bg-image,
    .revamp-homepage .footer-bg-image {
      will-change: transform;
    }
    @media (prefers-reduced-motion: reduce) {
      .revamp-homepage .scroll-progress {
        display: none;
      }

      .revamp-homepage .hero-image,
      .revamp-homepage .township-bg-image,
      .revamp-homepage .footer-bg-image {
        will-change: auto !important;
        transform: none !important;
      }
    }
    .revamp-homepage .hero-image-wrapper {
      overflow: hidden;
    }
    .revamp-homepage .township-background {
      overflow: hidden;
    }
    .revamp-homepage .footer-background {
      overflow: hidden;
    }
    .revamp-homepage .township-dots {
      will-change: transform;
    }
    .revamp-homepage .township-card,
    .revamp-homepage .property-card,
    .revamp-homepage .news-card--horizontal,
    .revamp-homepage .news-card--vertical {
      /* Use aos */
      /* transition: box-shadow 0.3s ease;*/
    }
    .revamp-homepage .gallery-item {
      /* Don't override aos transition */
    }
    .revamp-homepage .township-card img,
    .revamp-homepage .property-card__image img,
    .revamp-homepage .news-card__image img,
    .revamp-homepage .gallery-item img {
      /* transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94); */
    }
    .revamp-homepage .btn-hero,
    .revamp-homepage .btn-about,
    .revamp-homepage .view-all-btn,
    .revamp-homepage .news-read-more {
      transition:
        box-shadow 0.3s ease,
        background 0.3s ease,
        color 0.3s ease;
    }

    .revamp-homepage .btn-hero:hover,
    .revamp-homepage .btn-about:hover {
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    }
    .revamp-homepage .marketing-member {
      transition: opacity 0.3s ease;
    }
    .revamp-homepage .gallery-item:hover img {
      transform: scale(1.1);
    }
    .revamp-homepage .nav-link {
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .revamp-homepage .awards-banner-wrapper {
      overflow: hidden;
    }

    .revamp-homepage .awards-banner-image {
      transition: transform 0.8s ease;
    }

    .revamp-homepage .awards-banner:hover .awards-banner-image {
      transform: scale(1.03);
    }
    .revamp-homepage .footer-links a {
      transition:
        color 0.3s ease,
        transform 0.3s ease;
      display: inline-block;
    }

    .revamp-homepage .footer-links a:hover {
      transform: translateX(5px);
    }
    .revamp-homepage .social-link {
      transition:
        transform 0.3s ease,
        background 0.3s ease;
    }

    .revamp-homepage .social-link:hover {
      transform: scale(1.15) rotate(5deg);
    }
    .revamp-homepage .category-btn {
      transition:
        background 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease;
    }
    .revamp-homepage .floating-wa-avatar {
      animation: pulse 2s ease-in-out infinite;
    }
  }
/* Golden Glow Animation Keyframes */
@keyframes glowRotate {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@keyframes shimmer {
  0% {
    left: -100%;
  }
  100% {
    left: 150%;
  }
}
/* Shining Border Animation */
@keyframes borderShine {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}
@keyframes innerGlow {
  0%,
  100% {
    box-shadow:
      inset 0 0 10px rgba(212, 175, 55, 0.3),
      0 0 15px rgba(212, 175, 55, 0.2);
  }
  50% {
    box-shadow:
      inset 0 0 20px rgba(255, 215, 0, 0.4),
      0 0 25px rgba(255, 215, 0, 0.3);
  }
}
@keyframes chromeShine {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: -100% 0;
  }
}
@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes awards-flare-pulse {
  0%,
  100% {
    opacity: 0.6;
  }
  50% {
    opacity: 1;
  }
}
@keyframes sparkling-pulse {
  0%,
  100% {
    filter: saturate(1.5);
  }
  50% {
    filter: saturate(2.5);
  }
}
@keyframes borderShimmer {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: calc(100vw + -15px) 0;
  }
}
/* Floating Animation for decorative elements */
@keyframes float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-6px);
  }
}
/* Pulse animation for WhatsApp button */
@keyframes pulse {
  0%,
  100% {
    transform: scale(1);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
  }
  50% {
    transform: scale(1.05);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
  }
}
/* Shimmer effect for loading states */
@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}
@keyframes ringShimmer {
  /* 0%, 100% {
      background-position: 150% center;
    }
    50% {
      background-position: -50% center;
    } */
  0% {
    background-position: 150% center;
  }
  100% {
    background-position: -50% center;
  }
}
/* Page fade-in on load*/
@keyframes revamp-page-fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* Language switch fade-out (applied via script)*/
body.revamp-homepage {
  animation: revamp-page-fadein 0.4s ease-out;
}
body.revamp-homepage.lang-switching {
    opacity: 0;
    transition: opacity 0.35s ease;
    pointer-events: none;
  }
.hover\:bg-blue-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));
}
.focus\:border-blue-500:focus{
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.focus\:outline-none:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus\:ring-2:focus{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-blue-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
}
.focus\:ring-offset-2:focus{
  --tw-ring-offset-width: 2px;
}
.active\:bg-blue-800:active{
  --tw-bg-opacity: 1;
  background-color: rgb(30 64 175 / var(--tw-bg-opacity, 1));
}
@media (min-width: 768px){

  .md\:flex{
    display: flex;
  }

  .md\:aspect-\[16\/20\]{
    aspect-ratio: 16/20;
  }

  .md\:w-4\/12{
    width: 33.333333%;
  }

  .md\:w-8\/12{
    width: 66.666667%;
  }

  .md\:border-b-0{
    border-bottom-width: 0px;
  }

  .md\:border-r-\[3px\]{
    border-right-width: 3px;
  }

  .md\:py-0{
    padding-top: 0px;
    padding-bottom: 0px;
  }
}
@media (min-width: 1024px){

  .lg\:aspect-\[16\/15\]{
    aspect-ratio: 16/15;
  }

  .lg\:text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .lg\:text-sm{
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .lg\:leading-8{
    line-height: 2rem;
  }

  .lg\:leading-loose{
    line-height: 2;
  }
}
@media (min-width: 1280px){

  .xl\:aspect-\[8\/6\]{
    aspect-ratio: 8/6;
  }

  .xl\:px-14{
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }

  .xl\:text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}
