/* Styles for the built-out pages: Contact, About, Why Dubai, Sell, Areas, Tools.
   Reuses tokens + .te-section + .te-btn from the core layers. */

/* ---- shared form primitives ---- */
.te-form { display: flex; flex-direction: column; gap: 18px; }
.te-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.te-form__grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px;
}
.te-field { display: flex; flex-direction: column; gap: 7px; }
.te-field--full { grid-column: 1 / -1; }
.te-field__label { font-size: var(--te-fs-14); font-weight: 600; color: var(--te-ink); }
.te-field__opt { color: var(--te-muted); font-weight: 400; }
.te-field__input {
  font-family: var(--te-font-body); font-size: var(--te-fs-16); color: var(--te-ink);
  background: var(--te-white); border: 1px solid var(--te-border); border-radius: var(--te-r-10);
  padding: 13px 15px; width: 100%; transition: border-color var(--te-hover-transition), box-shadow var(--te-hover-transition);
}
.te-field__input::placeholder { color: var(--te-label); }
.te-field__input:focus {
  outline: none; border-color: var(--te-accent);
  box-shadow: 0 0 0 3px var(--te-accent-tint, rgba(11,116,240,.12));
}
select.te-field__input { appearance: none; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7076' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; padding-right: 40px;
}
textarea.te-field__input { resize: vertical; min-height: 120px; }
.te-form__submit { align-self: flex-start; margin-top: 2px; }
.te-form__fine { font-size: var(--te-fs-13); color: var(--te-muted); margin: 0; }
.te-form__note { font-size: var(--te-fs-15); border-radius: var(--te-r-10); padding: 13px 16px; margin: 0; }
.te-form__note--ok { background: rgba(30,158,106,.10); color: #1A7F56; border: 1px solid rgba(30,158,106,.28); }
.te-form__note--err { background: rgba(206,68,55,.08); color: #B23C32; border: 1px solid rgba(206,68,55,.26); }

.te-btn--outline {
  background: transparent; color: var(--te-ink); border-color: var(--te-border);
  font-size: var(--te-fs-16); padding: 15px 26px;
}
.te-btn--outline:hover { border-color: var(--te-border-hover); }

/* ---- Contact page ---- */
.te-contactpage__head { max-width: 720px; margin-bottom: clamp(30px, 4vw, 48px); }
.te-contactpage__title { font-family: var(--te-font-display); font-weight: 700; letter-spacing: -.02em;
  font-size: clamp(30px, 4.6vw, 46px); line-height: 1.06; margin: 12px 0 0; color: var(--te-ink); }
.te-contactpage__lead { font-size: var(--te-fs-18); color: var(--te-muted); line-height: 1.6; margin: 16px 0 0; }
.te-contactpage__grid {
  display: grid; grid-template-columns: 1.5fr 1fr; gap: clamp(28px, 4vw, 56px); align-items: start;
}
.te-contactpage__formcol {
  background: var(--te-surface); border: 1px solid var(--te-border);
  border-radius: var(--te-r-18); padding: clamp(22px, 3vw, 34px);
}
.te-contactpage__rail { display: flex; flex-direction: column; gap: 18px; }
.te-contactcard { border: 1px solid var(--te-border); border-radius: var(--te-r-16); padding: 24px; }
.te-contactcard--soft { background: var(--te-surface); }
.te-contactcard__h { font-family: var(--te-font-display); font-weight: 700; font-size: var(--te-fs-19);
  margin: 0 0 16px; color: var(--te-ink); }
.te-contactlist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.te-contactlist li { border-top: 1px solid var(--te-divider-light, var(--te-border)); }
.te-contactlist li:first-child { border-top: 0; }
.te-contactlist a { display: flex; align-items: center; gap: 14px; padding: 13px 2px; color: var(--te-ink); }
.te-contactlist a:hover .te-contactlist__k { color: var(--te-accent); }
.te-contactlist__ic { flex: none; width: 40px; height: 40px; border-radius: 50%;
  display: grid; place-items: center; background: var(--te-accent-tint, rgba(11,116,240,.09)); color: var(--te-accent); }
.te-contactlist__k { display: block; font-weight: 600; font-size: var(--te-fs-15); }
.te-contactlist__v { display: block; font-size: var(--te-fs-14); color: var(--te-muted); margin-top: 1px; }
.te-checklist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 11px; }
.te-checklist li { position: relative; padding-left: 30px; font-size: var(--te-fs-15); color: var(--te-body); line-height: 1.45; }
.te-checklist li::before { content: ""; position: absolute; left: 0; top: 1px; width: 20px; height: 20px;
  border-radius: 50%; background: var(--te-accent-tint, rgba(11,116,240,.10));
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%230B74F0' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l4.5 4.5L19 7'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: center; }
.te-contactcard__hours { margin: 18px 0 0; padding-top: 16px; border-top: 1px solid var(--te-border);
  font-size: var(--te-fs-14); color: var(--te-muted); line-height: 1.6; }
.te-contactcard__hours strong { color: var(--te-ink); }
.te-contactpage__faq { margin-top: clamp(32px, 4vw, 48px); padding-top: 26px; border-top: 1px solid var(--te-border);
  font-size: var(--te-fs-16); color: var(--te-muted); }

@media (max-width: 860px) {
  .te-contactpage__grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .te-form__grid { grid-template-columns: 1fr; }
}

/* ---- shared page building blocks (About / Why Dubai / Sell / Areas) ---- */
.te-phero { padding-block: clamp(40px, 6vw, 76px) clamp(8px, 2vw, 20px); }
.te-phero__inner { max-width: var(--te-content-max, 1180px); margin-inline: auto;
  padding-inline: var(--te-gutter, 24px); }
.te-phero__eyebrow { font-size: var(--te-fs-13); font-weight: 600; letter-spacing: .14em;
  text-transform: uppercase; color: var(--te-accent); }
.te-phero__title { font-family: var(--te-font-display); font-weight: 700; letter-spacing: -.02em;
  font-size: clamp(32px, 5.2vw, 54px); line-height: 1.04; margin: 14px 0 0; color: var(--te-ink); max-width: 18ch; }
.te-phero__lead { font-size: clamp(17px, 2vw, 20px); color: var(--te-muted); line-height: 1.6;
  margin: 18px 0 0; max-width: 62ch; }
.te-phero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

/* stat band */
.te-statband { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 1px; background: var(--te-border); border-block: 1px solid var(--te-border); margin-top: clamp(36px,5vw,60px); }
.te-statband__cell { background: var(--te-bg, var(--te-white)); padding: 26px 22px; text-align: center; }
.te-statband__n { font-family: var(--te-font-display); font-weight: 700; font-size: clamp(28px,3.4vw,38px);
  color: var(--te-ink); line-height: 1; }
.te-statband__l { font-size: var(--te-fs-14); color: var(--te-muted); margin-top: 8px; }

/* feature cards */
.te-featgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: 20px; }
.te-featcard { background: var(--te-surface); border: 1px solid var(--te-border); border-radius: var(--te-r-16);
  padding: 26px; }
