.estate-page { background: var(--paper); }
.estate-page .navigation [aria-current="page"] { color: var(--cyan); }
.estate-hero {
  min-height: min(800px, calc(100svh - 96px));
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: var(--paper);
  background: #111715;
  isolation: isolate;
}
.estate-hero-image,
.estate-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.estate-hero-image { object-fit: cover; object-position: center; z-index: -2; }
.estate-hero-shade {
  z-index: -1;
  background: linear-gradient(90deg, #0a100fee 0%, #0a100fd8 31%, #0a100f80 57%, #0a100f10 100%), linear-gradient(0deg, #0a100fbd, transparent 38%);
}
.estate-hero-content { padding-block: 105px 115px; }
.estate-kicker { color: var(--cyan); font-size: 12px; font-weight: 800; letter-spacing: .15em; }
.estate-hero h1 { margin-top: 24px; max-width: 900px; font-size: clamp(64px, 7.4vw, 116px); line-height: .93; }
.estate-hero h1 span { color: var(--cyan); }
.estate-lead { margin-top: 34px; max-width: 600px; font-size: clamp(18px, 1.6vw, 22px); line-height: 1.5; }
.estate-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 26px; margin-top: 36px; }
.estate-text-link { font-weight: 700; border-bottom: 1px solid currentColor; padding-bottom: 4px; }
.estate-text-link:hover { color: var(--cyan); }
.estate-shortcuts { background: var(--ink); color: var(--paper); border-top: 1px solid #ffffff27; }
.estate-shortcuts .wrap { display: flex; flex-wrap: wrap; gap: 12px 34px; padding-block: 18px; }
.estate-shortcuts a { font-size: 13px; font-weight: 700; }
.estate-shortcuts a:hover { color: var(--cyan); }
.estate-intro { padding-block: 120px; }
.estate-intro-grid { display: grid; grid-template-columns: 1fr 1fr; column-gap: 8%; }
.estate-intro-grid > .eyebrow { grid-column: 1 / -1; margin-bottom: 28px; }
.estate-intro h2 { font-size: clamp(48px, 5.3vw, 82px); }
.estate-intro h2 span { color: #ce00a2; }
.estate-intro-copy { max-width: 520px; align-self: end; display: grid; gap: 22px; font-size: 18px; }
.estate-audience { background: #111710; color: var(--paper); padding-block: 105px 120px; }
.estate-audience h2 { margin-top: 24px; max-width: 1000px; font-size: clamp(50px, 6vw, 92px); }
.estate-audience-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 70px; border-top: 1px solid #ffffff36; }
.estate-audience-grid article { padding: 28px 32px 12px 0; border-right: 1px solid #ffffff30; }
.estate-audience-grid article + article { padding-left: 32px; }
.estate-audience-grid article:last-child { border-right: 0; }
.estate-audience-grid article > span { color: var(--cyan); font-size: 12px; font-weight: 800; }
.estate-audience-grid h3 { margin-top: 30px; font-size: clamp(32px, 3.4vw, 52px); }
.estate-audience-grid p { margin-top: 16px; max-width: 340px; color: #d6ddd4; }
.estate-offer { padding-block: 115px; }
.estate-section-top { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .7fr); gap: 8%; align-items: end; }
.estate-section-top h2 { margin-top: 24px; font-size: clamp(50px, 5.3vw, 82px); }
.estate-section-top h2 span { color: #cb009e; }
.estate-section-top > p { font-size: 18px; max-width: 460px; }
.estate-offer-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 62px; }
.estate-offer-grid article { background: #e8eae2; padding: 32px; min-height: 330px; display: flex; flex-direction: column; }
.estate-number { color: #a50082; font-size: 12px; font-weight: 800; }
.estate-offer-grid h3 { margin-top: 46px; font-size: clamp(32px, 3.2vw, 48px); }
.estate-offer-grid p { margin-top: auto; padding-top: 22px; max-width: 330px; }
.estate-offer .inline-link { display: inline-flex; margin-top: 35px; }
.estate-proof { padding-block: 120px; background: #101413; color: var(--paper); }
.estate-proof-heading { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 8%; align-items: end; }
.estate-proof h2 { margin-top: 24px; font-size: clamp(48px, 5.1vw, 78px); }
.estate-proof h2 span { color: var(--cyan); }
.estate-proof-copy > p { max-width: 550px; font-size: 18px; color: #d7dfd7; }
.estate-proof-copy .button { display: inline-flex; margin-top: 28px; }
.estate-proof-image { display: block; margin-top: 54px; color: var(--paper); }
.estate-proof-image img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; }
.estate-proof-image span { display: flex; justify-content: space-between; gap: 20px; padding-block: 16px; border-bottom: 1px solid #ffffff5c; font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.estate-proof-image strong { color: var(--cyan); white-space: nowrap; }
.estate-proof-image:hover strong { text-decoration: underline; }
.estate-team { border-top: 1px solid #ffffff20; }
.estate-team .team-grid { max-width: none; }
.estate-process { padding-block: 120px; }
.estate-process-scene { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); margin: 60px 0 0; background: #dfe4db; }
.estate-process-scene img { display: block; width: 100%; height: 100%; max-height: 480px; object-fit: cover; }
.estate-process-scene figcaption { display: flex; flex-direction: column; justify-content: end; gap: 16px; padding: clamp(28px, 4vw, 54px); }
.estate-process-scene figcaption strong { font: 800 clamp(31px, 3vw, 46px) / .98 var(--display); }
.estate-process-scene figcaption span { max-width: 330px; font-size: 17px; line-height: 1.5; }
.estate-process-grid { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 50px 0 0; padding: 0; }
.estate-process-grid li { border-top: 2px solid var(--ink); padding: 24px 20px 24px 0; }
.estate-process-grid li > span { color: #ae008a; font-size: 13px; font-weight: 800; }
.estate-process-grid h3 { margin-top: 28px; font-size: clamp(30px, 3vw, 44px); }
.estate-process-grid p { margin-top: 15px; max-width: 345px; }
.estate-input { margin-top: 30px; padding: 22px 26px; background: #e4e8df; font-size: 16px; }
.estate-faq { padding-block: 100px 120px; background: #e6e9e1; }
.estate-faq-grid { display: grid; grid-template-columns: .65fr 1fr; gap: 8%; }
.estate-faq h2 { font-size: clamp(50px, 5.5vw, 84px); }
.estate-faq-list details { border-bottom: 1px solid #b5bcb2; }
.estate-faq-list summary { display: flex; justify-content: space-between; gap: 20px; cursor: pointer; padding: 22px 0; font-size: 18px; font-weight: 700; list-style: none; }
.estate-faq-list summary::-webkit-details-marker { display: none; }
.estate-faq-list summary span { color: #ad0088; }
.estate-faq-list p { max-width: 650px; padding: 0 20px 24px 0; }
@media (max-width: 1000px) {
  .estate-hero h1 { font-size: clamp(54px, 7.3vw, 78px); }
  .estate-audience-grid,
  .estate-offer-grid,
  .estate-process-grid { grid-template-columns: 1fr; }
  .estate-audience-grid article,
  .estate-audience-grid article + article { padding: 24px 0; border-right: 0; border-bottom: 1px solid #ffffff30; }
  .estate-audience-grid article:last-child { border-bottom: 0; }
  .estate-audience-grid h3 { margin-top: 12px; }
  .estate-offer-grid article { min-height: 0; }
  .estate-offer-grid h3 { margin-top: 24px; }
}
@media (max-width: 700px) {
  .estate-hero { min-height: 760px; align-items: flex-end; }
  .estate-hero-image { object-position: 62% center; }
  .estate-hero-shade { background: linear-gradient(0deg, #0a100ff5 0%, #0a100fbd 47%, #0a100f31 100%); }
  .estate-hero-content { padding-block: 140px 55px; }
  .estate-hero h1 { font-size: clamp(50px, 11.6vw, 72px); }
  .estate-lead { font-size: 17px; margin-top: 25px; }
  .estate-hero-actions { gap: 22px; }
  .estate-shortcuts .wrap { gap: 10px 22px; }
  .estate-intro,
  .estate-audience,
  .estate-offer,
  .estate-proof,
  .estate-process,
  .estate-faq { padding-block: 75px; }
  .estate-intro-grid,
  .estate-section-top,
  .estate-proof-heading,
  .estate-process-scene,
  .estate-faq-grid { grid-template-columns: 1fr; gap: 28px; }
  .estate-intro-grid > .eyebrow { grid-column: 1; margin-bottom: 0; }
  .estate-intro h2,
  .estate-audience h2,
  .estate-section-top h2,
  .estate-proof h2,
  .estate-faq h2 { font-size: clamp(42px, 10.5vw, 62px); }
  .estate-intro-copy,
  .estate-section-top > p,
  .estate-proof-copy > p { font-size: 16px; }
  .estate-audience-grid,
  .estate-offer-grid,
  .estate-process-grid { margin-top: 38px; }
  .estate-offer-grid article { padding: 25px; }
  .estate-proof-image { margin-top: 32px; }
  .estate-proof-image span { font-size: 10px; letter-spacing: .04em; }
  .estate-process-scene { gap: 0; margin-top: 38px; }
  .estate-process-scene img { height: auto; max-height: none; aspect-ratio: 4 / 3; }
  .estate-process-scene figcaption { padding: 25px; }
}
