/* =========================
   Primadom AI System
   Property Type Page CSS

   Strict production order:
   00 Base / Tokens / Reset
   01 Header
   01 Header / Mobile
   02 Breadcrumbs
   02 Breadcrumbs / Mobile
   03 Property Type Hero + H1 + AI Finder
   03 Property Type Hero + H1 + AI Finder / Mobile
   04 Shared Property Type Cards
   04 Shared Property Type Cards / Mobile
   05 Property Type Summary + Property Type Details / Key Facts
   05 Property Type Summary + Property Type Details / Key Facts / Mobile
   06 Who It Is For + Property Type Logic
   06 Who It Is For + Property Type Logic / Mobile
   07 Best Districts + Price Range
   07 Best Districts + Price Range / Mobile
   08 Investment Logic / Lifestyle Logic / Pros And Cons / AI Context
   08 Investment Logic / Lifestyle Logic / Pros And Cons / AI Context / Mobile
   09 Recommended Projects + Pros And Cons
   09 Recommended Projects + Pros And Cons / Mobile
   10 Similar Property Types + FAQ + Source Notes
   10 Similar Property Types + FAQ + Source Notes / Mobile
   11 CTA / AI Finder Handoff
   11 CTA / AI Finder Handoff / Mobile
   12 Lead Modal
   12 Lead Modal / Mobile
   13 Footer
   13 Footer / Mobile
   14 RTL Helpers
========================= */

/* =========================
   00 Base / Tokens / Reset
========================= */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;650;700;800;900&display=swap");

:root {
  --pt-font: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --pt-dark: #070604;
  --pt-dark-2: #17120f;
  --pt-dark-3: #2a150f;
  --pt-cream: #f7d8aa;
  --pt-copper: #c86b47;
  --pt-sand: #f6f0e8;
  --pt-sand-2: #eee5da;
  --pt-ink: #111111;
  --pt-muted: rgba(17,17,17,.62);
  --pt-side: 230px;
}

*, *::before, *::after {
  box-sizing: border-box;
  font-family: var(--pt-font);
}

html {
  scroll-behavior: smooth;
  background: var(--pt-dark);
  color: var(--pt-ink);
}

body {
  margin: 0;
  background: #f2eadf;
  color: var(--pt-ink);
  line-height: 1.5;
}

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

button,
input,
textarea {
  font-family: var(--pt-font);
}

button {
  border: 0;
  cursor: pointer;
}

img {
  display: block;
  max-width: 100%;
}

.page-property-type {
  overflow-x: hidden;
}

.pt-page {
  overflow: hidden;
}

html.pt-modal-open {
  overflow: hidden;
}

/* =========================
   01 Header
========================= */
.pt-header {
  position: absolute;
  top: 26px;
  left: 0;
  right: 0;
  z-index: 80;
  padding: 0 100px;
  pointer-events: none;
  font-family: var(--font-main);
}

.pt-header__inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 22px;
}

.pt-header__badge,
.pt-header__nav,
.pt-header__right,
.pt-header__cta {
  pointer-events: auto;
}

.pt-header__badge {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  height: 46px;
  padding: 0 22px 0 17px;
  border-radius: 999px;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 14px 40px rgba(0,0,0,.22);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.pt-header__badge-dot {
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  border-radius: 50%;
  background: #f4d79d;
  box-shadow: 0 0 0 8px rgba(244,215,157,.14), 0 0 20px rgba(244,215,157,.55);
}

.pt-header__nav {
  justify-self: center;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 52px;
  padding: 6px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 16px 48px rgba(0,0,0,.22);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}

.pt-header__nav-link {
  min-width: 126px;
  height: 40px;
  padding: 0 18px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.76);
  font-size: 14px;
  font-weight: 450;
  white-space: nowrap;
  transition: .22s ease;
}

.pt-header__nav-link:hover,
.pt-header__nav-link.is-active {
  color: #fff;
  background: rgba(255,255,255,.14);
  transform: translateY(-2px);
}


.pt-header__right {
  justify-self: end;
}

.pt-header__cta {
  height: 52px;
  padding: 0 30px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #15100d;
  font-size: 15px;
  font-weight: 750;
  white-space: nowrap;
  background: linear-gradient(135deg, #f7d3a2, #c86a47);
  box-shadow:
    0 18px 48px rgba(117,49,25,.30),
    inset 0 1px 0 rgba(255,255,255,.34);
  transition:
    transform .24s ease,
    box-shadow .24s ease,
    filter .24s ease;
  will-change: transform;
}

.pt-header__cta:hover {
  transform: translateY(-3px);
  filter: saturate(1.06) brightness(1.02);
  box-shadow:
    0 24px 58px rgba(117,49,25,.40),
    inset 0 1px 0 rgba(255,255,255,.42);
}

.pt-header__cta:active {
  transform: translateY(-1px);
  box-shadow:
    0 16px 38px rgba(117,49,25,.32),
    inset 0 1px 0 rgba(255,255,255,.34);
}

/* =========================
   01 Header / Mobile
========================= */
@media (max-width: 1380px) {
  .pt-header {
    padding: 0 64px;
  }
}

@media (max-width: 1180px) {
  .pt-header {
    padding: 0 28px;
  }

  .pt-header__inner {
    grid-template-columns: 1fr auto;
  }

  .pt-header__nav {
    display: none;
  }
}

@media (max-width: 760px) {
  .pt-header {
    position: relative;
    top: auto;
    padding: 18px 14px 0;
    background: linear-gradient(135deg, #060504 0%, #18120f 54%, #2a150f 100%);
  }

  .pt-header__inner {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .pt-header__badge,
  .pt-header__right {
    justify-self: center;
  }
}

/* =========================
   02 Breadcrumbs
========================= */
.pt-hero-breadcrumbs {
  margin: -2px 0 16px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  color: rgba(255, 255, 255, 0.43);
  font-family: var(--font-main);
  font-size: 12.5px;
  font-weight: 460;
  line-height: 1.25;
  letter-spacing: -0.005em;
}

.pt-hero-breadcrumbs a,
.pt-hero-breadcrumbs span {
  min-height: auto;
  padding: 0;
  border-radius: 0;
  display: inline-flex;
  align-items: center;
  color: inherit;
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.pt-hero-breadcrumbs a {
  transition:
    color .22s ease,
    opacity .22s ease;
}

.pt-hero-breadcrumbs a:hover {
  color: rgba(255, 255, 255, 0.78);
}

.pt-hero-breadcrumbs span {
  color: rgba(247, 216, 170, 0.64);
  font-weight: 520;
}

.pt-hero-breadcrumbs i {
  width: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-style: normal;
  font-size: 0;
  line-height: 1;
  color: rgba(247, 216, 170, 0.42);
}

.pt-hero-breadcrumbs i::before {
  content: "›";
  font-size: 14px;
  font-weight: 420;
  line-height: 1;
  transform: translateY(-1px);
}

/* =========================
   02 Breadcrumbs / Mobile
========================= */
@media (max-width: 760px) {
  .pt-hero-breadcrumbs {
    margin: 0 0 12px;
    gap: 7px;
    font-size: 11px;
    font-weight: 450;
  }

  .pt-hero-breadcrumbs i {
    width: 8px;
  }

  .pt-hero-breadcrumbs i::before {
    font-size: 12px;
  }
}
/* =========================
   03 Property Type Hero + H1 + AI Finder
========================= */
.pt-hero {
  position: relative;
  padding: 118px 0 48px;
  color: #ffffff;

  background:
    radial-gradient(circle at 18% 10%, rgba(247,216,170,.12), transparent 30%),
    radial-gradient(circle at 88% 18%, rgba(198,107,71,.18), transparent 34%),
    linear-gradient(135deg, #060504 0%, #18120f 54%, #2a150f 100%);

  overflow: hidden;
}

.pt-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .08;
  pointer-events: none;

  background:
    linear-gradient(90deg, rgba(247,216,170,.08) 1px, transparent 1px),
    linear-gradient(180deg, rgba(247,216,170,.06) 1px, transparent 1px);
  background-size: 92px 92px;
}

.pt-hero__inner {
  position: relative;
  z-index: 2;
  width: min(1600px, calc(100vw - (var(--pt-side) * 2)));
  margin: 0 auto;
}

.pt-visual {
  position: relative;
  height: 470px;
  border-radius: 38px;
  overflow: hidden;
  isolation: isolate;

  background: #14110f;
  border: 1px solid rgba(255,255,255,.16);
  box-shadow:
    0 34px 120px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.14);
}

.pt-visual img {
  position: absolute;
  inset: 0;
  z-index: 1;

  width: 100%;
  height: 100%;
  object-fit: cover;

  filter: saturate(1.04) contrast(1.02);
  transform: scale(1.01);
}

.pt-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;

  background:
    radial-gradient(circle at 78% 16%, rgba(247,216,170,.10), transparent 32%),
    linear-gradient(90deg, rgba(5,5,4,.82) 0%, rgba(5,5,4,.46) 44%, rgba(5,5,4,.12) 100%),
    linear-gradient(180deg, rgba(5,5,4,.08), rgba(5,5,4,.62));
}

.pt-hero__content {
  position: absolute;
  left: 44px;
  right: 44px;
  bottom: 36px;
  z-index: 7;

  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  pointer-events: none;
}

.pt-title-pill {
  max-width: min(455px, 48vw);
  padding: 14px 16px;
  border-radius: 18px;

  color: #ffffff;
  background:
    linear-gradient(135deg, rgba(18, 18, 17, 0.14), rgba(35, 30, 26, 0.08));
  border: 1px solid rgba(255, 255, 255, 0.075);
  box-shadow:
    0 10px 28px rgba(0, 0, 0, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.045);

  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
  pointer-events: auto;
}

.pt-hero h1 {
  max-width: none;
  margin: 0;

  color: rgba(255,255,255,.96);
  font-size: clamp(20px, 1.95vw, 28px);
  font-weight: 500;
  line-height: 1.03;
  letter-spacing: -0.04em;
}

.pt-hero__lead {
  max-width: none;
  margin: 6px 0 0;

  color: rgba(255,255,255,.76);
  font-size: 13px;
  font-weight: 440;
  line-height: 1.25;
  letter-spacing: -0.012em;
}

.pt-hero__facts {
  max-width: min(470px, 46vw);
  margin: 0;

  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;

  pointer-events: auto;
}

.pt-hero__facts span {
  min-height: 34px;
  padding: 0 13px;
  border-radius: 999px;

  display: inline-flex;
  align-items: center;

  color: rgba(255,255,255,.80);
  background:
    linear-gradient(135deg, rgba(18, 18, 17, 0.14), rgba(35, 30, 26, 0.08));
  border: 1px solid rgba(255,255,255,.10);
  box-shadow:
    0 10px 28px rgba(0,0,0,.08),
    inset 0 1px 0 rgba(255,255,255,.045);

  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);

  font-size: 11px;
  font-weight: 650;
}

.pt-ai {
  position: relative;
  z-index: 6;

  width: 100%;
  min-height: 64px;
  margin-top: 16px;
  padding: 6px;
  border-radius: 999px;

  display: flex;
  align-items: center;
  gap: 12px;

  background:
    linear-gradient(135deg, rgba(17,16,14,.76), rgba(33,28,24,.70));
  border: 1px solid rgba(255,255,255,.16);
  box-shadow:
    0 24px 72px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.10);

  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);

  transition:
    border-color .24s ease,
    box-shadow .24s ease,
    background .24s ease;
}

