@font-face {
  font-family: "Alliance No.1";
  src: url("fonts/alliance/AllianceNo1-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Alliance No.2";
  src: url("fonts/alliance/AllianceNo2-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --font-alliance-ui: "Alliance No.1", sans-serif;
  --font-alliance-display: "Alliance No.2", sans-serif;
  --pddg-shadow: #272727;
  --pddg-sand: #b9a577;
  --pddg-white: #ffffff;
  --pddg-cream: #faf7f1;
  --pddg-border: rgba(39, 39, 39, 0.14);
  --pddg-muted: rgba(39, 39, 39, 0.62);
}

body.pddg-loader-active {
  overflow: hidden;
}

.pddg-willem-loader {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at 50% 40%, rgba(185, 165, 119, 0.14) 0%, rgba(185, 165, 119, 0) 38%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(250, 247, 241, 1) 100%);
  overflow: hidden;
  opacity: 1;
  will-change: opacity;
}

.pddg-willem-loader::before {
  content: none;
}

.pddg-willem-loader.is-complete {
  pointer-events: none;
}

.pddg-willem-loader__inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(0.12rem, 0.55vw, 0.55rem);
  width: 100%;
  height: 100%;
  padding: 0;
}

.pddg-willem-loader__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(7.5rem, 18vw, 15rem);
  overflow: hidden;
}

.pddg-willem-loader__logo img {
  display: block;
  width: 100%;
  height: auto;
}

.pddg-willem-loader__box {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 0;
  min-width: 0;
  height: clamp(5rem, 10vw, 9.6rem);
  overflow: visible;
}

.pddg-willem-loader__box-inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 1rem;
  width: 100%;
  height: 100%;
}

.pddg-willem-loader__preview {
  position: relative;
  width: 0%;
  height: 100%;
  overflow: hidden;
  background: var(--pddg-white);
  border-radius: 0;
  box-shadow: none;
  transform-origin: 50% 50%;
  will-change: width, height, transform;
}

.pddg-willem-loader__preview-wrap {
  position: relative;
  width: 100%;
  min-width: 1rem;
  height: 100%;
  overflow: hidden;
  transform-origin: 50% 50%;
  will-change: transform;
}

.pddg-willem-loader__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  user-select: none;
  pointer-events: none;
  will-change: transform, opacity;
}

.pddg-willem-loader__image--extra.is--1 {
  z-index: 4;
}

.pddg-willem-loader__image--extra.is--2 {
  z-index: 3;
}

.pddg-willem-loader__image--extra.is--3 {
  z-index: 2;
}

.pddg-willem-loader__image--main {
  z-index: 1;
}

.pddg-willem-loader__preview::after {
  content: "";
  position: absolute;
  inset: 0;
  background: transparent;
  pointer-events: none;
  z-index: 5;
}

html,
body,
.scroller,
#wrap,
#wrapper {
  background: var(--pddg-white) !important;
}

body {
  color: var(--pddg-shadow);
}

body,
body * {
  font-family: var(--font-alliance-ui) !important;
}

.h2g,
.h2,
.h3,
.h4,
.h5,
.up,
.header .rows .h_burger .hb_btn .t,
.header .rows .h_sap .sap_lnk,
.v_menu .b_rows_wrap .vm_m .vm_m_list li a,
.v_menu .b_rows_wrap .vm_m_sap .sap_btn_vm,
.sap_form .t_rows .h5,
.sap_form .rows .get_go {
  font-family: var(--font-alliance-display) !important;
}

a {
  color: inherit;
}

.header .rows .h_burger .hb_btn .lns .lns_nm {
  background: linear-gradient(to right, var(--pddg-shadow) 0%, var(--pddg-sand) 100%) !important;
}

.header .rows .h_burger .hb_btn .t,
.header .rows .h_sap .sap_lnk,
.ms_txt p,
.mdl_cnt p,
.mdl_city p,
.mdl_cpr p {
  color: var(--pddg-shadow) !important;
}