.te-featcard__ic { width: 46px; height: 46px; border-radius: var(--te-r-11); display: grid; place-items: center;
  background: var(--te-accent-tint, rgba(11,116,240,.09)); color: var(--te-accent); margin-bottom: 16px; }
.te-featcard__h { font-family: var(--te-font-display); font-weight: 700; font-size: var(--te-fs-19);
  color: var(--te-ink); margin: 0 0 8px; }
.te-featcard__p { font-size: var(--te-fs-15); color: var(--te-muted); line-height: 1.6; margin: 0; }

/* numbered process steps */
.te-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 22px; counter-reset: step; }
.te-step { position: relative; padding-top: 8px; }
.te-step__n { font-family: var(--te-font-display); font-weight: 700; font-size: var(--te-fs-15);
  width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center;
  background: var(--te-accent); color: var(--te-white); margin-bottom: 14px; }
.te-step__h { font-family: var(--te-font-display); font-weight: 700; font-size: var(--te-fs-18); color: var(--te-ink); margin: 0 0 7px; }
.te-step__p { font-size: var(--te-fs-15); color: var(--te-muted); line-height: 1.6; margin: 0; }

/* two-column split (text + list / form) */
.te-split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 4vw, 60px); align-items: center; }
.te-founder { display: flex; align-items: center; gap: 14px; margin-top: 26px; }
.te-founder__photo { width: 66px; height: 66px; flex: none; border-radius: 50%; background: var(--te-photo-base) center / cover no-repeat; box-shadow: 0 2px 10px rgba(16,18,20,.12); }
.te-founder__name { font-family: var(--te-font-display); font-weight: 700; font-size: var(--te-fs-17); color: var(--te-ink); }
.te-founder__role { font-size: var(--te-fs-14); color: var(--te-muted); }
.te-split--form { grid-template-columns: 1fr 1.1fr; align-items: start; }
.te-split__title { font-family: var(--te-font-display); font-weight: 700; letter-spacing: -.015em;
  font-size: clamp(26px, 3.4vw, 38px); line-height: 1.1; color: var(--te-ink); margin: 0 0 16px; }
.te-split__p { font-size: var(--te-fs-17); color: var(--te-muted); line-height: 1.65; margin: 0 0 16px; }
.te-prose > * + * { margin-top: 16px; }
.te-prose p { font-size: var(--te-fs-17); color: var(--te-body); line-height: 1.7; }
.te-formcard { background: var(--te-surface); border: 1px solid var(--te-border); border-radius: var(--te-r-18);
  padding: clamp(22px, 3vw, 32px); }
.te-formcard__h { font-family: var(--te-font-display); font-weight: 700; font-size: var(--te-fs-22);
  color: var(--te-ink); margin: 0 0 6px; }
.te-formcard__sub { font-size: var(--te-fs-15); color: var(--te-muted); margin: 0 0 20px; }

/* section heading, left aligned with lead */
.te-lead-head { max-width: 720px; margin-bottom: clamp(28px, 4vw, 44px); }
.te-lead-head__k { font-size: var(--te-fs-13); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--te-accent); }
.te-lead-head__h { font-family: var(--te-font-display); font-weight: 700; letter-spacing: -.02em;
  font-size: clamp(26px, 3.6vw, 40px); line-height: 1.1; color: var(--te-ink); margin: 12px 0 0; }
.te-lead-head__p { font-size: var(--te-fs-17); color: var(--te-muted); line-height: 1.6; margin: 14px 0 0; }