.pt-ai.is-voice-active {
  border-color: rgba(247,216,170,.34);
  box-shadow:
    0 28px 86px rgba(0,0,0,.30),
    0 0 0 1px rgba(247,216,170,.10),
    0 0 48px rgba(198,107,71,.16),
    inset 0 1px 0 rgba(255,255,255,.18);
}

.pt-ai__badge {
  height: 50px;
  padding: 0 18px 0 16px;
  border-radius: 999px;

  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;

  color: rgba(255,255,255,.92);
  font-size: 10.5px;
  font-weight: 650;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;

  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.13);
}

.pt-ai__badge span {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: 50%;
  background: #f4d79d;
  box-shadow:
    0 0 0 7px rgba(244,215,157,.10),
    0 0 18px rgba(244,215,157,.56);
}

.pt-ai input {
  flex: 1 1 auto;
  min-width: 0;
  height: 50px;

  border: 0;
  outline: 0;
  background: transparent;

  color: rgba(255,255,255,.94);
  font-size: 15px;
  font-weight: 390;
}

.pt-ai input::placeholder {
  color: rgba(255,255,255,.52);
}

.pt-ai__voice {
  position: relative;
  width: 50px;
  height: 50px;
  flex: 0 0 50px;
  border-radius: 50%;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  background: rgba(255,255,255,.075);
  border: 1px solid rgba(255,255,255,.16);
  cursor: pointer;
  overflow: visible;
  isolation: isolate;

  transition:
    transform .24s ease,
    background .24s ease,
    border-color .24s ease,
    box-shadow .24s ease;
}

.pt-ai__voice:hover {
  transform: translateY(-2px);
  background: rgba(255,255,255,.11);
  border-color: rgba(255,255,255,.24);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    0 16px 34px rgba(0,0,0,.26);
}

.pt-ai__voice-aura {
  position: absolute;
  inset: -7px;
  z-index: -2;
  border-radius: inherit;
  opacity: 0;

  background:
    conic-gradient(
      from 180deg,
      rgba(96,165,250,0),
      rgba(96,165,250,.42),
      rgba(168,85,247,.38),
      rgba(247,216,170,.34),
      rgba(96,165,250,0)
    );

  filter: blur(8px);
  transform: scale(.88);
  transition: opacity .24s ease, transform .24s ease;
}

.pt-ai__voice-core {
  width: 34px;
  height: 34px;
  border-radius: 999px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  transition:
    transform .24s ease,
    background .24s ease;
}

.pt-ai__voice-core img {
  width: 20px;
  height: 20px;
  display: block;

  filter: brightness(0) invert(1);
  opacity: .92;

  transition:
    opacity .24s ease,
    filter .24s ease,
    transform .24s ease;
}

.pt-ai__voice:hover .pt-ai__voice-core img {
  opacity: 1;
  transform: scale(1.04);
}

.pt-ai.is-voice-active .pt-ai__voice {
  transform: translateY(-2px) scale(1.03);
  border-color: rgba(247,216,170,.38);

  background:
    radial-gradient(circle at 35% 25%, rgba(247,216,170,.22), transparent 40%),
    rgba(255,255,255,.10);

  box-shadow:
    0 0 0 1px rgba(247,216,170,.12),
    0 0 34px rgba(198,107,71,.24),
    0 16px 40px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.18);
}

.pt-ai.is-voice-active .pt-ai__voice-aura {
  opacity: 1;
  transform: scale(1);
  animation: ptVoiceAura 1.35s linear infinite;
}

.pt-ai.is-voice-active .pt-ai__voice-core {
  background:
    linear-gradient(135deg, rgba(96,165,250,.22), rgba(168,85,247,.18), rgba(198,107,71,.18));
  animation: ptVoicePulse 1.05s ease-in-out infinite;
}

.pt-ai.is-voice-active .pt-ai__voice-core img {
  opacity: 1;
  filter: brightness(0) invert(1) drop-shadow(0 0 10px rgba(247,216,170,.40));
}

@keyframes ptVoiceAura {
  to {
    transform: scale(1) rotate(360deg);
  }
}

@keyframes ptVoicePulse {
  0%, 100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.08);
  }
}

.pt-ai__voice-popover {
  position: absolute;
  right: 144px;
  bottom: 78px;
  z-index: 20;

  opacity: 0;
  pointer-events: none;
  transform: translateY(12px) scale(.96);

  transition:
    opacity .24s ease,
    transform .34s cubic-bezier(.16,1,.3,1);
}