.header .rows .h_sap .sap_lnk,
.ap_bg_mb_lnk,
.apl_r_lnk,
.sap_form .rows .get_go,
.v_menu .b_rows_wrap .vm_m_sap .sap_btn_vm {
  background: rgba(185, 165, 119, 0.16) !important;
  border: 1px solid rgba(185, 165, 119, 0.44) !important;
  color: var(--pddg-shadow) !important;
  box-shadow: none !important;
}

.header .rows .h_sap .sap_lnk:hover,
.ap_bg_mb_lnk:hover,
.apl_r_lnk:hover,
.sap_form .rows .get_go:hover,
.v_menu .b_rows_wrap .vm_m_sap .sap_btn_vm:hover {
  background: var(--pddg-sand) !important;
  border-color: var(--pddg-sand) !important;
  color: var(--pddg-white) !important;
}

.mn_screen,
.intro,
.intro_hold {
  background:
    radial-gradient(circle at 62% 38%, rgba(185, 165, 119, 0.24) 0%, rgba(185, 165, 119, 0) 36%),
    linear-gradient(180deg, var(--pddg-white) 0%, var(--pddg-cream) 100%) !important;
}

.mn_screen,
.intro {
  position: relative;
  overflow: hidden;
}

.intro_img_hold {
  border: 1px solid rgba(185, 165, 119, 0.3);
  box-shadow: 0 32px 72px rgba(39, 39, 39, 0.12);
}

.we_guarantee_quality,
.completed_projects,
.benefits_facts,
.wide_range_of_solutions,
#footer {
  background: linear-gradient(180deg, var(--pddg-white) 0%, rgba(185, 165, 119, 0.12) 100%) !important;
}

.apartment_premises,
.apartment_premises_lnks,
.help_you_realize,
.big_txt,
.doubl_txt_wrap,
.questions_and_discuss,
.dbl_cnt,
.sap_form,
.rq_cards_wrap_mb,
.rq_cards_wrap_mb .container {
  background: var(--pddg-white) !important;
}

.reliability_guarantee {
  background: linear-gradient(180deg, var(--pddg-white) 0%, rgba(185, 165, 119, 0.16) 100%) !important;
}

.we_guarantee_quality :is(.h2, .h3, .h4, .h5, p, a, .txt, .t, .ts, .nbr, .word),
.apartment_premises :is(.h2, .h3, .h4, .h5, p, a, .txt, .t, .ts, .nbr, .word),
.apartment_premises_lnks :is(.h2, .h3, .h4, .h5, p, a, .txt, .t, .ts, .nbr, .word),
.help_you_realize :is(.h2, .h3, .h4, .h5, p, a, .txt, .t, .ts, .nbr, .word),
.big_txt :is(.h2, .h3, .h4, .h5, p, a, .txt, .t, .ts, .nbr, .word, .mv_txt),
.doubl_txt_wrap :is(.h2, .h3, .h4, .h5, p, a, .txt, .t, .ts, .nbr, .word),
.benefits_facts :is(.h2, .h3, .h4, .h5, p, a, .txt, .t, .ts, .nbr, .word),
.reliability_guarantee :is(.h2, .h3, .h4, .h5, p, a, .txt, .t, .ts, .nbr, .word),
.wide_range_of_solutions :is(.h2, .h3, .h4, .h5, p, a, .txt, .t, .ts, .nbr, .word),
.questions_and_discuss :is(.h2, .h3, .h4, .h5, p, a, .txt, .t, .ts, .nbr, .word),
.dbl_cnt :is(.h2, .h3, .h4, .h5, p, a, .txt, .t, .ts, .nbr, .word, .tc),
#footer :is(.h2, .h3, .h4, .h5, p, a, .txt, .t, .ts, .nbr, .word) {
  color: var(--pddg-shadow) !important;
}

.we_guarantee_quality .h3,
.big_txt .mv_txt,
.doubl_txt_wrap .h2,
.reliability_guarantee .ttl .h3,
.wide_range_of_solutions .ttl .h3,
.questions_and_discuss .h3 {
  color: var(--pddg-sand) !important;
}