/* Dark marketing hero (webinar / tours / campaign landing pages) */
.te-mhero { position: relative; overflow: hidden; background: var(--te-ink-deepest, #0b0c0e); color: #fff; text-align: center; padding: clamp(64px, 10vw, 122px) 0; }
.te-mhero__bg { position: absolute; inset: 0; background-position: center; background-size: cover; background-repeat: no-repeat; opacity: .45; }
.te-mhero__scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11,12,14,.55) 0%, rgba(11,12,14,.82) 100%); }
.te-mhero__inner { position: relative; z-index: 1; max-width: 820px; margin: 0 auto; padding-inline: var(--te-gutter, 24px); }
.te-mhero__eyebrow { display: inline-block; font-size: var(--te-fs-13); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #fff; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2); padding: 7px 15px; border-radius: 999px; }
.te-mhero__title { font-family: var(--te-font-display); font-weight: 700; letter-spacing: -.02em; font-size: clamp(32px, 5.4vw, 56px); line-height: 1.05; margin: 20px auto 0; color: #fff; max-width: 16ch; }
.te-mhero__lead { font-size: clamp(17px, 2vw, 20px); color: rgba(255,255,255,.82); line-height: 1.6; margin: 18px auto 0; max-width: 56ch; }
.te-mhero__cta { display: flex; justify-content: center; gap: 12px; margin-top: 30px; }
.te-mhero__note { font-size: var(--te-fs-14); color: rgba(255,255,255,.6); margin: 16px 0 0; }

/* Centered section heading variant */
.te-lead-head--center { max-width: 720px; margin-inline: auto; text-align: center; }

/* Host / spokesperson block */
.te-host { display: grid; grid-template-columns: 320px 1fr; gap: clamp(28px, 4.5vw, 60px); align-items: center; }
.te-host__photo { width: 100%; max-width: 340px; aspect-ratio: 1 / 1; border-radius: 22px; background: var(--te-photo-base) center / cover no-repeat; box-shadow: 0 18px 44px rgba(16,18,20,.16); }
.te-host__name { font-family: var(--te-font-display); font-weight: 700; letter-spacing: -.015em; font-size: clamp(26px, 3.4vw, 38px); line-height: 1.1; color: var(--te-ink); margin: 12px 0 14px; }
.te-host__bio { font-size: var(--te-fs-18); color: var(--te-body); line-height: 1.7; margin: 0 0 20px; }
.te-checklist--stack { grid-template-columns: 1fr; gap: 12px; }
@media (max-width: 720px) { .te-host { grid-template-columns: 1fr; } .te-host__photo { max-width: 240px; } }

/* Comparison table */
.te-compare-wrap { overflow-x: auto; border: 1px solid var(--te-border); border-radius: var(--te-r-16); }
.te-compare { width: 100%; border-collapse: collapse; min-width: 620px; font-size: var(--te-fs-15); }
.te-compare th, .te-compare td { padding: 15px 18px; text-align: left; border-bottom: 1px solid var(--te-border); }
.te-compare thead th { font-family: var(--te-font-display); font-weight: 700; color: var(--te-ink); background: var(--te-fill, #f6f7f9); font-size: var(--te-fs-16); }
.te-compare tbody th { font-weight: 600; color: var(--te-ink); }
.te-compare td { color: var(--te-muted); }
.te-compare tbody tr:last-child th, .te-compare tbody tr:last-child td { border-bottom: 0; }
.te-compare__hl { background: var(--te-accent-tint, #eef3ff) !important; color: var(--te-accent) !important; font-weight: 700 !important; }
.te-compare__note { font-size: var(--te-fs-13); color: var(--te-muted); margin: 14px 0 0; text-align: center; }

/* FAQ hub: other-topics block */
.te-faqhub__other { margin-top: clamp(40px, 5vw, 60px); padding-top: clamp(28px, 3.5vw, 40px); border-top: 1px solid var(--te-border); }
.te-faqhub__otherh { font-family: var(--te-font-display); font-weight: 700; font-size: var(--te-fs-20); color: var(--te-ink); margin: 0 0 16px; }

/* Pull quote */
.te-quote { max-width: 760px; margin: clamp(36px, 5vw, 56px) auto 0; text-align: center; }
.te-quote blockquote { font-family: var(--te-font-display); font-weight: 500; font-size: clamp(19px, 2.4vw, 25px); line-height: 1.45; color: var(--te-ink); margin: 0; letter-spacing: -.01em; }
.te-quote__by { display: inline-flex; align-items: center; gap: 12px; margin-top: 22px; font-size: var(--te-fs-14); color: var(--te-muted); text-align: left; }
.te-quote__photo { width: 48px; height: 48px; flex: none; border-radius: 50%; background: var(--te-photo-base) center / cover no-repeat; }
.te-quote__by strong { color: var(--te-ink); }

/* Neighbourhood link cards */
.te-featcard--link { display: flex; flex-direction: column; }
.te-featcard__best { font-size: var(--te-fs-14); color: var(--te-muted); margin: 10px 0 0; }
.te-featcard__best::first-line { font-weight: 600; }
.te-featcard__more { display: inline-flex; align-items: center; gap: 5px; margin-top: auto; padding-top: 14px; font-size: var(--te-fs-14); font-weight: 600; color: var(--te-accent); }
.te-featcard__more svg { transition: transform .15s ease; }
.te-featcard__more:hover svg { transform: translateX(2px); }

/* Myth vs reality table: two even columns */
.te-compare--myth { min-width: 520px; }
.te-compare--myth th[scope="row"] { width: 44%; color: var(--te-muted); font-weight: 500; }

/* Team grid */
.te-teamgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 24px; }
.te-tmcard { text-align: center; }
.te-tmcard__photo { width: 100%; aspect-ratio: 1 / 1; border-radius: 18px; background: var(--te-photo-base) center / cover no-repeat; box-shadow: 0 10px 28px rgba(16,18,20,.12); margin-bottom: 14px; }
.te-tmcard__name { font-family: var(--te-font-display); font-weight: 700; font-size: var(--te-fs-17); color: var(--te-ink); }
.te-tmcard__role { font-size: var(--te-fs-14); color: var(--te-muted); margin-top: 3px; line-height: 1.4; }

/* Job listings */
.te-jobs { display: grid; gap: 14px; max-width: 760px; margin: 0 auto; }
.te-jobcard { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 22px; border: 1px solid var(--te-border); border-radius: var(--te-r-14); background: var(--te-surface); }
.te-jobcard__h { font-family: var(--te-font-display); font-weight: 700; font-size: var(--te-fs-18); color: var(--te-ink); margin: 0 0 5px; }
.te-jobcard__meta { display: inline-flex; align-items: center; gap: 7px; font-size: var(--te-fs-14); color: var(--te-muted); margin: 0; }
.te-jobcard__meta svg { color: var(--te-accent); }
.te-jobcard .te-btn { flex: none; }

/* Vertical timeline (tour itinerary) */
.te-timeline { max-width: 760px; margin: 0 auto; }
.te-titem { position: relative; display: grid; grid-template-columns: 48px 1fr; gap: 20px; padding-bottom: 34px; }
.te-titem:last-child { padding-bottom: 0; }
.te-titem::before { content: ''; position: absolute; left: 23px; top: 46px; bottom: 0; width: 2px; background: var(--te-border); }
.te-titem:last-child::before { display: none; }
.te-titem__n { width: 48px; height: 48px; border-radius: 50%; background: var(--te-accent); color: #fff; display: grid; place-items: center; font-family: var(--te-font-display); font-weight: 700; font-size: var(--te-fs-18); position: relative; z-index: 1; }
.te-titem__day { font-size: var(--te-fs-13); font-weight: 600; text-transform: uppercase; letter-spacing: .1em; color: var(--te-accent); }
.te-titem__h { font-family: var(--te-font-display); font-weight: 700; font-size: var(--te-fs-19); color: var(--te-ink); margin: 5px 0 7px; }
.te-titem__p { font-size: var(--te-fs-15); color: var(--te-muted); line-height: 1.65; margin: 0; }

/* CTA band */
.te-ctaband { background: var(--te-ink); border-radius: var(--te-r-18); padding: clamp(34px, 5vw, 60px);
  text-align: center; color: var(--te-white); }
.te-ctaband__h { font-family: var(--te-font-display); font-weight: 700; font-size: clamp(24px, 3.2vw, 36px);
  color: var(--te-white); margin: 0 0 12px; letter-spacing: -.015em; }
.te-ctaband__p { font-size: var(--te-fs-17); color: var(--te-on-dark-78, rgba(255,255,255,.8));
  margin: 0 auto 26px; max-width: 54ch; }
.te-ctaband__row { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }

@media (max-width: 800px) {
  .te-split, .te-split--form { grid-template-columns: 1fr; }
}

/* ===================== Area guide pages (/area/{slug}/) ===================== */
.te-areahero { padding: clamp(28px,4vw,48px) 0 clamp(20px,3vw,30px); }
.te-areahero__inner { max-width: 1080px; margin-inline: auto; padding-inline: var(--te-gutter,24px); }
.te-crumbs { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: var(--te-fs-13);
  color: var(--te-muted); margin-bottom: 20px; }
.te-crumbs a { color: var(--te-muted); }
.te-crumbs a:hover { color: var(--te-accent); }
.te-crumbs span[aria-current] { color: var(--te-ink); font-weight: 600; }
.te-areahero__eyebrow { font-size: var(--te-fs-13); font-weight: 600; letter-spacing: .12em;
  text-transform: uppercase; color: var(--te-accent); }
.te-areahero__title { font-family: var(--te-font-display); font-weight: 700; letter-spacing: -.02em;
  font-size: clamp(30px,4.8vw,50px); line-height: 1.05; color: var(--te-ink); margin: 12px 0 0; max-width: 20ch; }
.te-areahero__lead { font-size: clamp(16px,1.9vw,19px); color: var(--te-muted); line-height: 1.6;
  margin: 16px 0 0; max-width: 64ch; }
.te-areastats { display: grid; grid-template-columns: repeat(auto-fit,minmax(140px,1fr)); gap: 1px;
  background: var(--te-border); border: 1px solid var(--te-border); border-radius: var(--te-r-14);
  overflow: hidden; margin: 28px 0 0; }
.te-areastat { background: var(--te-surface); padding: 18px 18px; }
.te-areastat__n { font-family: var(--te-font-display); font-weight: 800; font-size: clamp(22px,2.6vw,28px);
  color: var(--te-ink); line-height: 1; }
.te-areastat__l { font-size: var(--te-fs-13); color: var(--te-muted); margin-top: 7px; line-height: 1.4; }
.te-areahero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }

.te-areawrap { max-width: 1080px; margin-inline: auto; padding-inline: var(--te-gutter,24px); }
.te-areasec { padding-block: clamp(30px,4vw,48px); border-top: 1px solid var(--te-divider,var(--te-border)); }
.te-areasec--soft { background: var(--te-surface); border-radius: var(--te-r-18); border-top: 0;
  padding-inline: clamp(22px,3vw,36px); margin-top: clamp(30px,4vw,48px); }
.te-areasec__h { font-family: var(--te-font-display); font-weight: 700; letter-spacing: -.015em;
  font-size: clamp(22px,2.8vw,30px); line-height: 1.15; color: var(--te-ink); margin: 0 0 22px; }
.te-areaprose p { font-size: var(--te-fs-17); color: var(--te-body); line-height: 1.75; margin: 0 0 15px; }
.te-areaprose p:last-child { margin-bottom: 0; }
.te-source { font-size: var(--te-fs-13); color: var(--te-label); margin-top: 14px; font-style: italic; }

/* at a glance */
.te-glance { display: grid; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); gap: 0 40px;
  border: 1px solid var(--te-border); border-radius: var(--te-r-14); overflow: hidden; }
.te-glance__row { display: flex; justify-content: space-between; gap: 16px; padding: 13px 18px;
  border-bottom: 1px solid var(--te-divider-light,var(--te-border)); }
.te-glance__k { color: var(--te-muted); font-size: var(--te-fs-14); }
.te-glance__v { color: var(--te-ink); font-weight: 600; font-size: var(--te-fs-14); text-align: right; }

/* prices */
.te-pricegrid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,320px),1fr)); gap: 22px; }
.te-pricetable__h { font-family: var(--te-font-display); font-weight: 700; font-size: var(--te-fs-17);
  color: var(--te-ink); margin: 0 0 12px; }