.pt-ai.is-voice-active .pt-ai__voice-popover {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.pt-ai__voice-popover-inner {
  position: relative;
  min-width: 272px;
  min-height: 58px;
  padding: 11px 13px;
  border-radius: 20px;

  display: flex;
  align-items: center;
  gap: 11px;

  color: #ffffff;
  background:
    radial-gradient(circle at 15% 20%, rgba(247,216,170,.18), transparent 32%),
    linear-gradient(135deg, rgba(10,9,8,.92), rgba(33,25,21,.90));

  border: 1px solid rgba(255,255,255,.16);
  box-shadow:
    0 20px 58px rgba(0,0,0,.32),
    inset 0 1px 0 rgba(255,255,255,.12);

  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
}

.pt-ai__voice-popover-inner::after {
  content: "";
  position: absolute;
  right: 32px;
  bottom: -8px;
  width: 15px;
  height: 15px;
  transform: rotate(45deg);

  background: rgba(20,16,14,.92);
  border-right: 1px solid rgba(255,255,255,.12);
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.pt-ai__voice-dot {
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  border-radius: 50%;

  background: #f4d79d;
  box-shadow:
    0 0 0 8px rgba(244,215,157,.10),
    0 0 20px rgba(244,215,157,.60);

  animation: ptVoiceDot 1s ease-in-out infinite;
}

@keyframes ptVoiceDot {
  0%, 100% {
    transform: scale(1);
    opacity: .78;
  }

  50% {
    transform: scale(1.28);
    opacity: 1;
  }
}

.pt-ai__voice-status,
.pt-ai__voice-text {
  display: block;
}

.pt-ai__voice-status {
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
}

.pt-ai__voice-text {
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;

  color: rgba(255,255,255,.66);
  font-size: 11px;
  line-height: 1.15;
}

.pt-ai__voice-bars {
  margin-left: auto;
  height: 20px;

  display: inline-flex;
  align-items: center;
  gap: 3px;
}

.pt-ai__voice-bars i {
  display: block;
  width: 3px;
  height: 7px;
  border-radius: 999px;

  background: rgba(247,216,170,.84);
  animation: ptVoiceBars .8s ease-in-out infinite;
}

.pt-ai__voice-bars i:nth-child(2) { animation-delay: .12s; }
.pt-ai__voice-bars i:nth-child(3) { animation-delay: .24s; }
.pt-ai__voice-bars i:nth-child(4) { animation-delay: .36s; }

@keyframes ptVoiceBars {
  0%, 100% {
    height: 7px;
    opacity: .55;
  }

  50% {
    height: 20px;
    opacity: 1;
  }
}

.pt-ai button[type="submit"] {
  height: 50px;
  min-width: 124px;
  border: 0;
  border-radius: 999px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: #ffffff;
  font-size: 15px;
  font-weight: 680;
  cursor: pointer;

  background: #c86b47;
  box-shadow:
    0 14px 34px rgba(117,49,25,.34),
    inset 0 1px 0 rgba(255,255,255,.24);

  transition:
    transform .22s ease,
    filter .22s ease,
    box-shadow .22s ease;
}

.pt-ai button[type="submit"]:hover {
  transform: translateY(-2px);
  filter: saturate(1.06);
  box-shadow:
    0 18px 42px rgba(117,49,25,.42),
    inset 0 1px 0 rgba(255,255,255,.30);
}

/* =========================
   03 Property Type Hero + H1 + AI Finder / Mobile
========================= */
@media (max-width: 1500px) {
  :root {
    --pt-side: 160px;
  }
}

@media (max-width: 1180px) {
  :root {
    --pt-side: 24px;
  }

  .pt-hero {
    padding: 104px 0 46px;
  }
}

@media (max-width: 760px) {
  :root {
    --pt-side: 14px;
  }

  .pt-hero {
    padding: 24px 0 38px;
  }

  .pt-visual {
    height: 560px;
    border-radius: 28px;
  }

  .pt-hero__content {
    left: 16px;
    right: 16px;
    bottom: 16px;
    flex-direction: column;
    align-items: flex-start;
  }

  .pt-title-pill {
    max-width: 100%;
    padding: 12px 14px;
    border-radius: 18px;
  }

  .pt-hero h1 {
    font-size: 26px;
  }

  .pt-hero__lead {
    font-size: 11.5px;
  }

  .pt-hero__facts {
    max-width: 100%;
    justify-content: flex-start;
  }

  .pt-hero__facts span {
    min-height: 32px;
    font-size: 10.5px;
  }

  .pt-ai {
    min-height: auto;
    display: grid;
    grid-template-columns: 1fr;
    border-radius: 26px;
    padding: 10px;
  }

  .pt-ai__badge {
    width: fit-content;
    height: 42px;
    padding: 0 15px 0 13px;
    font-size: 10.5px;
  }

  .pt-ai input {
    width: 100%;
    height: 42px;
    font-size: 14px;
  }

  .pt-ai__voice {
    width: 100%;
    height: 44px;
    flex-basis: auto;
  }

  .pt-ai button[type="submit"] {
    width: 100%;
    min-width: 0;
    height: 44px;
    font-size: 15px;
  }

  .pt-ai__voice-popover {
    left: 0;
    right: 0;
    bottom: calc(100% + 12px);
  }

  .pt-ai__voice-popover-inner {
    min-width: 0;
    width: 100%;
  }
}

/* =========================
   04 Shared Property Type Cards
========================= */
.pt-content {
  position: relative;
  z-index: 3;
  margin-top: -1px;
  padding: 24px 0 92px;

  background:
    radial-gradient(circle at 12% 18%, rgba(198,107,71,.075), transparent 32%),
    radial-gradient(circle at 88% 8%, rgba(247,216,170,.16), transparent 36%),
    radial-gradient(circle at 50% 62%, rgba(255,255,255,.30), transparent 44%),
    linear-gradient(180deg, #f3eadf 0%, #efe5da 46%, #eadfd2 100%);
  background-size: 2400px 1700px;
  background-position: center top;
  background-attachment: fixed;

  overflow: hidden;
}

.pt-content::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .24;
  background:
    linear-gradient(90deg, rgba(255,255,255,.42), transparent 17%, transparent 83%, rgba(255,255,255,.32)),
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.44), transparent 42%);
}

.pt-content__inner {
  position: relative;
  z-index: 2;
  width: min(1600px, calc(100vw - (var(--pt-side) * 2)));
  margin: 0 auto;
  padding-top: 0;
}

.pt-grid-2,
.pt-grid-2--reverse {
  display: grid;
  grid-template-columns: minmax(0,.94fr) minmax(0,1.06fr);
  gap: 22px;
  align-items: stretch;
}

.pt-grid-2--reverse {
  margin-top: 22px;
}

.pt-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 22px;
  margin-top: 22px;
  align-items: stretch;
}

.pt-mini-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 22px;
  margin-top: 22px;
  align-items: stretch;
}

.pt-card {
  position: relative;
  overflow: hidden;
  border-radius: 34px;

  background:
    linear-gradient(135deg, rgba(255,255,255,.88), rgba(251,247,241,.78));
  border: 1px solid rgba(255,255,255,.76);
  box-shadow:
    0 28px 86px rgba(43,31,22,.105),
    0 1px 0 rgba(255,255,255,.78),
    inset 0 1px 0 rgba(255,255,255,.88);

  backdrop-filter: blur(22px) saturate(1.03);
  -webkit-backdrop-filter: blur(22px) saturate(1.03);

  transition:
    transform .32s cubic-bezier(.16, 1, .3, 1),
    box-shadow .32s ease,
    border-color .32s ease,
    background .32s ease;
}

.pt-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .56;
  background:
    linear-gradient(120deg, rgba(255,255,255,.50), transparent 24%, transparent 73%, rgba(198,107,71,.045));
}

.pt-card:hover {
  transform: translateY(-3px);
  border-color: rgba(255,255,255,.92);
  box-shadow:
    0 36px 104px rgba(43,31,22,.145),
    0 1px 0 rgba(255,255,255,.86),
    inset 0 1px 0 rgba(255,255,255,.94);
}

.pt-card:hover::before {
  opacity: .72;
}

.pt-card__head {
  position: relative;
  z-index: 2;
  min-height: 70px;
  padding: 0 30px;
  border-bottom: 1px solid rgba(17,17,17,.058);

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
}

.pt-card__head h2,
.pt-card__head h3 {
  margin: 0;
  color: #0f0f0e;
  font-size: 21px;
  font-weight: 650;
  line-height: 1.05;
  letter-spacing: -.045em;
}

.pt-card__head span {
  color: rgba(17,17,17,.42);
  font-size: 12px;
  font-weight: 540;
  letter-spacing: -.01em;
  white-space: nowrap;
}

.pt-card__body {
  position: relative;
  z-index: 2;
  padding: 29px 30px 31px;
}

.pt-answer,
.pt-desc {
  margin: 0;
  color: rgba(17,17,17,.62);
  font-size: 16.5px;
  font-weight: 390;
  line-height: 1.58;
  letter-spacing: -.022em;
}

.pt-answer {
  max-width: 640px;
  color: rgba(17,17,17,.66);
  font-size: 17px;
  line-height: 1.48;
  letter-spacing: -.026em;
}

.pt-answer strong,
.pt-desc strong {
  color: #111;
  font-weight: 620;
}

.pt-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 22px;
}

.pt-tags span {
  min-height: 35px;
  padding: 0 14px;
  border-radius: 999px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: rgba(17,17,17,.66);
  font-size: 11px;
  font-weight: 540;
  white-space: nowrap;

  background:
    linear-gradient(135deg, rgba(247,241,235,.92), rgba(255,255,255,.66));
  border: 1px solid rgba(17,17,17,.052);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.68),
    0 8px 20px rgba(43,31,22,.035);

  transition:
    transform .24s ease,
    background .24s ease,
    border-color .24s ease,
    box-shadow .24s ease,
    color .24s ease;
}

.pt-tags span:hover {
  transform: translateY(-2px);
  color: #111;
  border-color: rgba(198,107,71,.14);
  background:
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(248,241,234,.80));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    0 15px 36px rgba(43,31,22,.06);
}

/* =========================
   04 Shared Property Type Cards / Mobile
========================= */
@media (max-width: 1500px) {
  :root {
    --pt-side: 160px;
  }
}