.completed_projects .eighty,
.completed_projects .eighty_txt .h4 {
  color: var(--pddg-shadow) !important;
}

.completed_projects .eighty_wrap .eighty {
  background: none !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.completed_projects .eighty_wrap .eighty .eighty_mb {
  display: block !important;
  position: relative !important;
  top: 0 !important;
  color: #a9abb5 !important;
  font: 400 clamp(176px, 23vw, 420px) / 0.84 Atyp, sans-serif !important;
  letter-spacing: -0.08em !important;
  transform: translateX(-1.1vw);
}

@media (max-width: 760px) {
  .completed_projects .eighty_wrap .eighty .eighty_mb {
    font-size: 168px !important;
    line-height: 0.84 !important;
    transform: translateX(-8px);
  }
}

.parallax_sections .fixed_t,
.parallax_sections .fixed_t *,
.bg_move p,
.bg_move a {
  color: var(--pddg-white) !important;
}

.v_menu {
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 28px 80px rgba(39, 39, 39, 0.12);
}

.v_menu .b_rows_wrap .vm_m .vm_m_list li a {
  color: var(--pddg-shadow) !important;
}

.v_menu .b_rows_wrap .vm_m .vm_m_list li a.dvs {
  color: rgba(39, 39, 39, 0.34) !important;
}

.v_menu .b_rows_wrap .vm_m_cnt p a,
.v_menu .b_rows_wrap .vm_m_soc .vm_m_soc_list li a {
  color: var(--pddg-muted) !important;
}

.sap_form_ovr {
  background: rgba(39, 39, 39, 0.12) !important;
}

.sap_form {
  background: var(--pddg-white) !important;
  border: 1px solid rgba(185, 165, 119, 0.34);
  box-shadow: 0 40px 100px rgba(39, 39, 39, 0.16);
}

.sap_form .t_rows .h5,
.sap_form input,
.sap_form textarea,
.sap_form .rows_agr p,
.sap_form .rows_agr p a,
.questions_and_discuss input,
.questions_and_discuss textarea,
.questions_and_discuss input::placeholder,
.questions_and_discuss textarea::placeholder,
.sap_form input::placeholder,
.sap_form textarea::placeholder {
  color: var(--pddg-shadow) !important;
}

.sap_form input,
.sap_form textarea,
.questions_and_discuss input,
.questions_and_discuss textarea {
  border-color: rgba(39, 39, 39, 0.22) !important;
}

.sap_form .rows_agr p a::before {
  background: rgba(39, 39, 39, 0.32) !important;
}

.v_menu_cls,
.sap_form_cls {
  background: none !important;
}

.v_menu_cls::before,
.v_menu_cls::after,
.sap_form_cls::before,
.sap_form_cls::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 2px;
  background: var(--pddg-shadow);
  border-radius: 999px;
}

.v_menu_cls::before,
.sap_form_cls::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.v_menu_cls::after,
.sap_form_cls::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.v_menu_cls,
.sap_form_cls,
.h_burger_mb {
  background-color: rgba(255, 255, 255, 0.88) !important;
  border-radius: 999px;
}

.ln_h span,
.ln_v span,
.mdl_ln_h span,
.mdl_ln_v span,
.hyr_ln_h span,
.apl_ln_h span,
.apl_r_ln_h span,
.df_ln_h span,
.df_ln_v span,
.ap_ln_h span,
.ap_ln_v span,
.ap_tp_ln_v span,
.ap_bt_ln_h span,
.rt_ln_h_th span,
.rt_ln_h_bh span,
.r_ln_bh span,
.r_ln_h span {
  background: rgba(39, 39, 39, 0.16) !important;
}

#footer .rows {
  border-top-color: rgba(39, 39, 39, 0.14) !important;
}

#footer .rows .cpr_wrap p,
#footer .rows .develop p {
  color: var(--pddg-muted) !important;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.mn_screen .intro_hold_h1 {
  position: absolute !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  left: 50% !important;
  width: min(57vw, 760px) !important;
  height: auto !important;
  overflow: visible !important;
  z-index: 95 !important;
  transform: translate(-50%, -51%) !important;
}