.te-pricetable table { width: 100%; border-collapse: collapse; border: 1px solid var(--te-border);
  border-radius: var(--te-r-12); overflow: hidden; }
.te-pricetable th, .te-pricetable td { text-align: left; padding: 11px 14px; font-size: var(--te-fs-14);
  border-bottom: 1px solid var(--te-divider-light,var(--te-border)); }
.te-pricetable th { background: var(--te-surface); font-weight: 600; color: var(--te-muted);
  font-size: var(--te-fs-13); text-transform: uppercase; letter-spacing: .04em; }
.te-pricetable td { color: var(--te-ink); font-variant-numeric: tabular-nums; }
.te-pricetable tr:last-child td { border-bottom: 0; }
.te-benchmarks { margin-top: 26px; display: flex; flex-direction: column; gap: 12px; }
.te-bench { display: grid; grid-template-columns: 150px 1fr auto; gap: 14px; align-items: center; }
.te-bench__area { font-size: var(--te-fs-14); color: var(--te-ink); font-weight: 500; }
.te-bench__track { height: 10px; border-radius: 999px; background: var(--te-surface-2,var(--te-fill)); overflow: hidden; }
.te-bench__bar { display: block; height: 100%; border-radius: 999px; background: var(--te-accent); }
.te-bench__val { font-size: var(--te-fs-14); color: var(--te-muted); font-variant-numeric: tabular-nums; }