@media (max-width: 1380px) {
  :root {
    --pt-side: 120px;
  }

  .pt-mini-row {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .pt-grid-3 {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .pt-grid-3 .pt-card:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 1180px) {
  :root {
    --pt-side: 24px;
  }

  .pt-content {
    padding: 22px 0 72px;
  }

  .pt-grid-2,
  .pt-grid-2--reverse,
  .pt-grid-3 {
    grid-template-columns: 1fr;
  }

  .pt-grid-3 .pt-card:last-child {
    grid-column: auto;
  }
}

@media (max-width: 760px) {
  :root {
    --pt-side: 14px;
  }

  .pt-content {
    padding: 18px 0 56px;
    background-attachment: scroll;
    background-size: 1400px 1200px;
  }

  .pt-mini-row {
    grid-template-columns: 1fr;
  }

  .pt-card {
    border-radius: 28px;
  }

  .pt-card__head {
    min-height: 58px;
    padding: 0 18px;
  }

  .pt-card__head h2,
  .pt-card__head h3 {
    font-size: 17px;
  }

  .pt-card__head span {
    font-size: 11px;
  }

  .pt-card__body {
    padding: 18px;
  }

  .pt-answer,
  .pt-desc {
    font-size: 14px;
    line-height: 1.52;
  }

  .pt-answer {
    font-size: 14.5px;
    line-height: 1.48;
  }
}

/* =========================
   05 Property Type Summary + Property Type Details / Key Facts
========================= */
.pt-facts,
.pt-fit-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px;
}

.pt-pill,
.pt-fit-box {
  min-height: 80px;
  padding: 16px 17px;
  border-radius: 22px;

  background:
    linear-gradient(135deg, rgba(247,242,236,.92), rgba(255,255,255,.66));
  border: 1px solid rgba(17,17,17,.055);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.70),
    0 10px 26px rgba(43,31,22,.038);

  transition:
    transform .24s ease,
    background .24s ease,
    border-color .24s ease,
    box-shadow .24s ease;
}

.pt-fit-box {
  min-height: 154px;
  padding: 20px;
  border-radius: 24px;
}

.pt-pill:hover,
.pt-fit-box:hover {
  transform: translateY(-2px);
  border-color: rgba(198,107,71,.14);
  background:
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(248,241,234,.80));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    0 15px 36px rgba(43,31,22,.06);
}

.pt-pill span {
  display: block;
  margin-bottom: 8px;
  color: rgba(17,17,17,.43);
  font-size: 10px;
  font-weight: 590;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.pt-pill strong {
  display: block;
  color: #111;
  font-size: 16.5px;
  font-weight: 640;
  line-height: 1.16;
  letter-spacing: -.032em;
}

/* =========================
   05 Property Type Summary + Property Type Details / Key Facts / Mobile
========================= */
@media (max-width: 760px) {
  .pt-facts,
  .pt-fit-columns {
    grid-template-columns: 1fr;
  }

  .pt-pill {
    min-height: 70px;
    padding: 14px 16px;
  }

  .pt-pill span {
    margin-bottom: 6px;
    font-size: 9.5px;
  }

  .pt-pill strong {
    font-size: 15px;
  }
}

/* =========================
   06 Who It Is For + Property Type Logic
========================= */
.pt-option-list,
.pt-list {
  display: grid;
  gap: 11px;
}

.pt-option,
.pt-list a,
.pt-list div {
  min-height: 57px;
  padding: 0 18px;
  border-radius: 20px;

  color: #111;
  text-decoration: none;

  background:
    linear-gradient(135deg, rgba(247,241,235,.92), rgba(255,255,255,.66));
  border: 1px solid rgba(17,17,17,.052);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.68),
    0 9px 24px rgba(43,31,22,.035);

  transition:
    transform .22s ease,
    background .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}

.pt-option {
  min-height: 72px;
  padding: 15px 18px;
  display: grid;
  gap: 6px;
}

.pt-option strong {
  color: #111;
  font-size: 15.5px;
  font-weight: 610;
  line-height: 1.16;
  letter-spacing: -.02em;
}

.pt-option span {
  color: rgba(17,17,17,.58);
  font-size: 13px;
  line-height: 1.38;
}

.pt-list a,
.pt-list div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;

  font-size: 15.5px;
  font-weight: 610;
  line-height: 1.16;
  letter-spacing: -.02em;
}

.pt-option:hover,
.pt-list a:hover,
.pt-list div:hover {
  transform: translateY(-2px);
  background:
    linear-gradient(135deg, rgba(255,255,255,.94), rgba(248,241,234,.82));
  border-color: rgba(198,107,71,.16);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.80),
    0 15px 36px rgba(43,31,22,.06);
}

.pt-list a::after {
  content: "›";
  color: #c86b47;
  font-size: 28px;
  font-weight: 420;
  line-height: 1;
}

.pt-list small {
  color: rgba(17,17,17,.56);
  font-size: 13px;
  font-weight: 520;
  text-align: right;
}

/* =========================
   06 Who It Is For + Property Type Logic / Mobile
========================= */
@media (max-width: 760px) {
  .pt-option,
  .pt-list a,
  .pt-list div {
    min-height: 54px;
    padding: 13px 15px;
    border-radius: 17px;
  }

  .pt-list a,
  .pt-list div {
    align-items: flex-start;
    flex-direction: column;
  }

  .pt-list a::after {
    display: none;
  }

  .pt-list small {
    text-align: left;
  }
}

/* =========================
   07 Best Districts + Price Range
========================= */
.pt-fit-box h3 {
  margin: 0 0 13px;
  color: #111;
  font-size: 16px;
  font-weight: 620;
  letter-spacing: -.035em;
}

.pt-fit-box ul {
  margin: 0;
  padding-left: 18px;
  color: rgba(17,17,17,.62);
  font-size: 13.5px;
  line-height: 1.52;
}

.pt-fit-box li + li {
  margin-top: 7px;
}

/* =========================
   07 Best Districts + Price Range / Mobile
========================= */
@media (max-width: 760px) {
  .pt-fit-box {
    min-height: auto;
  }
}

/* =========================
   08 Investment Logic / Lifestyle Logic / Pros And Cons / AI Context
========================= */
.pt-mini-card {
  position: relative;
  min-height: 206px;
  padding: 23px;
  border-radius: 31px;
  overflow: hidden;

  background:
    linear-gradient(135deg, rgba(255,255,255,.84), rgba(252,248,242,.76));
  border: 1px solid rgba(255,255,255,.72);
  box-shadow:
    0 22px 70px rgba(43,31,22,.09),
    inset 0 1px 0 rgba(255,255,255,.84);

  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);

  transition:
    transform .28s ease,
    border-color .28s ease,
    box-shadow .28s ease;
}

.pt-mini-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .68;
  background:
    linear-gradient(125deg, rgba(255,255,255,.44), transparent 32%, rgba(198,107,71,.045));
}

.pt-mini-card:hover {
  transform: translateY(-4px);
  border-color: rgba(255,255,255,.90);
  box-shadow:
    0 32px 88px rgba(43,31,22,.13),
    inset 0 1px 0 rgba(255,255,255,.92);
}

.pt-mini-card:hover::before {
  opacity: .80;
}

.pt-mini-card > * {
  position: relative;
  z-index: 2;
}