.mn_screen .intro_hold_h1 .h2g.hero-logo-shell {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  left: 0 !important;
  top: 0 !important;
  color: inherit !important;
  transform: none !important;
  line-height: 0 !important;
  letter-spacing: 0 !important;
}

.intro_hold_h1 .hero-logo-shell {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 280px;
  font-size: 0;
  line-height: 0;
  letter-spacing: 0;
  overflow: visible;
}

.intro_hold_h1 .hero-logo {
  position: relative;
  width: 100%;
  aspect-ratio: 760 / 340;
  pointer-events: none;
  opacity: 0;
  isolation: isolate;
  transform: translate3d(0, 16px, 0) scale(0.98);
  transition:
    opacity 700ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

.intro_hold_h1 .hero-logo::before {
  content: "";
  position: absolute;
  inset: -10% -8%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.8) 34%, rgba(255, 255, 255, 0) 72%);
  filter: blur(18px);
  z-index: 0;
}

.intro_hold_h1 .hero-logo.is-ready {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

.intro_hold_h1 .hero-logo-bloom {
  position: absolute;
  inset: 12% 20% 28%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.48), rgba(255, 255, 255, 0) 72%);
  filter: blur(46px);
  opacity: 0;
  z-index: 1;
}

.intro_hold_h1 .hero-logo.is-ready .hero-logo-bloom {
  animation: hero-logo-bloom 2200ms ease-out forwards;
}

.intro_hold_h1 .hero-logo.is-static .hero-logo-bloom {
  animation: none;
  opacity: 0.45;
}

.intro_hold_h1 .hero-logo-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}

.intro_hold_h1 .hero-logo-wordmark {
  display: none;
  position: absolute;
  left: 50%;
  bottom: clamp(8px, 1.9vw, 18px);
  width: min(49%, 360px);
  opacity: 0;
  z-index: 3;
  transform: translate3d(-50%, 18px, 0);
  transition:
    opacity 900ms cubic-bezier(0.19, 1, 0.22, 1) 1750ms,
    transform 900ms cubic-bezier(0.19, 1, 0.22, 1) 1750ms;
}

.intro_hold_h1 .hero-logo.is-ready .hero-logo-wordmark {
  opacity: 1;
  transform: translate3d(-50%, 0, 0);
}

.intro_hold_h1 .hero-logo-wordmark img {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 18px 36px rgba(0, 0, 0, 0.16));
}

.mn_screen .intro .hero-scroll-cue {
  position: absolute;
  left: 50%;
  bottom: clamp(6px, 0.8vw, 18px);
  z-index: 110;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  pointer-events: none;
  transform: translateX(-50%);
}

.mn_screen .intro ~ .ms_txt,
.mn_screen .ms_txt {
  bottom: auto !important;
  top: clamp(22px, 2.4vw, 34px);
  opacity: 1 !important;
  transform: none !important;
}

.mn_screen .intro .hero-scroll-cue__lottie {
  width: clamp(122px, 12.5vw, 164px) !important;
  height: clamp(122px, 12.5vw, 164px) !important;
  display: block;
  overflow: hidden;
  filter: contrast(1.02) saturate(0.9);
}