/* investment cards + sections */
.te-invcards { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,220px),1fr)); gap: 16px; margin-bottom: 26px; }
.te-invcard { background: var(--te-white); border: 1px solid var(--te-border); border-radius: var(--te-r-14); padding: 20px; }
.te-invcard__ic { width: 42px; height: 42px; border-radius: var(--te-r-10); display: grid; place-items: center;
  background: var(--te-accent-tint,rgba(11,116,240,.09)); color: var(--te-accent); margin-bottom: 14px; }
.te-invcard__v { font-family: var(--te-font-display); font-weight: 800; font-size: clamp(22px,2.4vw,26px); color: var(--te-ink); line-height: 1; }
.te-invcard__l { font-size: var(--te-fs-14); color: var(--te-body); margin-top: 8px; line-height: 1.4; }
.te-invcard__s { font-size: var(--te-fs-12,12px); color: var(--te-label); margin-top: 10px; }
.te-invsections { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)); gap: 22px; }
.te-invsection__h { font-family: var(--te-font-display); font-weight: 700; font-size: var(--te-fs-18); color: var(--te-ink); margin: 0 0 8px; }
.te-invsection__p { font-size: var(--te-fs-15); color: var(--te-muted); line-height: 1.65; margin: 0; }

/* connectivity */
.te-commutes { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,220px),1fr)); gap: 14px; }
.te-commute { display: flex; align-items: center; gap: 12px; background: var(--te-surface);
  border: 1px solid var(--te-border); border-radius: var(--te-r-12); padding: 14px 16px; }
.te-commute__ic { flex: none; color: var(--te-accent); display: grid; place-items: center; }
.te-commute__time { font-family: var(--te-font-display); font-weight: 700; color: var(--te-ink); font-size: var(--te-fs-16); }
.te-commute__place { font-size: var(--te-fs-14); color: var(--te-muted); }

/* expert view */
.te-expert__badge { display: inline-flex; align-items: center; gap: 8px; font-family: var(--te-font-display);
  font-weight: 700; font-size: var(--te-fs-13); text-transform: uppercase; letter-spacing: .06em;
  color: var(--te-accent); margin-bottom: 16px; }
.te-expert__badge svg { color: var(--te-accent); }

.te-ctaband--compact { padding: clamp(28px,4vw,44px); }
.te-areasec--form { border-top: 1px solid var(--te-divider,var(--te-border)); }

@media (max-width:600px){
  .te-bench { grid-template-columns: 110px 1fr auto; gap: 10px; }
}

/* ---- Area hero with image + featured properties + gallery ---- */
.te-areahero--media .te-areahero__inner:has(.te-areahero__media){
  display: grid; grid-template-columns: 1.02fr .98fr; gap: clamp(26px,4vw,56px); align-items: center;
}
.te-areahero__media { border-radius: var(--te-r-18); overflow: hidden; box-shadow: var(--te-shadow-dropdown, 0 20px 50px rgba(16,18,20,.14)); }
.te-areahero__media img { display: block; width: 100%; height: clamp(280px,38vw,440px); object-fit: cover; }
.te-areahero--media .te-areastats { margin-top: clamp(24px,3vw,36px); }

.te-areahead { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.te-areahead .te-areasec__h { margin: 0; }
.te-areahead__more { flex: none; color: var(--te-accent); font-weight: 600; font-size: var(--te-fs-15); }
.te-areahead__more:hover { color: var(--te-accent-hover, var(--te-accent)); }

/* Featured property grid — the cards themselves reuse the site's .te-pcard
   component from components.css (image bg + scrim + badges + price/CTA foot). */
.te-pgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%,290px),1fr)); gap: 22px; }

/* gallery */
.te-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%,220px),1fr)); gap: 14px; }
.te-gallery__item { margin: 0; border-radius: var(--te-r-14); overflow: hidden; background: var(--te-fill); }
.te-gallery__item img { display: block; width: 100%; height: 100%; aspect-ratio: 4/3; object-fit: cover;
  transition: transform .4s ease; }
.te-gallery__item:hover img { transform: scale(1.04); }
.te-gallery__item:first-child { grid-column: span 2; grid-row: span 2; }
.te-gallery__item:first-child img { aspect-ratio: auto; height: 100%; min-height: 260px; }

@media (max-width: 900px){
  .te-areahero--media .te-areahero__inner:has(.te-areahero__media){ grid-template-columns: 1fr; }
  .te-areahero__media img { height: clamp(220px,50vw,320px); }
}
@media (max-width: 560px){
  .te-gallery__item:first-child { grid-column: span 1; grid-row: auto; }
  .te-gallery__item:first-child img { min-height: 0; aspect-ratio: 4/3; }
}

/* ---- Area: master plan / islands ---- */
.te-islands { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,240px),1fr)); gap: 18px; }
.te-island { background: var(--te-surface); border: 1px solid var(--te-border); border-radius: var(--te-r-14);
  padding: 22px; position: relative; }
.te-island__n { font-family: var(--te-font-display); font-weight: 800; font-size: var(--te-fs-13);
  color: var(--te-accent); letter-spacing: .06em; }
.te-island__h { font-family: var(--te-font-display); font-weight: 700; font-size: var(--te-fs-18);
  color: var(--te-ink); margin: 8px 0 8px; }
.te-island__p { font-size: var(--te-fs-15); color: var(--te-muted); line-height: 1.6; margin: 0; }

/* ---- Area: new launches table ---- */
.te-launchwrap { overflow-x: auto; border: 1px solid var(--te-border); border-radius: var(--te-r-14); }
.te-launches { width: 100%; border-collapse: collapse; min-width: 640px; }
.te-launches th, .te-launches td { text-align: left; padding: 13px 16px; font-size: var(--te-fs-14);
  border-bottom: 1px solid var(--te-divider-light,var(--te-border)); white-space: nowrap; }
.te-launches th { background: var(--te-surface); font-weight: 600; color: var(--te-muted);
  font-size: var(--te-fs-12,12px); text-transform: uppercase; letter-spacing: .05em; }