.pt-mini-card > span {
  display: block;
  margin-bottom: 11px;
  color: rgba(17,17,17,.42);
  font-size: 10px;
  font-weight: 590;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.pt-mini-card strong {
  display: block;
  color: #111;
  font-size: 18px;
  font-weight: 640;
  line-height: 1.12;
  letter-spacing: -.045em;
}

.pt-mini-card p {
  margin: 11px 0 0;
  color: rgba(17,17,17,.58);
  font-size: 13.5px;
  line-height: 1.46;
  letter-spacing: -.02em;
}

.pt-mini-card--dark {
  grid-column: 1 / -1;
  min-height: 132px;
  padding: 26px 30px;
  border-radius: 32px;

  display: grid;
  grid-template-columns: minmax(260px,.62fr) minmax(0,1fr);
  grid-template-rows: auto auto;
  column-gap: 44px;
  row-gap: 8px;
  align-items: center;

  color: #fff;
  background:
    radial-gradient(circle at 8% 0%, rgba(247,216,170,.16), transparent 30%),
    radial-gradient(circle at 90% 18%, rgba(198,107,71,.18), transparent 34%),
    linear-gradient(135deg, #15110e 0%, #080706 100%);
  border-color: rgba(255,255,255,.15);
  box-shadow:
    0 34px 104px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.12);
}

.pt-mini-card--dark:hover {
  transform: translateY(-3px);
  box-shadow:
    0 42px 124px rgba(0,0,0,.32),
    0 0 54px rgba(198,107,71,.08),
    inset 0 1px 0 rgba(255,255,255,.14);
}

.pt-mini-card--dark > span {
  grid-column: 1 / -1;
  margin: 0;
  color: rgba(247,216,170,.58);
  font-size: 10px;
  font-weight: 590;
  letter-spacing: .15em;
}

.pt-mini-card--dark strong {
  grid-column: 1;
  max-width: 420px;
  color: rgba(255,255,255,.94);
  font-size: 25px;
  font-weight: 630;
  line-height: 1.02;
  letter-spacing: -.055em;
}

.pt-mini-card--dark p {
  grid-column: 2;
  max-width: 720px;
  color: rgba(255,255,255,.64);
  font-size: 15px;
  line-height: 1.45;
  letter-spacing: -.024em;
}

/* =========================
   08 Investment Logic / Lifestyle Logic / Pros And Cons / AI Context / Mobile
========================= */
@media (max-width: 1380px) {
  .pt-mini-card--dark {
    grid-template-columns: 1fr;
    row-gap: 12px;
  }

  .pt-mini-card--dark strong,
  .pt-mini-card--dark p {
    grid-column: 1;
    max-width: 100%;
  }
}

@media (max-width: 760px) {
  .pt-mini-card {
    min-height: auto;
    padding: 18px;
    border-radius: 24px;
  }

  .pt-mini-card--dark {
    padding: 22px;
    border-radius: 26px;
  }

  .pt-mini-card--dark strong {
    font-size: 22px;
  }

  .pt-mini-card--dark p {
    font-size: 13.5px;
  }
}

/* =========================
   09 Recommended Projects + Pros And Cons
========================= */
.pt-card .pt-list,
.pt-card .pt-option-list {
  margin: 0;
}

/* =========================
   09 Recommended Projects + Pros And Cons / Mobile
========================= */
@media (max-width: 760px) {
  .pt-card .pt-list,
  .pt-card .pt-option-list {
    gap: 10px;
  }
}

/* =========================
   10 Similar Property Types + FAQ + Source Notes
========================= */
.pt-faq {
  display: grid;
  gap: 11px;
}

.pt-faq details {
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(247,241,235,.92), rgba(255,255,255,.66));
  border: 1px solid rgba(17,17,17,.052);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.68),
    0 9px 24px rgba(43,31,22,.035);
  overflow: hidden;

  transition:
    transform .22s ease,
    background .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}

.pt-faq details:hover,
.pt-source-micro div:hover {
  transform: translateY(-2px);
  border-color: rgba(198,107,71,.13);
  background:
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(248,241,234,.80));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.80),
    0 14px 34px rgba(43,31,22,.055);
}

.pt-faq summary {
  min-height: 56px;
  padding: 0 18px;
  display: flex;
  align-items: center;
  color: #111;
  font-size: 14px;
  font-weight: 620;
  cursor: pointer;
  letter-spacing: -.025em;
}

.pt-faq p {
  margin: 0;
  padding: 0 18px 17px;
  color: rgba(17,17,17,.62);
  font-size: 13px;
  line-height: 1.46;
}

.pt-source-note {
  margin: 0;
  color: rgba(17,17,17,.62);
  font-size: 14px;
  line-height: 1.52;
}

.pt-source-micro {
  margin-top: 18px;
  display: grid;
  gap: 10px;
}

.pt-source-micro div {
  min-height: 44px;
  padding: 0 15px;
  border-radius: 16px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;

  color: rgba(17,17,17,.54);
  font-size: 12px;
  font-weight: 520;

  background:
    linear-gradient(135deg, rgba(247,241,235,.92), rgba(255,255,255,.66));
  border: 1px solid rgba(17,17,17,.052);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.68),
    0 9px 24px rgba(43,31,22,.035);

  transition:
    transform .22s ease,
    background .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}

.pt-source-micro strong {
  color: #111;
  font-weight: 620;
  text-align: right;
}

/* =========================
   10 Similar Property Types + FAQ + Source Notes / Mobile
========================= */
@media (max-width: 760px) {
  .pt-source-micro div {
    align-items: flex-start;
    flex-direction: column;
    padding: 12px 14px;
  }

  .pt-source-micro strong {
    text-align: left;
  }
}

/* =========================
   11 CTA / AI Finder Handoff
========================= */
.pt-cta {
  position: relative;
  overflow: hidden;

  margin-top: 22px;
  padding: 31px;
  border-radius: 34px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;

  color: #ffffff;
  background:
    radial-gradient(circle at 84% 10%, rgba(247,216,170,.20), transparent 30%),
    radial-gradient(circle at 14% 10%, rgba(198,107,71,.12), transparent 30%),
    linear-gradient(135deg, #171310, #060504);

  border: 1px solid rgba(255,255,255,.15);
  box-shadow:
    0 38px 124px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.13);

  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease;
}

.pt-cta::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  pointer-events: none;
  opacity: .72;
  background:
    linear-gradient(120deg, rgba(255,255,255,.10), transparent 26%, transparent 74%, rgba(247,216,170,.06));
}

.pt-cta:hover {
  box-shadow:
    0 44px 136px rgba(0,0,0,.40),
    0 0 52px rgba(198,107,71,.10),
    inset 0 1px 0 rgba(255,255,255,.16);
}

.pt-cta > * {
  position: relative;
  z-index: 2;
}

.pt-cta h2 {
  margin: 0;
  color: #fff;
  font-size: 30px;
  font-weight: 650;
  line-height: .96;
  letter-spacing: -.06em;
}

.pt-cta p {
  max-width: 680px;
  margin: 15px 0 0;
  color: rgba(255,255,255,.64);
  font-size: 14px;
  line-height: 1.46;
}

.pt-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.pt-actions a {
  min-height: 52px;
  padding: 0 24px;
  border-radius: 999px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  font-size: 14px;
  font-weight: 620;
  white-space: nowrap;
  text-decoration: none;

  transition:
    transform .22s ease,
    filter .22s ease,
    box-shadow .22s ease,
    background .22s ease,
    border-color .22s ease;
}

.pt-actions a:hover {
  transform: translateY(-2px);
  filter: saturate(1.06);
}

.pt-actions a:first-child,
.pt-actions a:nth-child(2) {
  color: #fff;
  background: #c86b47;
  box-shadow:
    0 16px 38px rgba(117,49,25,.32),
    inset 0 1px 0 rgba(255,255,255,.22);
}

.pt-actions a:first-child:hover,
.pt-actions a:nth-child(2):hover {
  box-shadow:
    0 22px 52px rgba(117,49,25,.42),
    inset 0 1px 0 rgba(255,255,255,.28);
}

.pt-actions a:last-child {
  color: rgba(255,255,255,.86);
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 12px 32px rgba(0,0,0,.16);
}

.pt-actions a:last-child:hover {
  background: rgba(255,255,255,.12);
  border-color: rgba(247,216,170,.26);
}

/* =========================
   11 CTA / AI Finder Handoff / Mobile
========================= */
@media (max-width: 1180px) {
  .pt-cta {
    flex-direction: column;
    align-items: flex-start;
  }

  .pt-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  .pt-cta {
    padding: 22px;
    border-radius: 28px;
  }

  .pt-cta h2 {
    font-size: 24px;
  }

  .pt-actions {
    width: 100%;
    flex-direction: column;
  }

  .pt-actions a {
    width: 100%;
  }
}
/* =========================
   12 Lead Modal
========================= */
html.pt-modal-open {
  overflow: hidden;
}

.pt-modal {
  position: fixed;
  inset: 0;
  z-index: 999;

  padding: 34px 220px;

  display: flex;
  align-items: center;
  justify-content: center;

  opacity: 0;
  pointer-events: none;

  transition: opacity .28s ease;
}

.pt-modal.is-open {
  opacity: 1;
  pointer-events: auto;
}

.pt-modal__backdrop {
  position: absolute;
  inset: 0;

  background:
    radial-gradient(
      circle at 50% 20%,
      rgba(247,216,170,.10),
      transparent 36%
    ),
    radial-gradient(
      circle at 82% 18%,
      rgba(198,107,71,.10),
      transparent 32%
    ),
    rgba(7,6,5,.42);

  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.pt-modal__panel {
  position: relative;
  z-index: 2;

  width: 100%;
  max-width: 1480px;
  max-height: calc(100vh - 76px);

  overflow: visible;

  padding: 30px 34px;
  border-radius: 38px;

  color: #ffffff;

  background:
    radial-gradient(
      circle at 84% 0%,
      rgba(198,107,71,.13),
      transparent 34%
    ),
    radial-gradient(
      circle at 12% 10%,
      rgba(247,216,170,.075),
      transparent 32%
    ),
    linear-gradient(
      135deg,
      rgba(13,12,10,.62),
      rgba(39,30,24,.48)
    );

  border:
    1px solid rgba(255,255,255,.14);

  box-shadow:
    0 30px 110px rgba(0,0,0,.36),
    inset 0 1px 0 rgba(255,255,255,.12);

  backdrop-filter:
    blur(34px) saturate(1.06);

  -webkit-backdrop-filter:
    blur(34px) saturate(1.06);

  transform:
    translateY(18px)
    scale(.975);

  transition:
    transform .42s cubic-bezier(.16,1,.3,1),
    background .32s ease;
}

.pt-modal.is-open .pt-modal__panel {
  transform:
    translateY(0)
    scale(1);
}

.pt-modal__panel::before {
  content: "";

  position: absolute;
  inset: 1px;

  border-radius: inherit;
  pointer-events: none;

  opacity: .68;

  background:
    linear-gradient(
      120deg,
      rgba(255,255,255,.09),
      transparent 22%,
      transparent 72%,
      rgba(247,216,170,.045)
    );
}

.pt-modal__close {
  position: absolute;
  top: 22px;
  right: 22px;
  z-index: 6;

  width: 44px;
  height: 44px;

  border-radius: 50%;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: rgba(255,255,255,.88);

  font-size: 28px;
  font-weight: 300;
  line-height: 1;

  cursor: pointer;

  background:
    rgba(255,255,255,.075);

  border:
    1px solid rgba(255,255,255,.14);

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 16px 38px rgba(0,0,0,.20);

  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);

  transition:
    transform .22s ease,
    background .22s ease,
    border-color .22s ease;
}