.mn_screen .intro .hero-scroll-cue__label {
  margin: -20px 0 0;
  color: rgba(39, 39, 39, 0.72);
  font-family: var(--font-alliance-ui);
  font-size: 0.96rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

@keyframes hero-logo-bloom {
  0% {
    opacity: 0;
    transform: scale(0.72);
  }

  45% {
    opacity: 1;
  }

  100% {
    opacity: 0.45;
    transform: scale(1);
  }
}

@media (max-width: 760px) {
  .pddg-willem-loader__inner {
    gap: 0.1rem;
    padding: 0;
  }

  .pddg-willem-loader__logo {
    width: clamp(5.4rem, 24vw, 8rem);
  }

  .pddg-willem-loader__box {
    height: clamp(3.9rem, 14vw, 5.5rem);
  }

  .pddg-willem-loader__preview {
    border-radius: 0;
  }

  .mn_screen .intro_hold_h1 {
    width: min(82vw, 520px) !important;
    transform: translate(-50%, -53%) !important;
  }

  .mn_screen .intro_hold_h1 .h2g.hero-logo-shell {
    min-width: 240px;
  }

  .intro_hold_h1 .hero-logo-shell {
    min-width: 240px;
  }

  .intro_hold_h1 .hero-logo {
    aspect-ratio: 520 / 420;
  }

  .intro_hold_h1 .hero-logo-bloom {
    inset: 16% 12% 30%;
    filter: blur(34px);
  }

  .intro_hold_h1 .hero-logo-wordmark {
    width: min(70%, 280px);
    bottom: clamp(14px, 5vw, 28px);
  }

  .mn_screen .intro .hero-scroll-cue {
    bottom: 10px;
  }

  .mn_screen .intro .hero-scroll-cue__lottie {
    width: 112px !important;
    height: 112px !important;
  }

  .mn_screen .intro .hero-scroll-cue__label {
    margin-top: -16px;
    font-size: 0.78rem;
  }

  .mn_screen .intro ~ .ms_txt,
  .mn_screen .ms_txt {
    top: 68px;
  }
}

@media (max-width: 420px) {
  .pddg-willem-loader__logo {
    width: clamp(4.7rem, 23vw, 6.6rem);
  }

  .pddg-willem-loader__box {
    height: clamp(3.3rem, 13vw, 4.5rem);
  }

  .mn_screen .intro_hold_h1 {
    width: min(84vw, 460px) !important;
  }

  .intro_hold_h1 .hero-logo-shell {
    min-width: 220px;
  }

  .intro_hold_h1 .hero-logo-wordmark {
    width: min(74%, 240px);
  }
}

.doubl_txt_wrap .rows.fluid-pddg-row {
  padding-bottom: clamp(0.7rem, 1.2vw, 1.4rem);
}

.doubl_txt_wrap .rows.fluid-pddg-row .fluid-pddg-heading {
  color: transparent !important;
  display: block;
}

.fluid-pddg-shell {
  position: relative;
  display: block;
  width: min(92vw, 76rem);
  height: clamp(5.6rem, 10vw, 10.8rem);
  pointer-events: auto;
}

.fluid-pddg-shell::before {
  content: "";
  position: absolute;
  inset: -18% -4%;
  background: radial-gradient(circle at 50% 50%, rgba(185, 165, 119, 0.18) 0%, rgba(185, 165, 119, 0) 72%);
  filter: blur(22px);
  z-index: 0;
}

.fluid-pddg-canvas,
.fluid-pddg-stage {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 2;
}

.fluid-pddg-fallback {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  color: var(--pddg-sand);
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  white-space: nowrap;
  z-index: 1;
  transition: opacity 280ms ease;
}

.fluid-pddg-shell.is-ready .fluid-pddg-fallback {
  opacity: 0;
}

.fluid-pddg-mark {
  position: absolute;
  top: 0.16em;
  right: -0.02em;
  color: var(--pddg-sand);
  font-family: var(--font-alliance-display);
  font-size: 0.16em;
  line-height: 1;
  letter-spacing: -0.02em;
  z-index: 3;
}

@media (max-width: 760px) {
  .fluid-pddg-shell {
    width: min(94vw, 36rem);
    height: clamp(4.4rem, 13.6vw, 6rem);
  }

  .fluid-pddg-mark {
    top: 0.1em;
    right: -0.06em;
    font-size: 0.2em;
  }
}

/* ---------------------------------------------------------------
   Light-theme overrides: the template was originally dark, so a
   number of elements still assume a dark background. Force them
   white on the white-themed site.
   --------------------------------------------------------------- */

/* Architecture / Interiors / Construction / Realty labels that
   sit directly on top of imagery in the apartment_premises block */
.apartment_premises .dic_txt .h5,
.apartment_premises .dic_txt .h3,
.apartment_premises .dic_txt .ts {
  color: #ffffff !important;
}

/* Remove the wavy fluid PDDG wordmark animation and show plain text */
.fluid-pddg-canvas {
  display: none !important;
}
.fluid-pddg-shell .fluid-pddg-fallback,
.fluid-pddg-shell.is-ready .fluid-pddg-fallback {
  opacity: 1 !important;
  color: #111111;
}
.fluid-pddg-mark {
  color: #111111;
}

/* The "Plans the Site / Shapes the House..." reveal rows were built
   for a dark theme: white h2 text, dark overlay, and images blended
   with `mix-blend-mode: lighten`. On the white theme we invert the
   contrast so the same GSAP scrub reveal (scaleX 1 -> 0, origin
   100% 100%) reads cleanly and the dtw_img photos actually float in
   instead of getting erased by the blend mode. */
.doubl_txt_wrap .doubl_txt .rows .h2,
.doubl_txt_wrap .doubl_txt .rows .h2 a {
  color: #111111 !important;
}
/* Original template offset the overlay by ~1.8vw and used
   transform-origin 100% 100%, which is invisible against a dark
   semi-transparent fill but exposes a sliver of text above and
   below the overlay once the fill becomes opaque white. Pin the
   overlay to cover the row exactly and anchor the scaleX collapse
   to the right edge so it sweeps cleanly left -> right across the
   letters. */
.doubl_txt_wrap .doubl_txt .rows .dt_ovr {
  background: rgba(255, 255, 255, 0.78) !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  transform-origin: 100% 50% !important;
}
.chrome_mac .doubl_txt_wrap .doubl_txt .rows .dt_ovr,
.safari_mac .doubl_txt_wrap .doubl_txt .rows .dt_ovr {
  top: 0 !important;
}
.doubl_txt_wrap .dtw_img {
  mix-blend-mode: normal !important;
}

/* --- Tighten the "Plans the Site" reveal section --------------------
   The template ships with 21.6vw top + 17.4vw bottom of padding on
   .doubl_txt and a ~7.6vw-per-row cadence (9.479vw line-height minus
   -1.823vw negative margin), which produces a huge amount of blank
   space around the headline stack. Shrink the vertical padding and
   pull the rows closer together so the section reads as a dense
   block of copy with photos tucked in -- the way Selemen's #page9
   lays it out.
   ------------------------------------------------------------------ */
.doubl_txt_wrap .doubl_txt {
  padding: 9vw 0 9vw !important;
}
.doubl_txt_wrap .doubl_txt .rows {
  margin: 0 0 -2.6vw !important;
}
.doubl_txt_wrap .doubl_txt .rows .h2 {
  line-height: 8.4vw !important;
}

/* --- Reposition the three floating photos to match Selemen #page9 ---
   Template reference:
     ig91 -> upper center-right, small portrait  (top 15%, left 55%, w 20%)
     ig92 -> bottom right, medium landscape      (bottom 10%, right 0, w 30%)
     ig93 -> bottom left, small portrait         (bottom -11%, left 0, w 20%)
   The existing GSAP timeline in main.min.js parallaxes each image by
   -36.458vw / -32.656vw / -26.042vw over a `top bottom -> bottom top`
   scrub, so the values below are the *resting* CSS position -- by the
   time the section is centered in the viewport each image has already
   drifted ~half of its y-delta upward, landing in a balanced Selemen-
   style composition around the text.
   ------------------------------------------------------------------ */
/* The JS parallax moves each image upward by
   -36.458 / -32.656 / -26.042vw over a `top bottom -> bottom top`
   scrub, so at the moment the section is centered in the viewport
   each image has already drifted half of its delta. To land
   img01 near ~15vw, img02 near ~35vw, img03 near ~52vw inside the
   ~73vw-tall section we set the CSS top to target + delta/2. */
.doubl_txt_wrap .dtw_img.dtw_img01 {
  width: 14vw !important;
  height: 19vw !important;
  top: 33vw !important;
  left: auto !important;
  right: 6vw !important;
}
.doubl_txt_wrap .dtw_img.dtw_img02 {
  width: 20vw !important;
  height: 13vw !important;
  top: 51vw !important;
  left: 4vw !important;
  right: auto !important;
}
.doubl_txt_wrap .dtw_img.dtw_img03 {
  width: 17vw !important;
  height: 23vw !important;
  top: 65vw !important;
  left: auto !important;
  right: 2vw !important;
}

/* --- Tighten .benefits_facts --------------------------------------
   The template makes each .bf_lnk a 25.729vw-tall box with tiny text
   pinned to the bottom, which creates a massive band of whitespace
   between the "Advantages and Facts" eyebrow and the
   "About PDDG" / "Services" labels. Shrink the cell height and
   reduce the outer padding so the whole band reads compact. */
.benefits_facts .rows .cols .bf_lnk {
  height: 9vw !important;
}
.benefits_facts .rows {
  padding: 0 0 0 !important;
}
.benefits_facts .container {
  padding-top: 2.5vw !important;
  padding-bottom: 2.5vw !important;
}
@media (max-width: 760px) {
  .benefits_facts .rows .cols .bf_lnk {
    height: 72px !important;
  }
  .benefits_facts .container {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
}
.doubl_txt_wrap .dtw_img img {
  object-fit: cover;
}

@media (max-width: 760px) {
  .doubl_txt_wrap .doubl_txt {
    padding: 80px 0 60px !important;
  }
  .doubl_txt_wrap .doubl_txt .rows {
    margin: 0 0 0 11px !important;
  }
  .doubl_txt_wrap .doubl_txt .rows .h2 {
    line-height: 45px !important;
  }
  .doubl_txt_wrap .dtw_img.dtw_img01 {
    width: 72px !important;
    height: 100px !important;
    top: 330px !important;
    right: 16px !important;
    left: auto !important;
  }
  .doubl_txt_wrap .dtw_img.dtw_img02 {
    width: 96px !important;
    height: 64px !important;
    top: 430px !important;
    left: 16px !important;
    right: auto !important;
  }
  .doubl_txt_wrap .dtw_img.dtw_img03 {
    width: 84px !important;
    height: 120px !important;
    top: 540px !important;
    right: 12px !important;
    left: auto !important;
  }
}

[data-osmo-reveal] {
  visibility: visible;
}

.osmo-mask-line {
  display: block;
  overflow: hidden;
}

.osmo-mask-letters {
  display: inline-block;
}

.osmo-line {
  display: block;
  will-change: transform;
}

.osmo-word,
.osmo-char {
  will-change: transform;
}

.osmo-char {
  display: inline-block;
}

.osmo-char--space {
  min-width: 0.28em;
}

[data-osmo-reveal="letters"] .osmo-line {
  transform: none !important;
  opacity: 1 !important;
}

[data-osmo-reveal="letters"] .osmo-word {
  display: inline-block;
}

.we_guarantee_quality [data-osmo-reveal],
.parallax_sections [data-osmo-reveal] {
  display: block;
}

.we_guarantee_quality .h3[data-osmo-reveal] {
  transform: none !important;
}

.parallax_sections .txt.vs[data-osmo-reveal],
.parallax_sections .txt.mb[data-osmo-reveal] {
  overflow: visible;
}
.doubl_txt_wrap .dtw_img img {
  box-shadow: 0 30px 80px rgba(17, 17, 17, 0.12);
}

/* "About PDDG" and "Services" big link labels */
.benefits_facts .bf_lnk .txt {
  color: #111111 !important;
}

/* --- Rotating PDDG word tube inside the contact CTA box ----------
   Replaces the old pillar scene in the right-hand .cols_ttl02 cell
   next to "We are happy to answer your questions..." with a light,
   DOM-based GSAP word tunnel. */
.cols_ttl.cols_ttl02 {
  position: relative;
  min-height: 32vw;
}
.pddg-word-tube {
  position: absolute;
  inset: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.88) 56%, rgba(185, 165, 119, 0.14) 100%);
}