.te-launches tbody tr:last-child td { border-bottom: 0; }
.te-launches tbody tr:hover td { background: var(--te-surface); }
.te-launches__name { font-weight: 700; color: var(--te-ink); font-family: var(--te-font-display); }
.te-launches__price { color: var(--te-accent); font-weight: 700; font-variant-numeric: tabular-nums; }

/* ---- Area: detailed amenities ---- */
.te-amgrid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,300px),1fr)); gap: 18px; }
.te-amcard { border: 1px solid var(--te-border); border-radius: var(--te-r-16); padding: 22px 24px; }
.te-amcard__hd { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.te-amcard__ic { flex: none; width: 38px; height: 38px; border-radius: var(--te-r-10); display: grid; place-items: center;
  background: var(--te-accent-tint,rgba(11,116,240,.09)); color: var(--te-accent); }
.te-amcard__h { font-family: var(--te-font-display); font-weight: 700; font-size: var(--te-fs-17); color: var(--te-ink); margin: 0; }
.te-amcard__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.te-amcard__list li { position: relative; padding-left: 22px; font-size: var(--te-fs-15); color: var(--te-body); line-height: 1.5; }
.te-amcard__list li::before { content: ""; position: absolute; left: 2px; top: 8px; width: 6px; height: 6px;
  border-radius: 50%; background: var(--te-accent); }

/* ---- Area: updates timeline ---- */
.te-updates { list-style: none; margin: 0; padding: 0; }
.te-update { display: grid; grid-template-columns: 110px 1fr; gap: 20px; padding: 0 0 22px 0; position: relative; }
.te-update::before { content: ""; position: absolute; left: 118px; top: 8px; bottom: -6px; width: 2px; background: var(--te-border); }
.te-update:last-child { padding-bottom: 0; }
.te-update:last-child::before { display: none; }
.te-update__date { font-family: var(--te-font-display); font-weight: 700; font-size: var(--te-fs-14); color: var(--te-accent);
  text-align: right; padding-top: 1px; position: relative; }
.te-update__body { position: relative; padding-left: 24px; }
.te-update__body::before { content: ""; position: absolute; left: -4px; top: 5px; width: 10px; height: 10px; border-radius: 50%;
  background: var(--te-accent); box-shadow: 0 0 0 4px var(--te-bg,#fff); }
.te-update__h { font-family: var(--te-font-display); font-weight: 700; font-size: var(--te-fs-17); color: var(--te-ink); margin: 0 0 5px; }
.te-update__p { font-size: var(--te-fs-15); color: var(--te-muted); line-height: 1.6; margin: 0; }

@media (max-width: 560px){
  .te-update { grid-template-columns: 1fr; gap: 4px; }
  .te-update::before { display: none; }
  .te-update__date { text-align: left; }
  .te-update__body { padding-left: 0; }
  .te-update__body::before { display: none; }
}

/* ===================== Area: app-style upgrades ===================== */

/* At a glance — stat tiles */
.te-gtiles { display: grid; grid-template-columns: repeat(auto-fill,minmax(min(100%,175px),1fr)); gap: 14px; }
.te-gtile { background: var(--te-surface); border: 1px solid var(--te-border); border-radius: var(--te-r-14);
  padding: 18px; display: flex; flex-direction: column; gap: 5px; }
.te-gtile__ic { width: 34px; height: 34px; border-radius: var(--te-r-9); display: grid; place-items: center;
  background: var(--te-accent-tint,rgba(11,116,240,.09)); color: var(--te-accent); margin-bottom: 4px; }
.te-gtile__v { font-family: var(--te-font-display); font-weight: 700; font-size: var(--te-fs-17); color: var(--te-ink); line-height: 1.25; }
.te-gtile__k { font-size: var(--te-fs-13); color: var(--te-muted); }

/* Master plan — image + island tabs */
.te-master { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(22px,3vw,40px); align-items: stretch; }
.te-master--noimg { grid-template-columns: 1fr; }
.te-master__media { border-radius: var(--te-r-18); overflow: hidden; background: var(--te-fill); }
.te-master__media img { width: 100%; height: 100%; min-height: 320px; object-fit: cover; display: block; }
.te-master__panel { display: flex; flex-direction: column; gap: 20px; }
.te-islandtabs { display: flex; flex-wrap: wrap; gap: 8px; }
.te-islandtab { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--te-border);
  background: var(--te-white); border-radius: var(--te-r-pill); padding: 9px 15px; cursor: pointer;
  font-family: var(--te-font-body); font-size: var(--te-fs-14); color: var(--te-muted);
  transition: background var(--te-hover-transition), color var(--te-hover-transition), border-color var(--te-hover-transition); }
.te-islandtab:hover { border-color: var(--te-border-hover); color: var(--te-ink); }
.te-islandtab.is-active { background: var(--te-accent); border-color: var(--te-accent); color: #fff; }
.te-islandtab__n { font-family: var(--te-font-display); font-weight: 700; font-size: 11px; opacity: .65; }
.te-islandtab.is-active .te-islandtab__n { opacity: .9; }
.te-islandtab__nm { font-weight: 600; }
.te-islandpane[hidden] { display: none; }
.te-islandpane__h { font-family: var(--te-font-display); font-weight: 700; font-size: var(--te-fs-22); color: var(--te-ink); margin: 0 0 10px; }
.te-islandpane__p { font-size: var(--te-fs-16); color: var(--te-muted); line-height: 1.65; margin: 0; }

/* Prices — segmented switcher + price cards */
.te-priceapp { margin-bottom: 26px; }
.te-seg { display: inline-flex; background: var(--te-fill); border-radius: var(--te-r-pill); padding: 4px; margin-bottom: 20px; gap: 2px; }
.te-seg__btn { border: 0; background: none; border-radius: var(--te-r-pill); padding: 9px 20px;
  font-family: var(--te-font-body); font-size: var(--te-fs-14); font-weight: 600; color: var(--te-muted); cursor: pointer;
  transition: background var(--te-hover-transition), color var(--te-hover-transition); }
.te-seg__btn.is-active { background: var(--te-white); color: var(--te-ink); box-shadow: 0 1px 3px rgba(16,18,20,.10); }
.te-priceset[hidden] { display: none; }
.te-pcards { display: grid; grid-template-columns: repeat(auto-fill,minmax(min(100%,155px),1fr)); gap: 14px; }
.te-pricecard { border: 1px solid var(--te-border); border-radius: var(--te-r-14); padding: 18px; display: flex; flex-direction: column; gap: 5px; }
.te-pricecard__type { font-size: var(--te-fs-12,12px); color: var(--te-muted); text-transform: uppercase; letter-spacing: .04em; font-weight: 600; }
.te-pricecard__from { font-family: var(--te-font-display); font-weight: 800; font-size: var(--te-fs-20); color: var(--te-ink); font-variant-numeric: tabular-nums; }
.te-pricecard__sub { font-size: var(--te-fs-13); color: var(--te-muted); }
.te-benchcard { border: 1px solid var(--te-border); border-radius: var(--te-r-16); padding: 22px 24px;
  display: flex; flex-direction: column; gap: 13px; margin-top: 6px; }
.te-benchcard__h { font-family: var(--te-font-display); font-weight: 700; font-size: var(--te-fs-16); color: var(--te-ink); margin: 0 0 4px; }

/* Gallery — lightbox grid */
.te-gallery { display: grid; grid-template-columns: repeat(auto-fill,minmax(min(100%,230px),1fr)); gap: 14px; grid-auto-rows: 195px; }
.te-gitem { position: relative; margin: 0; padding: 0; border: 0; background: var(--te-fill);
  border-radius: var(--te-r-14); overflow: hidden; cursor: pointer; }
.te-gitem:first-child { grid-column: span 2; grid-row: span 2; }
.te-gitem img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .45s ease; }
.te-gitem:hover img { transform: scale(1.05); }
.te-gitem__cap { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: 26px 14px 12px;
  background: linear-gradient(to top, rgba(8,10,12,.72), rgba(8,10,12,0)); color: #fff; font-size: var(--te-fs-13); text-align: left; }
.te-gitem__zoom { position: absolute; top: 12px; right: 12px; width: 32px; height: 32px; border-radius: 50%;
  background: rgba(255,255,255,.92); color: var(--te-ink); display: grid; place-items: center; opacity: 0; transition: opacity .2s ease; }
.te-gitem:hover .te-gitem__zoom, .te-gitem:focus-visible .te-gitem__zoom { opacity: 1; }
.te-gitem:focus-visible { outline: 2px solid var(--te-accent); outline-offset: 2px; }

.te-lightbox { position: fixed; inset: 0; z-index: 9999; background: rgba(9,11,13,.93);
  display: flex; align-items: center; justify-content: center; padding: clamp(16px,4vw,60px); }
.te-lightbox[hidden] { display: none; }
.te-lightbox__fig { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 12px; max-width: min(1100px,92vw); }
.te-lightbox__fig img { max-width: 100%; max-height: 82vh; object-fit: contain; border-radius: var(--te-r-10); }
.te-lightbox__fig figcaption { color: rgba(255,255,255,.85); font-size: var(--te-fs-14); }
.te-lightbox__close { position: absolute; top: 16px; right: 22px; background: none; border: 0; color: #fff;
  font-size: 34px; line-height: 1; cursor: pointer; opacity: .8; }
.te-lightbox__close:hover { opacity: 1; }
.te-lightbox__nav { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,.12);
  border: 0; color: #fff; width: 48px; height: 48px; border-radius: 50%; font-size: 26px; cursor: pointer; display: grid; place-items: center; }
.te-lightbox__nav:hover { background: rgba(255,255,255,.22); }
.te-lightbox__prev { left: 16px; }
.te-lightbox__next { right: 16px; }

@media (max-width: 820px) {
  .te-master { grid-template-columns: 1fr; }
  .te-master__media img { min-height: 240px; }
}
@media (max-width: 560px) {
  .te-gallery { grid-auto-rows: 165px; }
  .te-gitem:first-child { grid-column: span 1; grid-row: span 1; }
  .te-lightbox__nav { width: 40px; height: 40px; }
}

/* ===================== Area: uniform width + sticky lead sidebar ===================== */
.te-areahero__inner, .te-areawrap { max-width: 1180px; }
.te-arealayout { display: grid; grid-template-columns: minmax(0,1fr) 358px; gap: clamp(26px,3.5vw,52px); align-items: start; }
.te-areamain { min-width: 0; }
.te-areamain > .te-areasec:first-child { border-top: 0; padding-top: 0; }

.te-aside { position: sticky; top: 88px; }
.te-asidecard { border: 1px solid var(--te-border); border-radius: var(--te-r-18); padding: 22px; background: var(--te-white); }
.te-aside__form { box-shadow: 0 10px 30px rgba(16,18,20,.07); }
.te-asidecard__h { font-family: var(--te-font-display); font-weight: 700; font-size: var(--te-fs-19); color: var(--te-ink); margin: 0 0 6px; }
.te-asidecard__sub { font-size: var(--te-fs-14); color: var(--te-muted); line-height: 1.5; margin: 0 0 14px; }
.te-aside__quick { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 14px; }
.te-asidebtn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 12px;
  border-radius: var(--te-r-10); background: var(--te-accent); color: #fff; font-weight: 600; font-size: var(--te-fs-14);
  border: 1px solid var(--te-accent); transition: background var(--te-hover-transition); }
.te-asidebtn:hover { background: var(--te-accent-hover, var(--te-accent)); color: #fff; }
.te-asidebtn svg { flex: none; }
.te-asidebtn--wa { background: #25D366; border-color: #25D366; color: #fff; }
.te-asidebtn--wa:hover { background: #1EBE5B; border-color: #1EBE5B; color: #fff; }
.te-asidebtn--ghost { background: transparent; color: var(--te-ink); border-color: var(--te-border); }
.te-asidebtn--ghost:hover { border-color: var(--te-border-hover); background: transparent; color: var(--te-ink); }

/* compact sidebar form: name full width, email + phone paired, interest full */
.te-form--compact { gap: 12px; }
.te-form--compact .te-form__grid { grid-template-columns: 1fr 1fr; gap: 10px; }
.te-form--compact .te-form__grid .te-field:nth-child(1),
.te-form--compact .te-form__grid .te-field:nth-child(4) { grid-column: 1 / -1; }
.te-form--compact .te-field__label { font-size: var(--te-fs-13); }
.te-form--compact .te-field__input { padding: 11px 13px; font-size: var(--te-fs-15); }
.te-form--compact .te-form__submit { width: 100%; align-self: stretch; margin-top: 2px; }

@media (max-width: 960px) {
  .te-arealayout { grid-template-columns: 1fr; }
  .te-aside { position: static; order: -1; margin-bottom: 6px; max-height: none; overflow: visible; }
  .te-aside__form .te-form__grid { grid-template-columns: 1fr 1fr; }
  .te-areamain > .te-areasec:first-child { border-top: 1px solid var(--te-divider,var(--te-border)); padding-top: clamp(30px,4vw,48px); }
}
@media (max-width: 520px) {
  .te-aside__form .te-form__grid { grid-template-columns: 1fr; }
}

/* ---- Mobile: collapse the lead form to a compact, expandable card ---- */
.te-aside__toggle { display: none; } /* desktop: full form shown, no toggle */
@media (max-width: 960px) {
  /* collapsed by default: just heading + a button, so it stays compact and out of the way */
  .te-aside__form .te-asidecard__sub { display: none; }
  .te-aside__form .te-form { display: none; }
  .te-aside__toggle {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%;
    background: var(--te-accent); color: #fff; border: 0; border-radius: var(--te-r-10);
    padding: 14px 18px; font-family: var(--te-font-body); font-weight: 600; font-size: var(--te-fs-16);
    cursor: pointer; transition: background var(--te-hover-transition);
  }
  .te-aside__toggle:hover { background: var(--te-accent-hover, var(--te-accent)); }
  /* expanded */
  .te-aside__form.is-open .te-asidecard__sub { display: block; }
  .te-aside__form.is-open .te-form { display: flex; }
  .te-aside__form.is-open .te-aside__toggle { display: none; }
  .te-aside__form.is-open { padding-bottom: 26px; }
  .te-aside { gap: 12px; }
}

/* ===================== Areas index (/areas/) ===================== */
.te-areasindex__em { font-family: var(--te-font-display); font-weight: 700; font-size: var(--te-fs-22);
  color: var(--te-ink); margin: clamp(30px,4vw,44px) 0 20px; letter-spacing: -.01em; scroll-margin-top: 100px; }
.te-areasindex__em:first-of-type { margin-top: clamp(20px,2.5vw,28px); }
.te-agrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%,260px),1fr)); gap: 20px; }
.te-acard { position: relative; height: 300px; border-radius: var(--te-r-16); overflow: hidden;
  background: var(--te-fill); transition: transform var(--te-hover-transition), box-shadow var(--te-hover-transition); }
.te-acard:hover { transform: translateY(-3px); box-shadow: 0 16px 38px rgba(16,18,20,.14); }
.te-acard__img { position: absolute; inset: 0; background-size: cover; background-position: center;
  transition: transform .5s ease; }
.te-acard--noimg .te-acard__img { background: linear-gradient(150deg, #1B3A63 0%, #0B74F0 55%, #2A9BF2 100%); }
.te-acard--noimg .te-acard__scrim { background: linear-gradient(to top, rgba(8,10,12,.55) 0%, rgba(8,10,12,.10) 55%, rgba(8,10,12,0) 80%); }
.te-acard:hover .te-acard__img { transform: scale(1.06); }
.te-acard__scrim { position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(8,10,12,.82) 0%, rgba(8,10,12,.25) 45%, rgba(8,10,12,0) 75%); }
.te-acard__body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 20px; color: #fff; }
.te-acard__name { font-family: var(--te-font-display); font-weight: 700; font-size: var(--te-fs-21);
  line-height: 1.15; margin: 0 0 6px; }
.te-acard__name a { color: #fff; }
.te-acard__name a::after { content: ""; position: absolute; inset: 0; z-index: 3; }
.te-acard__stat { font-size: var(--te-fs-14); color: rgba(255,255,255,.82); font-variant-numeric: tabular-nums; }

/* ===================== Tools / calculators ===================== */
.te-tools { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%,320px),1fr)); gap: 20px; }
.te-tool { background: var(--te-surface); border: 1px solid var(--te-border); border-radius: var(--te-r-18);
  padding: 24px; display: flex; flex-direction: column; }