.pt-modal__close:hover {
  transform:
    rotate(90deg)
    scale(1.04);

  background:
    rgba(255,255,255,.12);

  border-color:
    rgba(255,255,255,.22);
}

.pt-modal__eyebrow {
  position: relative;
  z-index: 2;

  display: inline-block;

  margin-bottom: 10px;

  color:
    rgba(247,216,170,.78);

  font-size: 11px;
  font-weight: 650;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.pt-modal h2 {
  position: relative;
  z-index: 2;

  max-width: 820px;

  margin: 0;

  color: #ffffff;

  font-size:
    clamp(32px,3vw,50px);

  font-weight: 640;
  line-height: .94;
  letter-spacing: -.065em;
}

.pt-modal__panel > p {
  position: relative;
  z-index: 2;

  max-width: 760px;

  margin: 12px 0 0;

  color:
    rgba(255,255,255,.62);

  font-size: 14px;
  font-weight: 390;
  line-height: 1.42;
  letter-spacing: -.02em;
}


/* Form
========================= */

.pt-form {
  position: relative;
  z-index: 2;

  margin: 22px 0 0;

  display: block;
}

.pt-form__grid {
  display: grid;

  grid-template-columns:
    repeat(3, minmax(0,1fr));

  gap: 12px;
}

.pt-field {
  display: grid;
  gap: 8px;
}

.pt-field > span {
  color:
    rgba(255,255,255,.54);

  font-size: 10px;
  font-weight: 650;
  letter-spacing: .10em;
  text-transform: uppercase;
}

.pt-field input,
.pt-field textarea {
  width: 100%;

  outline: 0;

  color: #ffffff;

  font-family: inherit;
  font-size: 15px;
  font-weight: 420;

  background:
    rgba(255,255,255,.065);

  border:
    1px solid rgba(255,255,255,.115);

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07);

  transition:
    background .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}

.pt-field input {
  height: 50px;

  padding: 0 16px;

  border-radius: 18px;
}

.pt-field input::placeholder,
.pt-field textarea::placeholder {
  color:
    rgba(255,255,255,.36);

  opacity: 1;
}

.pt-field input:focus,
.pt-field textarea:focus {
  background:
    rgba(255,255,255,.095);

  border-color:
    rgba(247,216,170,.28);

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.11),
    0 0 0 3px rgba(247,216,170,.055);
}


/* Prepared request
========================= */

.pt-field--request {
  margin-top: 12px;
}

.pt-request-row {
  position: relative;

  width: 100%;
  min-height: 74px;

  padding: 10px;

  border-radius: 999px;

  display: grid;

  grid-template-columns:
    auto
    minmax(0,1fr)
    54px
    112px;

  gap: 10px;
  align-items: center;

  overflow: visible;

  background:
    radial-gradient(
      circle at 12% 45%,
      rgba(247,216,170,.045),
      transparent 32%
    ),
    linear-gradient(
      135deg,
      rgba(17,16,14,.48),
      rgba(36,30,26,.36)
    );

  border:
    1px solid rgba(255,255,255,.13);

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.075),
    0 18px 54px rgba(0,0,0,.15);

  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);

  transition:
    border-color .24s ease,
    box-shadow .24s ease;
}

.pt-request-row.is-voice-active {
  border-color:
    rgba(247,216,170,.31);

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.09),
    0 18px 54px rgba(0,0,0,.18),
    0 0 30px rgba(198,107,71,.09);
}

.pt-request-row__badge {
  height: 54px;

  padding: 0 18px;

  border-radius: 999px;

  display: inline-flex;
  align-items: center;
  gap: 11px;

  color:
    rgba(255,255,255,.92);

  font-size: 10px;
  font-weight: 650;
  letter-spacing: .085em;
  text-transform: uppercase;
  white-space: nowrap;

  background:
    rgba(255,255,255,.065);

  border:
    1px solid rgba(255,255,255,.13);

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08);
}

.pt-request-row__badge i {
  width: 8px;
  height: 8px;

  flex: 0 0 8px;

  border-radius: 50%;

  background: #f4d79d;

  box-shadow:
    0 0 0 8px rgba(244,215,157,.10),
    0 0 18px rgba(244,215,157,.56);
}

.pt-field
.pt-request-row__textarea {
  width: 100%;
  min-width: 0;

  height: 54px;
  min-height: 54px;
  max-height: 54px;

  padding: 17px 4px 12px;

  border: 0;
  border-radius: 0;

  resize: none;
  overflow: hidden;

  color:
    rgba(255,255,255,.88);

  background: transparent;

  box-shadow: none;
  outline: 0;

  font-family: inherit;
  font-size: 14px;
  font-weight: 390;
  line-height: 1.35;

  white-space: nowrap;
}

.pt-field
.pt-request-row__textarea:focus {
  border: 0;

  background: transparent;

  box-shadow: none;
}


/* Voice button
========================= */

.pt-modal-voice {
  position: relative;

  width: 54px;
  height: 54px;

  border-radius: 50%;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  cursor: pointer;

  overflow: visible;
  isolation: isolate;

  background:
    rgba(255,255,255,.08);

  border:
    1px solid rgba(255,255,255,.15);

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 14px 34px rgba(0,0,0,.18);

  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);

  transition:
    transform .24s ease,
    background .24s ease,
    box-shadow .24s ease,
    border-color .24s ease;
}

.pt-modal-voice:hover,
.pt-modal-voice.is-active {
  transform:
    translateY(-2px)
    scale(1.04);

  background:
    radial-gradient(
      circle at 35% 25%,
      rgba(247,216,170,.20),
      transparent 40%
    ),
    rgba(255,255,255,.12);

  border-color:
    rgba(247,216,170,.24);

  box-shadow:
    0 0 34px rgba(198,107,71,.20),
    0 14px 34px rgba(0,0,0,.26);
}

.pt-modal-voice__aura {
  position: absolute;
  inset: -8px;
  z-index: -2;

  border-radius: inherit;

  opacity: 0;

  background:
    conic-gradient(
      from 180deg,
      rgba(96,165,250,0),
      rgba(96,165,250,.40),
      rgba(168,85,247,.36),
      rgba(247,216,170,.32),
      rgba(96,165,250,0)
    );

  filter: blur(8px);

  transform: scale(.88);

  transition:
    opacity .24s ease,
    transform .24s ease;
}

.pt-request-row.is-voice-active
.pt-modal-voice__aura {
  opacity: 1;

  transform: scale(1);

  animation:
    ptModalVoiceAura
    1.35s
    linear
    infinite;
}

@keyframes ptModalVoiceAura {
  to {
    transform:
      scale(1)
      rotate(360deg);
  }
}