.pddg-word-tube::before {
  content: "";
  position: absolute;
  inset: 1.2vw;
  border: 1px solid rgba(39, 39, 39, 0.12);
  border-radius: 1.2vw;
  pointer-events: none;
}

.pddg-word-tube::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0) 22%, rgba(255, 255, 255, 0) 78%, rgba(255, 255, 255, 0.88) 100%);
  pointer-events: none;
}

.pddg-word-tube__inner {
  position: relative;
  width: calc(100% - 4.8vw);
  height: min(18vw, 18rem);
  visibility: hidden;
}

.pddg-word-tube__line {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: 0;
  transform: translate(-50%, -50%);
  font-family: "Alliance No.2", sans-serif;
  font-size: clamp(5rem, 11.8vw, 11rem);
  line-height: 0.9;
  letter-spacing: -0.085em;
  white-space: nowrap;
  text-align: center;
  color: var(--pddg-shadow);
  transform-style: preserve-3d;
  user-select: none;
  will-change: transform;
}

.pddg-word-tube__line:nth-child(1) {
  opacity: 0.1;
}

.pddg-word-tube__line:nth-child(2) {
  opacity: 0.2;
}

.pddg-word-tube__line:nth-child(3) {
  opacity: 0.34;
}

.pddg-word-tube__line:nth-child(4) {
  opacity: 0.56;
}