.te-tool__hd { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.te-tool__ic { flex: none; width: 42px; height: 42px; border-radius: var(--te-r-11); display: grid; place-items: center;
  background: var(--te-accent-tint,rgba(11,116,240,.09)); color: var(--te-accent); }
.te-tool__h { font-family: var(--te-font-display); font-weight: 700; font-size: var(--te-fs-18); color: var(--te-ink); margin: 0; }
.te-tool__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.te-tool__grid .te-field__label { font-size: var(--te-fs-13); }
.te-tool__grid .te-field__input { padding: 11px 13px; background: var(--te-white); }
.te-tool__out { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--te-border); }
.te-tool__result { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.te-tool__rlabel { font-size: var(--te-fs-14); color: var(--te-muted); }
.te-tool__rval { font-family: var(--te-font-display); font-weight: 800; font-size: clamp(20px,2.4vw,26px);
  color: var(--te-accent); font-variant-numeric: tabular-nums; }
.te-tool__sub { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 12px; font-size: var(--te-fs-14); color: var(--te-muted); }
.te-tool__sub b { color: var(--te-ink); font-weight: 600; }
.te-tool__break { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.te-tool__break li { display: flex; justify-content: space-between; gap: 12px; font-size: var(--te-fs-14); color: var(--te-muted); }
.te-tool__break b { color: var(--te-ink); font-weight: 600; font-variant-numeric: tabular-nums; }
.te-tool__note { font-size: var(--te-fs-13); color: var(--te-muted); line-height: 1.5; margin: 14px 0 0; }
@media (max-width:420px){ .te-tool__grid { grid-template-columns: 1fr; } }