.pt-modal-voice__core {
  position: relative;
  z-index: 2;

  width: 34px;
  height: 34px;

  border-radius: 999px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.pt-modal-voice__core::before {
  content: "";

  width: 20px;
  height: 20px;

  display: block;

  background: #ffffff;
  opacity: .94;

  -webkit-mask:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z'/%3E%3Cpath d='M19 10v2a7 7 0 0 1-14 0v-2'/%3E%3Cpath d='M12 19v3'/%3E%3Cpath d='M8 22h8'/%3E%3C/svg%3E")
    center / contain no-repeat;

  mask:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z'/%3E%3Cpath d='M19 10v2a7 7 0 0 1-14 0v-2'/%3E%3Cpath d='M12 19v3'/%3E%3Cpath d='M8 22h8'/%3E%3C/svg%3E")
    center / contain no-repeat;
}

.pt-request-row.is-voice-active
.pt-modal-voice__core::before {
  filter:
    drop-shadow(
      0 0 8px rgba(247,216,170,.58)
    )
    drop-shadow(
      0 0 14px rgba(198,107,71,.34)
    );
}


/* Voice popover
========================= */

.pt-modal-voice-popover {
  position: absolute;

  right: 132px;
  bottom: calc(100% + 14px);

  z-index: 20;

  width: 300px;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transform:
    translateY(10px)
    scale(.965);

  transform-origin:
    bottom right;

  transition:
    opacity .22s ease,
    visibility .22s ease,
    transform .32s cubic-bezier(.16,1,.3,1);
}

.pt-request-row.is-voice-active
.pt-modal-voice-popover {
  opacity: 1;
  visibility: visible;

  transform:
    translateY(0)
    scale(1);
}

.pt-modal-voice-popover__inner {
  position: relative;

  min-height: 62px;

  padding: 12px 14px;

  border-radius: 20px;

  display: flex;
  align-items: center;
  gap: 12px;

  color: #ffffff;

  background:
    radial-gradient(
      circle at 15% 20%,
      rgba(247,216,170,.18),
      transparent 32%
    ),
    linear-gradient(
      135deg,
      rgba(10,9,8,.95),
      rgba(33,25,21,.93)
    );

  border:
    1px solid rgba(255,255,255,.16);

  box-shadow:
    0 20px 58px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.12);

  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
}

.pt-modal-voice-popover__inner::after {
  content: "";

  position: absolute;

  right: 22px;
  bottom: -8px;

  width: 15px;
  height: 15px;

  transform: rotate(45deg);

  background:
    rgba(20,16,14,.94);

  border-right:
    1px solid rgba(255,255,255,.12);

  border-bottom:
    1px solid rgba(255,255,255,.12);
}

.pt-modal-voice-popover__dot {
  width: 9px;
  height: 9px;

  flex: 0 0 9px;

  border-radius: 50%;

  background: #f4d79d;

  box-shadow:
    0 0 0 8px rgba(244,215,157,.10),
    0 0 20px rgba(244,215,157,.60);

  animation:
    ptModalVoiceDot
    1s
    ease-in-out
    infinite;
}

@keyframes ptModalVoiceDot {
  0%,
  100% {
    transform: scale(1);
    opacity: .78;
  }

  50% {
    transform: scale(1.28);
    opacity: 1;
  }
}

.pt-modal-voice-popover__copy {
  min-width: 0;
  flex: 1 1 auto;
}

.pt-modal-voice-popover__status,
.pt-modal-voice-popover__text {
  display: block;
}

.pt-modal-voice-popover__status {
  color:
    rgba(255,255,255,.92);

  font-size: 11px;
  font-weight: 700;
  line-height: 1.05;

  letter-spacing: .08em;
  text-transform: uppercase;
}

.pt-modal-voice-popover__text {
  max-width: 190px;

  margin-top: 3px;

  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;

  color:
    rgba(255,255,255,.58);

  font-size: 10px;
  font-weight: 550;
  line-height: 1.15;

  letter-spacing: .055em;
  text-transform: uppercase;
}

.pt-modal-voice-popover__bars {
  height: 28px;

  flex: 0 0 auto;

  display: inline-flex;
  align-items: center;
  gap: 3px;
}

.pt-modal-voice-popover__bars i {
  width: 3px;

  border-radius: 99px;

  background:
    rgba(247,216,170,.84);

  animation:
    ptModalVoiceBar
    .78s
    ease-in-out
    infinite
    alternate;
}

.pt-modal-voice-popover__bars i:nth-child(1) {
  height: 10px;
}

.pt-modal-voice-popover__bars i:nth-child(2) {
  height: 20px;
  animation-delay: -.30s;
}

.pt-modal-voice-popover__bars i:nth-child(3) {
  height: 27px;
  animation-delay: -.16s;
}

.pt-modal-voice-popover__bars i:nth-child(4) {
  height: 18px;
  animation-delay: -.42s;
}

.pt-modal-voice-popover__bars i:nth-child(5) {
  height: 25px;
  animation-delay: -.22s;
}

@keyframes ptModalVoiceBar {
  from {
    transform: scaleY(.42);
    opacity: .56;
  }

  to {
    transform: scaleY(1);
    opacity: 1;
  }
}


/* Submit
========================= */

.pt-submit {
  height: 54px;
  min-width: 112px;

  padding: 0 24px;

  border: 0;
  border-radius: 999px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: #ffffff;

  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;

  cursor: pointer;

  background: #c86b47;

  box-shadow:
    0 16px 38px rgba(117,49,25,.30),
    inset 0 1px 0 rgba(255,255,255,.20);

  transition:
    transform .22s ease,
    filter .22s ease,
    box-shadow .22s ease,
    background .22s ease;
}

.pt-submit:hover {
  transform: translateY(-2px);

  filter: brightness(1.06);

  box-shadow:
    0 20px 44px rgba(117,49,25,.36),
    inset 0 1px 0 rgba(255,255,255,.22);
}

.pt-submit.is-done {
  background: #738f59;
}


/* =========================
   12 Lead Modal / Mobile
========================= */

@media (max-width: 1500px) {
  .pt-modal {
    padding-left: 120px;
    padding-right: 120px;
  }
}

@media (max-width: 1180px) {
  .pt-modal {
    padding: 34px 28px;
  }

  .pt-modal__panel {
    width: 100%;
    max-width: 980px;

    overflow: auto;
  }

  .pt-form__grid {
    grid-template-columns:
      1fr
      1fr;
  }

  .pt-form__grid
  .pt-field:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 820px) {
  .pt-modal {
    padding: 18px;
    align-items: flex-start;
  }

  .pt-modal__panel {
    max-height:
      calc(100vh - 36px);

    padding: 20px;
    border-radius: 30px;

    overflow: auto;
  }

  .pt-modal h2 {
    padding-right: 44px;

    font-size: 32px;
  }

  .pt-form__grid {
    grid-template-columns: 1fr;
  }

  .pt-form__grid
  .pt-field:last-child {
    grid-column: auto;
  }

  .pt-request-row {
    min-height: auto;

    grid-template-columns: 1fr;

    align-items: stretch;

    padding: 14px;

    border-radius: 24px;
  }

  .pt-request-row__badge {
    width: fit-content;
  }

  .pt-field
  .pt-request-row__textarea {
    height: 96px;
    min-height: 96px;
    max-height: 140px;

    padding: 8px 2px;

    white-space: normal;
    overflow: auto;
  }

  .pt-modal-voice,
  .pt-submit {
    width: 100%;
    min-width: 0;
  }

  .pt-modal-voice {
    height: 52px;

    border-radius: 999px;
  }

  .pt-submit {
    height: 52px;
  }

  .pt-modal-voice-popover {
    left: 0;
    right: 0;

    bottom:
      calc(100% + 12px);

    width: 100%;

    transform-origin:
      bottom center;
  }

  .pt-modal-voice-popover__inner::after {
    display: none;
  }

  .pt-modal-voice-popover__text {
    max-width: none;
  }
}
/* =========================
   13 Footer
========================= */
.pt-footer {
  position: relative;
  min-height: 340px;
  overflow: hidden;

  color: #ffffff;
  background:
    radial-gradient(circle at 14% 20%, rgba(247, 216, 170, 0.10), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(198, 107, 71, 0.16), transparent 34%),
    linear-gradient(135deg, #070604 0%, #17120f 52%, #2a150f 100%) !important;

  border-top: 1px solid rgba(255, 255, 255, 0.08);
  font-family: var(--pt-font);
}

.pt-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.08;
  pointer-events: none;

  background:
    linear-gradient(90deg, rgba(247, 216, 170, 0.08) 1px, transparent 1px),
    linear-gradient(180deg, rgba(247, 216, 170, 0.06) 1px, transparent 1px);
  background-size: 92px 92px;
}

.pt-footer::after {
  content: "";
  position: absolute;
  left: 100px;
  right: 100px;
  bottom: 0;
  height: 1px;
  pointer-events: none;

  background: linear-gradient(
    90deg,
    transparent,
    rgba(247, 216, 170, 0.30),
    rgba(198, 107, 71, 0.24),
    transparent
  );
}

.pt-footer__glow {
  position: absolute;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(22px);
  opacity: 0.46;
}

.pt-footer__glow--left {
  left: -150px;
  top: -160px;
  background: radial-gradient(circle, rgba(247, 216, 170, 0.17), transparent 68%);
}

.pt-footer__glow--right {
  right: -130px;
  top: -120px;
  background: radial-gradient(circle, rgba(198, 107, 71, 0.20), transparent 70%);
}

.pt-footer__inner {
  position: relative;
  z-index: 2;
  min-height: 340px;
  width: 100%;
  max-width: none;
  margin: 0 auto;
  padding: 44px 100px 34px;

  display: grid;
  grid-template-columns: minmax(420px,650px) 1fr;
  grid-template-rows: 1fr auto;
  column-gap: 72px;
  row-gap: 26px;

  background: transparent !important;
}