.pddg-word-tube__line:nth-child(5) {
  opacity: 0.92;
}

.pddg-word-tube__char {
  display: inline-block;
  backface-visibility: hidden;
  transform-style: preserve-3d;
}

.pddg-word-tube__char--space {
  width: 0.18em;
}

@media (max-width: 760px) {
  .cols_ttl.cols_ttl02 {
    min-height: 60vw;
  }
}

/* "Guarantee of Reliability" + "Clear communication..." copy sits
   over a near-white sculpture photo, so the copy needs to be dark
   to stay legible. */
.reliability_guarantee .ttl .h3,
.reliability_guarantee .ttl .h3 .br,
.reliability_guarantee .ttl p,
.reliability_guarantee .ttl p .br {
  color: #111111 !important;
}

/* The 01 / 02 / 03 floating captions inside .reliability_guarantee
   sit on top of dark project photos, so force them white. */
.reliability_guarantee .rqf_imgs .txt,
.reliability_guarantee .rqf_imgs .txt .nbr,
.reliability_guarantee .rqf_imgs .txt .t,
.reliability_guarantee .rqf_imgs .txt .t .br {
  color: #ffffff !important;
}

/* --- .dbl_cnt "Luxury custom home studio" + contact block ---------
   The template paints this block on a dark background and ships
   white-on-dark type. On the white theme the background flips but
   the paragraph/link colors stayed muted grey and read as broken.
   Force every text node in the block to white so it reads as the
   dark footer band the user expects. */