.pt-footer * {
  color: inherit;
}

.pt-footer__left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 30px;
}

.pt-footer__brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;

  min-height: 44px;
  padding: 0 19px 0 16px;
  border-radius: 999px;

  color: #ffffff;
  text-decoration: none;

  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.11),
    0 16px 44px rgba(0, 0, 0, 0.20);

  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);

  transition:
    transform .28s ease,
    background .28s ease,
    border-color .28s ease,
    box-shadow .28s ease;
}

.pt-footer__brand:hover {
  transform: translateY(-3px);
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.24);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.17),
    0 24px 62px rgba(0, 0, 0, 0.28);
}

.pt-footer__brand-dot {
  position: relative;
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: 50%;

  background: #f4d79d;
  box-shadow:
    0 0 0 7px rgba(244, 215, 157, 0.13),
    0 0 20px rgba(244, 215, 157, 0.52);

  transition:
    transform .28s ease,
    background .28s ease,
    box-shadow .28s ease;
}

.pt-footer__brand-dot::after {
  content: "";
  position: absolute;
  inset: -10px;
  border-radius: 50%;
  opacity: 0;

  background: radial-gradient(circle, rgba(244, 215, 157, 0.38), transparent 64%);
  transition: opacity .28s ease, transform .28s ease;
}

.pt-footer__brand:hover .pt-footer__brand-dot {
  transform: scale(1.14);
  background: #ffe1a2;
  box-shadow:
    0 0 0 9px rgba(244, 215, 157, 0.17),
    0 0 28px rgba(244, 215, 157, 0.78),
    0 0 52px rgba(198, 107, 71, 0.32);
}

.pt-footer__brand:hover .pt-footer__brand-dot::after {
  opacity: 1;
  transform: scale(1.10);
}

.pt-footer__brand-copy {
  display: flex;
  flex-direction: column;
}

.pt-footer__brand-title {
  color: rgba(255, 255, 255, 0.94);
  font-size: 12px;
  font-weight: 560;
  line-height: 1;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: nowrap;
}

.pt-footer__brand-subtitle {
  display: none;
}

.pt-footer__statement {
  max-width: 600px;
}

.pt-footer__statement h2 {
  max-width: 560px;
  margin: 0;

  color: rgba(255, 255, 255, 0.94);
  font-size: clamp(28px, 2.55vw, 44px);
  font-weight: 620;
  line-height: 0.98;
  letter-spacing: -0.06em;
}

.pt-footer__statement p {
  max-width: 510px;
  margin: 16px 0 0;

  color: rgba(255, 255, 255, 0.56);
  font-size: 14px;
  font-weight: 360;
  line-height: 1.44;
  letter-spacing: -0.022em;
}

.pt-footer__chips {
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.pt-footer__chips span {
  min-height: 32px;
  padding: 0 13px;
  border-radius: 999px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: rgba(255, 255, 255, 0.74);
  font-size: 11px;
  font-weight: 480;
  white-space: nowrap;

  background: rgba(255, 255, 255, 0.052);
  border: 1px solid rgba(255, 255, 255, 0.11);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.075),
    0 10px 28px rgba(0, 0, 0, 0.11);

  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.pt-footer__right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  gap: 42px;
}

.pt-footer__contacts {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;

  z-index: 5;
  pointer-events: auto;
}

.pt-footer-pill {
  height: 46px;
  padding: 0 21px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: rgba(255, 255, 255, 0.88);
  text-decoration: none;

  border: 1px solid rgba(255, 255, 255, 0.20);
  border-radius: 999px;

  background: rgba(255, 255, 255, 0.045);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 14px 38px rgba(0, 0, 0, 0.15);

  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);

  font-size: 14px;
  font-weight: 390;
  line-height: 1;
  white-space: nowrap;

  cursor: pointer;
  pointer-events: auto;
  -webkit-tap-highlight-color: transparent;

  transition:
    transform .24s ease,
    background .24s ease,
    border-color .24s ease,
    color .24s ease,
    box-shadow .24s ease;
}

.pt-footer-pill:hover {
  transform: translateY(-3px);
  color: #ffffff;
  background: rgba(255, 255, 255, 0.085);
  border-color: rgba(247, 216, 170, 0.32);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 20px 52px rgba(0, 0, 0, 0.22),
    0 0 30px rgba(198, 107, 71, 0.10);
}

.pt-footer__social {
  display: flex;
  align-items: center;
  gap: 14px;
  z-index: 5;
  pointer-events: auto;
}

.pt-footer-social,
.pt-footer__social a {
  width: 38px;
  height: 38px;
  border-radius: 999px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  cursor: pointer;
  pointer-events: auto;
  -webkit-tap-highlight-color: transparent;

  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 12px 30px rgba(0, 0, 0, 0.14);

  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);

  transition:
    transform .24s ease,
    background .24s ease,
    border-color .24s ease,
    box-shadow .24s ease;
}

.pt-footer-social:hover,
.pt-footer__social a:hover {
  transform: translateY(-4px) scale(1.04);
  background: rgba(255, 255, 255, 0.085);
  border-color: rgba(247, 216, 170, 0.28);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 20px 46px rgba(0, 0, 0, 0.22),
    0 0 28px rgba(198, 107, 71, 0.10);
}

.pt-footer-social img,
.pt-footer__social a img {
  width: 16px;
  height: 16px;
  display: block;
  object-fit: contain;
  opacity: 0.84;
  filter: brightness(0) invert(1);

  transition:
    opacity .24s ease,
    transform .24s ease,
    filter .24s ease;
}

.pt-footer-social:hover img,
.pt-footer__social a:hover img {
  opacity: 1;
  transform: scale(1.08);
  filter:
    brightness(0) invert(1)
    drop-shadow(0 0 10px rgba(247, 216, 170, 0.22));
}

.pt-footer__bottom {
  grid-column: 1 / -1;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;

  z-index: 2;
}

.pt-footer__copyright,
.pt-footer__address {
  color: rgba(255, 255, 255, 0.66);
  font-size: 12px;
  font-weight: 360;
  line-height: 1.45;
  letter-spacing: -0.01em;
}

.pt-footer__address {
  text-align: right;
  max-width: 720px;
}

/* =========================
   13 Footer / Mobile
========================= */
@media (max-width: 1180px) {
  .pt-footer__inner {
    padding-left: 24px;
    padding-right: 24px;
    grid-template-columns: 1fr;
  }

  .pt-footer::after {
    left: 24px;
    right: 24px;
  }

  .pt-footer__right {
    align-items: flex-start;
  }

  .pt-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .pt-footer__address {
    text-align: left;
  }
}

@media (max-width: 900px) {
  .pt-footer {
    min-height: 0;
  }

  .pt-footer__inner {
    padding: 38px 20px 30px;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 26px;
  }

  .pt-footer::after {
    left: 20px;
    right: 20px;
  }

  .pt-footer__left {
    gap: 26px;
  }

  .pt-footer__statement h2 {
    font-size: 31px;
    line-height: 1;
  }

  .pt-footer__statement p {
    font-size: 13.5px;
  }

  .pt-footer__contacts {
    width: 100%;
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .pt-footer-pill {
    height: 46px;
    padding: 0 19px;
    font-size: 13.5px;
  }

  .pt-footer__social {
    align-self: flex-start;
    justify-self: flex-start;
    gap: 12px;
  }

  .pt-footer-social,
  .pt-footer__social a {
    width: 38px;
    height: 38px;
  }

  .pt-footer__bottom {
    width: 100%;
  }

  .pt-footer__address {
    text-align: left;
    max-width: none;
  }
}

@media (max-width: 560px) {
  .pt-footer__brand {
    width: auto;
    height: auto;
    min-height: 44px;
    align-items: center;
  }

  .pt-footer__brand-title {
    font-size: 11px;
  }

  .pt-footer__statement h2 {
    font-size: 28px;
  }

  .pt-footer__contacts {
    flex-direction: column;
    align-items: stretch;
  }

  .pt-footer-pill {
    width: 100%;
  }
}

/* =========================
   14 RTL Helpers
========================= */
html[dir="rtl"] .pt-header__inner,
html[dir="rtl"] .pt-grid-2,
html[dir="rtl"] .pt-grid-3,
html[dir="rtl"] .pt-mini-row,
html[dir="rtl"] .pt-fit-columns,
html[dir="rtl"] .pt-footer__inner {
  direction: rtl;
}

html[dir="rtl"] .pt-card,
html[dir="rtl"] .pt-hero__content,
html[dir="rtl"] .pt-modal__panel,
html[dir="rtl"] .pt-footer {
  direction: rtl;
  text-align: right;
}

html[dir="rtl"] .pt-ai {
  direction: rtl;
}

html[dir="rtl"] .pt-ai input {
  direction: rtl;
  text-align: right;
  unicode-bidi: plaintext;
}