.dbl_cnt {
  background: #111111 !important;
  color: #ffffff !important;
}
.dbl_cnt p,
.dbl_cnt a,
.dbl_cnt .tc,
.dbl_cnt .c p,
.dbl_cnt .c a,
.dbl_cnt .cm,
.dbl_cnt .cm a {
  color: #ffffff !important;
}

/* --- .successful_work "More than 13 years" + big PDDG wordmark ----
   Dark-theme template had this in white. Flip to black for the
   light theme, and bold the big PDDG letters so they read as the
   emphasized footer logotype. */
.successful_work .t_ttl p,
.successful_work .t_ttl p .br,
.successful_work .t_ttl .h2,
.successful_work .t_ttl .h2 .h2_in,
.successful_work .t_ttl .h2 .h2_t,
.successful_work .t_ttl .h2 .h2_t.c {
  color: #111111 !important;
}
.successful_work .t_ttl .h2,
.successful_work .t_ttl .h2 .h2_in,
.successful_work .t_ttl .h2 .h2_t {
  font-family: "Doto", sans-serif !important;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700 !important;
  font-variation-settings: "ROND" 0;
}

.successful_work .t_ttl .h2 .h2_t.c {
  font-family: "Doto", sans-serif !important;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700 !important;
  font-variation-settings: "ROND" 0;
}
