:root {
  --navy: #08131d;
  --gold: #b8944a;
  --ivory: #f8f5ef;
  --red: #8e2028;
  --ink: #20252a;
  --line: #dedad2;
  --muted: #64686a;
  --white: #fff;
  --wa: #25d366;
  --linegreen: #00c300;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: var(--ivory);
  color: var(--ink);
  font:
    16px/1.85 'Hiragino Sans',
    'Hiragino Kaku Gothic ProN',
    Arial,
    sans-serif;
  -webkit-font-smoothing: antialiased;
}
body.en {
  font-family: Arial, sans-serif;
  line-height: 1.65;
}
h1,
h2,
h3,
p {
  margin: 0;
}
h1,
h2,
.serif {
  font-family: 'Hiragino Mincho ProN', 'Yu Mincho', Georgia, serif;
  font-weight: 500;
  letter-spacing: 0.035em;
}
h1 {
  font-size: 45px;
  line-height: 1.6;
}
h2 {
  font-size: 30px;
  line-height: 1.55;
}
h3 {
  font-size: 19px;
  line-height: 1.65;
  font-weight: 600;
}
p + p {
  margin-top: 14px;
}
a {
  color: inherit;
  text-decoration: none;
}
button,
input,
select,
textarea {
  font: inherit;
}
button {
  cursor: pointer;
}
img {
  display: block;
  max-width: 100%;
}
svg {
  width: 25px;
  height: 25px;
  flex-shrink: 0;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.wrap {
  width: 1200px;
  max-width: calc(100% - 96px);
  margin: auto;
}
.section {
  padding: 64px 0;
}
.section.white {
  background: white;
}
.section.dark,
.dark {
  background: var(--navy);
  color: white;
}
.eyebrow {
  color: var(--gold);
  font-size: 12px;
  letter-spacing: 0.18em;
  line-height: 1.4;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 15px;
}
.heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 25px;
  margin-bottom: 30px;
}
.heading p {
  max-width: 570px;
  color: var(--muted);
  font-size: 14px;
  margin-top: 12px;
}
.heading .link {
  font-size: 14px;
  white-space: nowrap;
}
.dark .heading p {
  color: #cdd0d1;
}
.link {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  border-bottom: 1px solid var(--gold);
  padding: 7px 0;
  font-size: 14px;
}
.link:after {
  content: '→';
}
.grid {
  display: grid;
  gap: 24px;
}
.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.five {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.six {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.grid > * {
  min-width: 0;
}
.mt {
  margin-top: 28px;
}
.mt-lg {
  margin-top: 48px;
}
.small {
  font-size: 13px;
  line-height: 1.8;
}
.muted {
  color: var(--muted);
}
.gold {
  color: var(--gold);
}
.red {
  color: var(--red);
}
.center {
  text-align: center;
}
.intro {
  max-width: 760px;
}
.photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.caption {
  font-size: 11px;
  color: var(--muted);
  padding-top: 8px;
  line-height: 1.6;
}
.rule {
  border-top: 1px solid var(--line);
  margin: 32px 0;
}
.badge {
  display: inline-block;
  background: var(--ivory);
  padding: 3px 10px;
  font-size: 11px;
  letter-spacing: 0.03em;
  border: 1px solid var(--line);
  color: var(--ink);
}
.num {
  font:
    32px/1.1 Georgia,
    serif;
  color: var(--gold);
  margin-bottom: 18px;
}
.btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 13px;
  min-height: 50px;
  padding: 13px 23px;
  border: 1px solid var(--red);
  background: var(--red);
  color: white;
  border-radius: 2px;
  font-size: 14px;
  line-height: 1.6;
  font-weight: 600;
  white-space: normal;
  text-align: center;
}
.btn svg {
  width: 20px;
  height: 20px;
}
.btn.outline {
  border-color: var(--gold);
  background: transparent;
  color: var(--ink);
}
.dark .btn.outline,
.hero .btn.outline {
  color: white;
}
.btn.light {
  background: white;
  border-color: var(--line);
  color: var(--ink);
}
.btn.full {
  width: 100%;
}
.actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 27px;
}
.card {
  background: white;
  border: 1px solid var(--line);
  border-radius: 3px;
  overflow: hidden;
}
.pad {
  padding: 28px;
}
.card h3 + p {
  margin-top: 12px;
}
.card .icon {
  color: var(--gold);
  margin-bottom: 20px;
}
.card .icon svg {
  width: 37px;
  height: 37px;
}
.feature {
  border-top: 1px solid var(--gold);
  padding-top: 22px;
}
.feature h3 {
  margin-bottom: 10px;
}
.feature p {
  font-size: 14px;
  color: var(--muted);
}
.feature svg {
  color: var(--gold);
  width: 34px;
  height: 34px;
  margin-bottom: 17px;
}
.note {
  background: #f2ede3;
  border-left: 2px solid var(--gold);
  padding: 18px 22px;
  font-size: 13px;
  line-height: 1.85;
}
.note p + p {
  margin-top: 9px;
}
.pillnav {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.pillnav span {
  border: 1px solid var(--line);
  padding: 10px 17px;
  font-size: 13px;
  background: white;
  border-radius: 2px;
}
.pillnav .active {
  background: var(--navy);
  border-color: var(--navy);
  color: white;
}
.reviewbar {
  height: 46px;
  padding: 0 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #ede8de;
  color: #585248;
  border-bottom: 1px solid #d8d1c2;
  font-size: 11px;
  letter-spacing: 0.08em;
}
.header {
  background: var(--navy);
  color: white;
  border-bottom: 1px solid #ffffff20;
  height: 103px;
}
.header .wrap {
  height: 100%;
  display: flex;
  align-items: center;
  gap: 30px;
}
.logo {
  width: 195px;
  height: auto;
  object-fit: contain;
  flex-shrink: 0;
}
.header nav {
  display: flex;
  gap: 25px;
  align-items: center;
  margin-left: auto;
  font-size: 13px;
  white-space: nowrap;
}
.header nav a {
  padding: 17px 0;
  border-bottom: 1px solid transparent;
}
.header nav a.active {
  border-color: var(--gold);
}
.header .btn {
  min-height: 44px;
  padding: 10px 18px;
  font-size: 13px;
  flex-shrink: 0;
}
.languages {
  font-size: 10px;
  letter-spacing: 0.1em;
  white-space: nowrap;
  color: #cbcbc6;
}
.languages strong {
  color: var(--gold);
}
.mobile-toggle {
  display: none;
}
.crumb {
  font-size: 11px;
  letter-spacing: 0.04em;
  padding: 16px 0;
  background: var(--ivory);
  color: #66645d;
  border-bottom: 1px solid var(--line);
}
.crumb span {
  margin: 0 12px;
  color: #a49473;
}
.hero {
  background: var(--navy);
  color: white;
  position: relative;
  overflow: hidden;
}
.hero .wrap {
  position: relative;
  z-index: 1;
  min-height: 450px;
  display: flex;
  align-items: center;
  padding-top: 53px;
  padding-bottom: 60px;
}
.hero-copy {
  max-width: 610px;
}
.hero-copy > p {
  font-size: 15px;
  line-height: 2;
  margin-top: 21px;
  max-width: 535px;
  color: #e0e2e3;
}
.hero-image {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 55%;
  object-fit: cover;
  height: 100%;
}
.hero:after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #08131d 0%, #08131d 34%, #08131dd9 46%, #08131d00 73%);
}
.hero .image-credit {
  position: absolute;
  bottom: 15px;
  right: 25px;
  font-size: 10px;
  color: white;
  z-index: 2;
  background: #08131d9c;
  padding: 2px 8px;
}
.hero.home .wrap {
  min-height: 610px;
}
.hero.home h1 {
  font-size: 46px;
  line-height: 1.75;
}
.hero.home .hero-copy {
  max-width: 660px;
}
.hero.home .hero-image {
  width: 60%;
}
.hero.home-b .hero-image {
  width: 100%;
}
.hero.home-b:after {
  background: linear-gradient(90deg, #08131def 0%, #08131daa 43%, #08131d15 100%);
}
.hero.home-c .wrap {
  text-align: center;
  justify-content: center;
  min-height: 400px;
  padding-bottom: 55px;
}
.hero.home-c:after {
  display: none;
}
.hero.home-c .hero-copy {
  max-width: 870px;
}
.hero.home-c .hero-copy > p {
  margin: 18px auto 0;
  max-width: 670px;
}
.hero.home-c .actions {
  justify-content: center;
}
.home-gallery {
  background: var(--navy);
  padding-bottom: 45px;
}
.home-gallery .grid {
  gap: 15px;
  grid-template-columns: 1fr 1.8fr 1fr;
}
.home-gallery img {
  height: 290px;
  width: 100%;
  object-fit: cover;
}
.pathways {
  padding: 31px 0;
  border-bottom: 1px solid var(--line);
  background: white;
}
.pathway {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 20px 30px;
  border-right: 1px solid var(--line);
}
.pathway:last-child {
  border-right: 0;
}
.pathway svg {
  width: 39px;
  height: 39px;
  color: var(--gold);
}
.pathway strong {
  display: block;
  font-family: 'Hiragino Mincho ProN', Georgia, serif;
  font-size: 24px;
  font-weight: 500;
}
.pathway small {
  font-size: 12px;
  color: var(--muted);
}
.pathway .arr {
  margin-left: auto;
  color: var(--gold);
  font-size: 25px;
}
.property img {
  width: 100%;
  height: 230px;
  object-fit: cover;
}
.property .pad {
  padding: 22px;
}
.property .location {
  font-size: 11px;
  letter-spacing: 0.06em;
  color: var(--muted);
  margin: 0 0 7px;
}
.property h3 {
  font-size: 19px;
  line-height: 1.4;
  min-height: 27px;
}
.property .price {
  font-family: Georgia, serif;
  font-size: 25px;
  color: var(--red);
  margin: 12px 0;
}
.price small {
  font:
    12px Arial,
    sans-serif;
}
.property .specs {
  font-size: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 5px 18px;
  line-height: 1.9;
}
.property .link {
  width: 100%;
  justify-content: space-between;
  margin-top: 18px;
  border-top: 1px solid var(--line);
  border-bottom: 0;
  padding-top: 15px;
}
.area-card {
  position: relative;
  min-height: 250px;
  color: white;
  overflow: hidden;
  border-radius: 2px;
}
.area-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.area-card:after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(transparent, #08131dee);
}
.area-card div {
  position: absolute;
  bottom: 20px;
  left: 20px;
  right: 15px;
  z-index: 1;
}
.area-card h3 {
  font-size: 17px;
}
.area-card p {
  font-size: 10px;
  letter-spacing: 0.09em;
  color: #d9c297;
}
.split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
.split img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  border-radius: 2px;
}
.split p {
  margin-top: 20px;
}
.insight img {
  height: 180px;
  width: 100%;
  object-fit: cover;
}
.insight .pad {
  padding: 23px;
}
.insight h3 {
  font-size: 17px;
  margin-top: 14px;
}
.insight .meta {
  display: flex;
  align-items: center;
  gap: 15px;
  font-size: 11px;
  color: var(--muted);
}
.cta {
  padding: 56px 0;
  background: var(--navy);
  color: white;
  border-top: 1px solid #ffffff24;
}
.cta .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 60px;
}
.cta h2 {
  font-size: 29px;
}
.cta p {
  font-size: 14px;
  color: #ccd0d1;
  margin-top: 15px;
}
.cta-right {
  min-width: 280px;
  max-width: 380px;
}
.messaging {
  display: flex;
  gap: 18px;
  align-items: center;
  font-size: 12px;
  margin-top: 16px;
  justify-content: center;
}
.messaging a {
  display: flex;
  gap: 7px;
  align-items: center;
}
.messaging svg {
  width: 21px;
  height: 21px;
}
.messaging .wa {
  color: var(--wa);
}
.messaging .line {
  color: var(--linegreen);
}
.footer {
  background: var(--navy);
  color: #d4d7d8;
  border-top: 1px solid #ffffff26;
  padding: 44px 0 24px;
}
.footer .top {
  display: grid;
  grid-template-columns: 1.15fr 3fr;
  gap: 70px;
}
.footer .logo {
  width: 180px;
}
.footer .address {
  font-size: 11px;
  line-height: 1.9;
  margin-top: 24px;
  color: #a8afb2;
}
.footer .nav-cols {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 22px;
}
.footer h4 {
  font-size: 12px;
  font-weight: 600;
  margin: 0 0 16px;
  color: white;
}
.footer a {
  display: block;
  font-size: 11px;
  margin-bottom: 9px;
  line-height: 1.6;
}
.footer-bottom {
  border-top: 1px solid #ffffff26;
  margin-top: 35px;
  padding-top: 22px;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  align-items: center;
  font-size: 10px;
}
.footer-bottom .links {
  display: flex;
  gap: 22px;
  flex-wrap: wrap;
}
.footer-bottom a {
  font-size: 10px;
  margin: 0;
  white-space: nowrap;
}
.filter {
  background: white;
  border: 1px solid var(--line);
  padding: 26px;
  box-shadow: 0 10px 30px #08131d05;
}
.filter .grid {
  gap: 17px;
  grid-template-columns: repeat(5, 1fr);
}
label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.7;
}
input,
select,
textarea {
  display: block;
  width: 100%;
  border: 1px solid #cfcfcb;
  background: white;
  border-radius: 2px;
  padding: 12px;
  color: var(--ink);
  margin-top: 9px;
  min-height: 48px;
  font-size: 14px;
}
select {
  padding-right: 27px;
}
textarea {
  resize: none;
  min-height: 140px;
}
.filter label {
  font-size: 12px;
}
.filter select {
  font-size: 13px;
}
.filter-bottom {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  align-items: center;
  margin-top: 22px;
}
.filter-bottom p {
  font-size: 12px;
  color: var(--muted);
}
.filters-hero {
  padding-bottom: 40px;
}
.list-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  margin: 30px 0 24px;
}
.list-summary span {
  color: var(--muted);
}
.pagination {
  display: flex;
  gap: 9px;
  justify-content: center;
  margin-top: 32px;
}
.pagination span {
  background: var(--navy);
  color: white;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
}
.gallery {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  grid-template-rows: 220px 220px;
  gap: 14px;
}
.gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gallery img:first-child {
  grid-row: span 2;
}
.detail-title {
  padding: 36px 0 26px;
}
.detail-title h1 {
  font-size: 39px;
}
.detail-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.detail-price {
  font:
    32px Georgia,
    serif;
  color: var(--red);
  text-align: right;
}
.detail-price small {
  font:
    13px Arial,
    sans-serif;
  display: block;
  margin-top: 8px;
  color: var(--muted);
}
.detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: 42px;
}
.detail-layout h2 {
  font-size: 27px;
  margin-bottom: 24px;
}
.detail-layout > aside > .card {
  margin-bottom: 23px;
}
.detail-section {
  border-bottom: 1px solid var(--line);
  padding-bottom: 38px;
  margin-bottom: 38px;
}
.facts {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  line-height: 1.8;
}
.facts th,
.facts td {
  text-align: left;
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}
.facts th {
  font-weight: 500;
  background: #f0ece5;
  width: 27%;
  font-size: 13px;
}
.facts td {
  background: white;
}
.price-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.price-table th {
  text-align: left;
  background: var(--navy);
  color: white;
  font-weight: 500;
  padding: 14px;
}
.price-table td {
  padding: 17px 14px;
  border-bottom: 1px solid var(--line);
  background: white;
}
.steps {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 18px;
}
.step {
  border-top: 1px solid var(--gold);
  padding-top: 18px;
}
.step .num {
  font-size: 27px;
}
.step h3 {
  font-size: 15px;
  margin-bottom: 10px;
}
.step p {
  font-size: 12px;
  color: var(--muted);
}
.support {
  border: 1px solid var(--gold);
  background: #f5efe3;
  padding: 30px;
}
.support .support-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}
.bigprice {
  color: var(--red);
  font:
    47px/1.2 Georgia,
    serif;
}
.bigprice small {
  font:
    13px Arial,
    sans-serif;
  color: var(--ink);
}
.support ul {
  margin: 0;
  padding-left: 18px;
  columns: 2;
  font-size: 14px;
}
.support .small {
  margin-top: 20px;
}
.fees .card {
  padding: 30px;
}
.fees h3 {
  min-height: 65px;
}
.fees .bigprice {
  font-size: 39px;
  margin: 24px 0 18px;
}
.faq {
  border-top: 1px solid var(--line);
}
.faq-item {
  border-bottom: 1px solid var(--line);
  padding: 20px 0;
}
.faq-q {
  display: flex;
  align-items: start;
  gap: 18px;
  font-size: 16px;
  font-weight: 500;
}
.faq-q:before {
  content: 'Q';
  font:
    20px Georgia,
    serif;
  color: var(--gold);
}
.faq-q:after {
  content: '+';
  margin-left: auto;
  color: var(--gold);
  font-size: 20px;
}
.faq-item.open .faq-q:after {
  content: '−';
}
.faq-a {
  margin: 16px 37px 5px;
  max-width: 940px;
  font-size: 14px;
  color: #50565a;
  line-height: 2;
}
.faq-a p + p {
  margin-top: 12px;
}
.faq-grid {
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: 60px;
}
.faq-nav {
  border-left: 2px solid var(--gold);
  padding-left: 25px;
  align-self: start;
}
.faq-nav div {
  font-size: 14px;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}
.faq-block + .faq-block {
  margin-top: 42px;
}
.faq-block h2 {
  font-size: 27px;
  margin-bottom: 22px;
}
.case {
  display: grid;
  grid-template-columns: 100px 1fr 1fr;
  gap: 45px;
  padding: 40px 0;
  border-bottom: 1px solid var(--line);
}
.case h3 {
  font-family: 'Hiragino Mincho ProN', Georgia, serif;
  font-size: 25px;
}
.case .tag {
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 14px;
}
.case .num {
  font-size: 52px;
}
.case p {
  font-size: 14px;
  line-height: 2;
}
.case-label {
  font-size: 11px;
  color: var(--gold);
  letter-spacing: 0.1em;
  margin-bottom: 10px;
}
.form-layout {
  display: grid;
  grid-template-columns: 1.8fr 1fr;
  gap: 46px;
}
.form-card {
  background: white;
  border: 1px solid var(--line);
  padding: 36px;
}
.form-card .grid {
  gap: 25px;
  margin: 24px 0;
}
.required {
  font-size: 10px;
  color: var(--red);
  margin-left: 9px;
  font-weight: 400;
}
.optional {
  font-size: 10px;
  color: var(--muted);
  margin-left: 9px;
  font-weight: 400;
}
.checkbox {
  display: flex;
  gap: 12px;
  align-items: start;
  font-size: 13px;
  font-weight: 400;
  margin: 24px 0;
}
.checkbox input {
  width: 17px;
  min-width: 17px;
  min-height: 17px;
  height: 17px;
  margin: 4px 0 0;
  accent-color: var(--red);
}
.form-side > div {
  margin-bottom: 25px;
  padding: 27px;
  border: 1px solid var(--line);
  background: white;
}
.form-side h3 {
  margin-bottom: 16px;
}
.form-side p {
  font-size: 13px;
}
.form-side .messaging {
  justify-content: start;
  flex-wrap: wrap;
}
.completion {
  padding: 95px 0 105px;
  text-align: center;
}
.completion .circle {
  border: 1px solid var(--gold);
  border-radius: 50%;
  display: grid;
  place-items: center;
  width: 90px;
  height: 90px;
  margin: 0 auto 30px;
  color: var(--gold);
}
.completion svg {
  width: 36px;
  height: 36px;
}
.completion p {
  margin: 25px auto;
  max-width: 550px;
}
.completion h1 {
  font-size: 35px;
}
.editorial {
  display: grid;
  grid-template-columns: 2.5fr 1fr;
  gap: 43px;
}
.editorial aside .card {
  margin-bottom: 25px;
}
.editorial h1 {
  font-size: 38px;
  line-height: 1.6;
}
.article-main > img {
  width: 100%;
  height: 390px;
  object-fit: cover;
  margin: 30px 0;
}
.article-main h2 {
  font-size: 27px;
  margin: 34px 0 18px;
}
.article-main > p {
  font-size: 15px;
  line-height: 2.05;
}
.article-main .toc {
  padding: 26px;
  background: #f0ebe2;
  margin: 27px 0;
}
.toc ol {
  padding-left: 22px;
  margin-bottom: 0;
}
.toc li {
  padding: 6px 0;
  font-size: 14px;
}
.compact-article {
  display: flex;
  gap: 15px;
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
.compact-article img {
  width: 84px;
  height: 74px;
  object-fit: cover;
}
.compact-article h3 {
  font-size: 13px;
}
.compact-article small {
  font-size: 10px;
  color: var(--muted);
}
.mobilebar {
  display: none;
}
.swatches {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 20px;
}
.swatch > div {
  height: 100px;
  border: 1px solid #0001;
  border-radius: 2px;
  margin-bottom: 12px;
}
.swatch strong {
  font-size: 14px;
}
.swatch p {
  font-size: 12px;
}
.ui-label {
  font-size: 12px;
  color: var(--muted);
  letter-spacing: 0.03em;
  margin-bottom: 18px;
}
.component-demo {
  background: white;
  padding: 28px;
  border: 1px solid var(--line);
}
.mega {
  background: var(--navy);
  color: white;
  padding: 36px;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 28px;
}
.mega h3 {
  font-size: 14px;
  color: var(--gold);
  padding-bottom: 15px;
  border-bottom: 1px solid #ffffff22;
}
.mega p {
  font-size: 12px;
  margin-top: 14px;
  line-height: 1.8;
}
.mobilemenu {
  max-width: 440px;
  background: var(--navy);
  color: white;
  padding: 30px;
  margin: auto;
  min-height: 800px;
}
.mobilemenu .logo {
  width: 180px;
}
.mobilemenu .row {
  padding: 20px 0;
  border-bottom: 1px solid #ffffff30;
  display: flex;
  justify-content: space-between;
  font-size: 17px;
}
.mobilemenu .minor {
  font-size: 13px;
  line-height: 2.4;
  color: #cad0d3;
  padding: 20px 0;
}
.mobilemenu .languages {
  font-size: 12px;
}
.menu-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
.review-end {
  padding: 16px 36px;
  background: #ede8de;
  color: #585248;
  font-size: 10px;
  display: flex;
  justify-content: space-between;
}
.en h1 {
  line-height: 1.25;
  letter-spacing: 0;
  font-size: 49px;
}
.en h2 {
  letter-spacing: 0;
}
.en .hero.home h1 {
  font-size: 52px;
  line-height: 1.28;
}
.en .hero-copy > p {
  line-height: 1.8;
}
.en .header nav {
  font-size: 12px;
  gap: 20px;
}
.en .header .wrap {
  gap: 24px;
}
.en .header .logo {
  width: 180px;
}
.en .hero-copy {
  max-width: 590px;
}
.en .home-c .hero-copy {
  max-width: 890px;
}
.en .case h3 {
  line-height: 1.45;
}
.en .footer .nav-cols {
  gap: 15px;
}
.en .support li {
  line-height: 1.9;
}
@media (max-width: 900px) {
  .wrap {
    max-width: calc(100% - 40px);
  }
  .reviewbar {
    height: 44px;
    padding: 0 20px;
    font-size: 9px;
  }
  .reviewbar span:last-child {
    display: none;
  }
  .header {
    height: 85px;
  }
  .header .wrap,
  .en .header .wrap {
    gap: 15px;
  }
  .header .logo,
  .en .header .logo {
    width: 145px;
  }
  .header nav,
  .header .languages {
    display: none;
  }
  .header .btn {
    margin-left: auto;
    font-size: 11px;
    padding: 10px 12px;
    min-height: 39px;
  }
  .header .btn svg {
    display: none;
  }
  .mobile-toggle {
    display: block;
    order: -1;
    border: 0;
    background: none;
    color: white;
    padding: 0;
  }
  .mobile-toggle svg {
    width: 23px;
    height: 23px;
  }
  .crumb {
    font-size: 10px;
    padding: 12px 0;
  }
  .crumb span {
    margin: 0 7px;
  }
  .section {
    padding: 40px 0;
  }
  h1,
  .en h1 {
    font-size: 31px;
    line-height: 1.6;
  }
  h2 {
    font-size: 25px;
  }
  h3 {
    font-size: 17px;
  }
  .hero .wrap {
    min-height: 450px;
    padding: 44px 0;
  }
  .hero .hero-image {
    width: 100%;
    opacity: 0.47;
  }
  .hero:after {
    background: linear-gradient(90deg, #08131def, #08131d66);
  }
  .hero-copy {
    max-width: 100%;
  }
  .hero-copy > p {
    font-size: 13px;
    line-height: 1.95;
  }
  .hero.home .wrap {
    min-height: 625px;
    align-items: end;
    padding-bottom: 45px;
  }
  .hero.home h1,
  .en .hero.home h1 {
    font-size: 31px;
    line-height: 1.55;
  }
  .hero.home .hero-image {
    width: 100%;
    object-position: 60% 30%;
    opacity: 0.62;
  }
  .hero.home:after {
    background: linear-gradient(0deg, #08131d 1%, #08131dee 35%, #08131d00 100%);
  }
  .hero.home-c .wrap {
    min-height: 550px;
  }
  .hero .image-credit {
    font-size: 8px;
    bottom: 9px;
    right: 20px;
  }
  .hero .actions {
    gap: 10px;
  }
  .hero .btn {
    font-size: 12px;
    padding: 12px 15px;
  }
  .home-gallery img {
    height: 140px;
  }
  .home-gallery .grid {
    gap: 8px;
  }
  .eyebrow {
    font-size: 10px;
    margin-bottom: 13px;
  }
  .heading {
    display: block;
    margin-bottom: 25px;
  }
  .heading p {
    font-size: 13px;
  }
  .heading .link {
    margin-top: 17px;
  }
  .grid.two,
  .grid.three,
  .grid.four,
  .grid.five,
  .grid.six {
    grid-template-columns: 1fr;
  }
  .grid {
    gap: 18px;
  }
  .pathways {
    padding: 10px 0;
  }
  .pathways .two {
    gap: 0;
  }
  .pathway {
    border-right: 0;
    border-bottom: 1px solid var(--line);
    padding: 21px 4px;
    gap: 17px;
  }
  .pathway:last-child {
    border-bottom: 0;
  }
  .pathway strong {
    font-size: 22px;
  }
  .pathway small {
    font-size: 11px;
  }
  .pathway svg {
    width: 30px;
  }
  .feature p {
    font-size: 13px;
  }
  .feature h3 {
    font-size: 17px;
  }
  .feature {
    padding-top: 18px;
  }
  .feature svg {
    width: 30px;
    height: 30px;
    margin-bottom: 10px;
  }
  .strength-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 28px 20px;
  }
  .property img {
    height: 235px;
  }
  .property .pad {
    padding: 22px;
  }
  .property h3 {
    font-size: 21px;
  }
  .property .price {
    font-size: 26px;
  }
  .property .specs {
    font-size: 13px;
  }
  .area-row {
    grid-template-columns: 1fr 1fr !important;
    gap: 14px;
  }
  .area-card {
    min-height: 220px;
  }
  .area-card h3 {
    font-size: 14px;
  }
  .area-card div {
    left: 13px;
    bottom: 15px;
  }
  .area-card p {
    font-size: 8px;
  }
  .split {
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .split img {
    height: 265px;
  }
  .split p {
    font-size: 14px;
  }
  .pad {
    padding: 23px;
  }
  .card h3 {
    font-size: 18px;
  }
  .insight img {
    height: 220px;
  }
  .cta {
    padding: 37px 0;
  }
  .cta .wrap {
    display: block;
  }
  .cta h2 {
    font-size: 25px;
  }
  .cta p {
    font-size: 13px;
  }
  .cta-right {
    margin-top: 26px;
    max-width: none;
    min-width: 0;
  }
  .messaging {
    font-size: 12px;
    gap: 22px;
  }
  .footer {
    padding: 35px 0 90px;
  }
  .footer .top {
    display: block;
  }
  .footer .logo {
    width: 165px;
  }
  .footer .address {
    margin: 20px 0 30px;
  }
  .footer .nav-cols {
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
  }
  .footer h4 {
    font-size: 12px;
    margin-bottom: 12px;
  }
  .footer a {
    font-size: 11px;
  }
  .footer-bottom {
    display: block;
  }
  .footer-bottom .links {
    gap: 12px 16px;
    margin-bottom: 23px;
  }
  .footer-bottom p {
    font-size: 9px;
  }
  .review-end {
    padding: 15px 20px;
    font-size: 8px;
    gap: 15px;
  }
  .mobilebar {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100;
    padding: 12px 20px;
    background: var(--navy);
    box-shadow: 0 -5px 20px #0002;
    gap: 15px;
  }
  .mobilebar .btn {
    width: 100%;
    min-height: 45px;
    font-size: 13px;
    padding: 10px;
  }
  .mobilebar .btn svg {
    width: 18px;
  }
  .filter {
    padding: 23px;
  }
  .filter .grid {
    grid-template-columns: 1fr 1fr;
    gap: 18px 14px;
  }
  .filter label {
    font-size: 11px;
  }
  .filter select {
    font-size: 12px;
    padding: 10px 8px;
    min-height: 45px;
  }
  .filter-bottom {
    display: block;
  }
  .filter-bottom .btn {
    width: 100%;
    margin-top: 18px;
  }
  .list-summary {
    font-size: 11px;
    gap: 14px;
  }
  .steps {
    grid-template-columns: 1fr 1fr;
    gap: 23px;
  }
  .step h3 {
    font-size: 14px;
  }
  .step p {
    font-size: 12px;
  }
  .support {
    padding: 22px;
  }
  .support .support-heading {
    display: block;
  }
  .support .bigprice {
    margin-top: 22px;
  }
  .support ul {
    columns: 1;
    font-size: 13px;
  }
  .support .small {
    font-size: 11px;
  }
  .fees .card {
    padding: 25px;
  }
  .fees h3 {
    min-height: 0;
  }
  .fees .bigprice {
    font-size: 36px;
    margin: 20px 0;
  }
  .faq-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .faq-nav {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    padding-left: 0;
    border-left: 0;
  }
  .faq-nav div {
    padding: 8px 13px;
    border: 1px solid var(--line);
    font-size: 11px;
    background: white;
  }
  .faq-q {
    font-size: 14px;
    gap: 11px;
  }
  .faq-a {
    margin-left: 25px;
    margin-right: 10px;
    font-size: 13px;
  }
  .faq-block h2 {
    font-size: 24px;
  }
  .form-layout {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .form-card {
    padding: 23px;
  }
  .form-card .grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .form-side > div {
    padding: 23px;
  }
  .form-card h2 {
    font-size: 22px;
  }
  .form-card label {
    font-size: 12px;
  }
  .checkbox {
    font-size: 11px !important;
  }
  .form-side .messaging {
    font-size: 12px;
  }
  .detail-head {
    display: block;
  }
  .detail-title h1 {
    font-size: 29px;
  }
  .detail-price {
    text-align: left;
    font-size: 30px;
    margin-top: 20px;
  }
  .gallery {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 260px 130px;
    gap: 9px;
  }
  .gallery img:first-child {
    grid-row: 1;
    grid-column: span 2;
  }
  .detail-layout {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .detail-layout h2 {
    font-size: 24px;
  }
  .facts th,
  .facts td {
    font-size: 12px;
    padding: 13px 11px;
  }
  .price-table {
    font-size: 12px;
  }
  .price-table td,
  .price-table th {
    padding: 12px 8px;
  }
  .case {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 30px 0;
  }
  .case .num {
    font-size: 34px;
    margin: 0;
  }
  .case h3 {
    font-size: 22px;
  }
  .case p {
    font-size: 13px;
  }
  .editorial {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .editorial h1 {
    font-size: 29px;
  }
  .article-main > img {
    height: 230px;
  }
  .article-main h2 {
    font-size: 24px;
  }
  .article-main > p {
    font-size: 13px;
  }
  .pillnav span {
    padding: 8px 12px;
    font-size: 11px;
  }
  .completion {
    padding: 65px 0;
  }
  .completion h1 {
    font-size: 28px;
  }
  .completion p {
    font-size: 14px;
  }
  .swatches {
    grid-template-columns: repeat(2, 1fr);
  }
  .menu-grid {
    grid-template-columns: 1fr;
  }
  .mobilemenu {
    max-width: none;
    min-height: 880px;
    padding: 29px 25px;
  }
  .mobilemenu .row {
    padding: 18px 0;
    font-size: 16px;
  }
  .en .header .btn {
    font-size: 11px;
  }
  .en .hero-copy {
    max-width: 100%;
  }
  .en .hero-copy > p {
    font-size: 14px;
  }
  .en .hero.home-c .hero-copy {
    max-width: 100%;
  }
}

/* Gold is decorative on light surfaces; small informational labels use charcoal. */
.section:not(.dark) .eyebrow,
.detail-title .eyebrow {
  color: var(--ink);
}
.section:not(.dark) .eyebrow:before,
.detail-title .eyebrow:before {
  content: '';
  display: inline-block;
  width: 22px;
  height: 1px;
  background: var(--gold);
  vertical-align: middle;
  margin-right: 10px;
}
.section .dark .eyebrow {
  color: var(--gold);
}

/* V2: widget placement follows the user's WhatsApp page references. */
body {
  font-size: 14px;
  line-height: 1.8;
}
.wrap {
  width: 1320px;
  max-width: calc(100% - 70px);
}
h1 {
  font-size: 43px;
  line-height: 1.5;
}
h2 {
  font-size: 27px;
}
h3 {
  font-size: 17px;
}
.section {
  padding: 30px 0;
}
.heading {
  margin-bottom: 20px;
}
.heading p {
  margin-top: 7px;
}
.eyebrow {
  margin-bottom: 10px;
}
.grid {
  gap: 18px;
}
.pad {
  padding: 22px;
}
.mt {
  margin-top: 20px;
}
.mt-lg {
  margin-top: 30px;
}
.header {
  height: 82px;
}
.header .logo,
.en .header .logo {
  width: 190px;
}
.header nav,
.en .header nav {
  gap: 30px;
  font-size: 13px;
}
.header .languages {
  display: none;
}
.header .wrap {
  gap: 30px;
}
.header .btn {
  min-width: 138px;
}
.crumb {
  padding: 12px 0;
  font-size: 11px;
}
.reviewbar {
  height: 35px;
}
.hero .wrap {
  min-height: 330px;
  padding: 32px 0;
}
.hero.home .wrap {
  min-height: 415px;
  padding: 36px 0;
}
.hero.home h1 {
  font-size: 39px;
  line-height: 1.6;
}
.hero-copy > p {
  margin-top: 16px;
  font-size: 14px;
  line-height: 1.9;
}
.hero-copy {
  max-width: 620px;
}
.hero .hero-image,
.hero.home .hero-image {
  width: 100%;
  object-position: 75% 45%;
}
.hero:after,
.hero.home-b:after {
  background: linear-gradient(90deg, #08131d 0%, #08131def 30%, #08131d88 53%, #08131d0a 90%);
}
.hero.home-c .wrap {
  justify-content: start;
  text-align: left;
  min-height: 415px;
}
.hero.home-c:after {
  display: block;
}
.hero.home-c .hero-copy {
  max-width: 620px;
}
.hero.home-c .hero-copy > p {
  margin: 16px 0 0;
}
.hero.home-c .actions {
  justify-content: start;
}
.actions {
  margin-top: 23px;
  gap: 13px;
}
.btn {
  font-size: 13px;
  min-height: 45px;
  padding: 10px 20px;
}
.en h1 {
  font-size: 43px;
}
.en .hero.home h1 {
  font-size: 45px;
  line-height: 1.3;
}
.en .hero-copy > p {
  line-height: 1.8;
}
.section.white {
  background: var(--ivory);
}
.property img {
  height: 180px;
}
.property .pad {
  padding: 17px;
}
.property h3 {
  font-size: 16px;
  line-height: 1.6;
}
.property .price {
  font-size: 23px;
  margin: 9px 0;
}
.property .specs {
  font-size: 11px;
  gap: 3px 12px;
}
.property .link {
  margin-top: 10px;
  padding-top: 10px;
  font-size: 12px;
}
.card .icon {
  margin-bottom: 12px;
}
.card .icon svg {
  height: 33px;
  width: 33px;
}
.card h3 + p {
  margin-top: 8px;
}
.small {
  font-size: 12px;
}
.caption {
  font-size: 10px;
}
.footer {
  padding: 28px 0 20px;
}
.footer .top {
  grid-template-columns: 190px 1fr;
  gap: 44px;
}
.footer .address {
  font-size: 10px;
  margin-top: 14px;
}
.footer .nav-cols {
  gap: 26px;
}
.footer h4 {
  margin-bottom: 10px;
}
.footer a {
  font-size: 10px;
  margin-bottom: 5px;
}
.footer-bottom {
  margin-top: 21px;
  padding-top: 16px;
}
.footer .logo {
  width: 180px;
}
.cta {
  padding: 29px 0;
}
.cta .wrap {
  gap: 25px;
  align-items: center;
}
.cta h2 {
  font-size: 22px;
}
.cta p {
  font-size: 12px;
  margin-top: 8px;
}
.cta .eyebrow {
  display: none;
}
.cta-right {
  min-width: 0;
  max-width: none;
  width: 65%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
}
.cta-right .btn {
  min-height: 63px;
}
.channels {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.channels.vertical {
  grid-template-columns: 1fr;
  gap: 9px;
}
.btn.wa {
  background: #25d366;
  border-color: #25d366;
  color: #08131d;
}
.btn.line {
  background: #00c300;
  border-color: #00c300;
  color: #08131d;
}
.channels .btn {
  padding: 10px 13px;
}
.trustbar {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  padding: 27px 0;
}
.trust-item {
  border-right: 1px solid var(--line);
  padding: 0 24px;
}
.trust-item:last-child {
  border: 0;
}
.trust-item .topline {
  display: flex;
  gap: 13px;
  align-items: center;
  margin-bottom: 10px;
}
.trust-item svg {
  width: 33px;
  height: 33px;
  color: var(--gold);
}
.trust-item h3 {
  font-size: 14px;
}
.trust-item p {
  font-size: 12px;
  line-height: 1.8;
}
.credibility {
  border: 1px solid var(--line);
  padding: 20px 23px;
  background: #fbf9f4;
}
.credibility h2 {
  font-size: 24px;
  margin-bottom: 17px;
}
.credibility-grid {
  display: grid;
  grid-template-columns: 0.8fr 1.5fr 1.2fr 1.7fr;
  gap: 22px;
  align-items: center;
}
.credibility-grid > div {
  border-right: 1px solid var(--line);
  padding-right: 20px;
  min-height: 95px;
}
.credibility-grid > div:last-child {
  border: 0;
}
.credibility strong {
  font-size: 36px;
  font-weight: 500;
  color: var(--gold);
}
.credibility p {
  font-size: 11px;
  line-height: 1.7;
}
.credibility h3 {
  font-size: 14px;
}
.media-preview {
  display: flex;
  gap: 14px;
  align-items: center;
}
.media-preview img {
  width: 110px;
  height: 75px;
  object-fit: cover;
}
.corporate-logos {
  display: flex;
  gap: 25px;
  align-items: center;
  font-size: 18px;
  font-weight: bold;
}
.corporate-logos img {
  width: 110px;
  max-height: 60px;
  object-fit: contain;
}
.section-head {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 18px;
}
.section-head h2 {
  font-size: 25px;
}
.section-head > .link {
  margin-left: auto;
}
.tabs {
  display: flex;
  gap: 0;
  border: 1px solid var(--line);
  border-radius: 3px;
  overflow: hidden;
}
.tabs span {
  padding: 7px 24px;
  font-size: 12px;
  background: #ececeb;
}
.tabs .active {
  background: var(--red);
  color: white;
}
.areas-strip .area-card {
  min-height: 95px;
}
.areas-strip .area-card div {
  bottom: 16px;
  left: 16px;
}
.areas-strip .area-card h3 {
  font-size: 15px;
}
.areas-strip .area-card p {
  font-size: 9px;
}
.service-row .card {
  display: flex;
  gap: 15px;
  padding: 16px;
}
.service-row img {
  width: 78px;
  height: 110px;
  object-fit: cover;
}
.service-row h3 {
  font-size: 14px;
}
.service-row p {
  font-size: 11px;
  margin: 8px 0;
}
.service-row .link {
  font-size: 11px;
}
.quote-card {
  display: flex;
  flex-direction: column;
  padding: 22px;
  background: #fbf9f4;
  border: 1px solid var(--line);
  position: relative;
}
.quote-card .num {
  font-size: 24px;
  margin-bottom: 9px;
}
.quote-card p {
  font-size: 12px;
}
.quote-card small {
  display: block;
  margin-top: auto;
  padding-top: 18px;
  font-size: 11px;
}
.insight img {
  height: 160px;
}
.insight .pad {
  padding: 17px;
}
.insight h3 {
  font-size: 14px;
}
.insight p {
  font-size: 11px;
  margin-top: 12px;
}
.insight .meta {
  font-size: 9px;
  gap: 10px;
}
.insight .badge {
  font-size: 9px;
}
.insight .link {
  font-size: 11px;
}
.insights-layout {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(260px, 1fr);
  gap: 34px;
}
.insights-layout .grid.four {
  gap: 16px;
}
.insights-layout .insight img {
  height: 145px;
}
.insights-layout .insight .pad {
  padding: 13px;
}
.insights-layout .insight h3 {
  font-size: 13px;
}
.insights-layout .insight .meta {
  font-size: 8px;
  gap: 5px;
}
.category-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 13px;
  margin: 18px 0 27px;
}
.category-card {
  background: white;
  border: 1px solid var(--line);
  text-align: center;
  padding: 20px 8px;
}
.category-card svg {
  height: 34px;
  width: 34px;
  margin: auto auto 12px;
  color: var(--navy);
}
.category-card strong {
  font-size: 11px;
  display: block;
}
.category-card small {
  font-size: 10px;
}
.sidebar > div {
  border: 1px solid var(--line);
  background: white;
  padding: 20px;
  margin-bottom: 20px;
}
.sidebar h3 {
  font-size: 17px;
  margin-bottom: 12px;
}
.sidebar p {
  font-size: 12px;
  margin-bottom: 15px;
}
.sidebar .channels .btn {
  font-size: 12px;
  min-height: 40px;
}
.sidebar .search {
  display: flex;
  gap: 8px;
  align-items: center;
}
.sidebar .search input {
  margin: 0;
  font-size: 12px;
  padding: 9px;
  min-height: 38px;
}
.sidebar .search .btn {
  min-height: 38px;
  padding: 7px 10px;
  background: var(--navy);
  border-color: var(--navy);
}
.popular-item {
  display: flex;
  gap: 11px;
  margin-top: 16px;
  align-items: center;
}
.popular-item img {
  width: 72px;
  height: 61px;
  object-fit: cover;
}
.popular-item p {
  font-size: 11px;
  line-height: 1.7;
  margin: 0;
}
.popular-item .rank {
  color: var(--gold);
  font:
    20px Georgia,
    serif;
}
.tag-cloud {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
}
.tag-cloud span {
  padding: 4px 9px;
  font-size: 10px;
  background: #f0f0ee;
}
.contact-method {
  display: flex;
  flex-direction: column;
  padding: 26px 22px;
  border: 1px solid #cdd3cd;
  text-align: center;
  background: white;
}
.contact-method.email {
  border-color: #8e202870;
}
.contact-method .round-icon {
  background: var(--navy);
  color: white;
  border-radius: 50%;
  width: 65px;
  height: 65px;
  display: grid;
  place-items: center;
  margin: 0 auto 16px;
}
.contact-method.email .round-icon {
  background: var(--red);
}
.contact-method.whatsapp .round-icon {
  background: #25d366;
  color: #08131d;
}
.contact-method.line .round-icon {
  background: #00c300;
  color: #08131d;
}
.round-icon svg {
  width: 35px;
  height: 35px;
}
.contact-method h3 {
  font-size: 19px;
  margin-bottom: 9px;
}
.contact-method p {
  font-size: 12px;
}
.contact-method ul {
  text-align: left;
  padding-left: 20px;
  font-size: 13px;
  line-height: 2.1;
  margin: 23px 0;
}
.contact-method .btn {
  width: 100%;
  margin-top: auto;
}
.contact-layout {
  display: grid;
  grid-template-columns: 1.85fr 1fr;
  gap: 24px;
}
.contact-layout .form-card {
  padding: 26px;
}
.contact-columns {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 30px;
  margin-top: 23px;
}
.contact-columns label {
  font-size: 13px;
  margin-bottom: 16px;
}
.contact-columns input,
.contact-columns textarea {
  font-size: 12px;
  padding: 10px;
  min-height: 40px;
}
.contact-columns textarea {
  min-height: 135px;
}
.check-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 18px;
  font-size: 12px;
}
.check-options.one {
  grid-template-columns: 1fr;
}
.check-option {
  display: flex;
  gap: 7px;
  align-items: center;
  font-size: 12px !important;
  font-weight: 400;
  margin: 0 !important;
}
.check-option input {
  min-height: 13px;
  height: 13px;
  width: 13px;
  min-width: 13px;
  margin: 0;
  padding: 0;
}
.contact-layout .form-side {
  padding: 27px;
  background: white;
  border: 1px solid var(--line);
}
.contact-benefit {
  display: flex;
  gap: 16px;
  margin: 23px 0;
}
.contact-benefit svg {
  color: var(--red);
  width: 33px;
  height: 33px;
}
.contact-benefit h3 {
  font-size: 16px;
}
.contact-benefit p {
  font-size: 12px;
  margin-top: 8px;
}
.contact-layout .hours {
  padding: 21px;
  background: var(--ivory);
  border: 1px solid var(--line);
  font-size: 12px;
  line-height: 1.9;
}
.contact-faq {
  border: 1px solid var(--line);
  background: white;
  padding: 23px;
}
.contact-faq h3 {
  font-size: 14px;
}
.contact-faq p {
  font-size: 12px;
}
.contact-faq svg {
  color: var(--gold);
  width: 30px;
  height: 30px;
  margin-bottom: 12px;
}
.filter {
  padding: 22px;
  box-shadow: none;
}
.filter .grid {
  grid-template-columns: repeat(5, 1fr);
}
.listing-grid {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 26px;
}
.filter-vertical label {
  margin-bottom: 17px;
}
.filter-vertical select {
  font-size: 12px;
  padding: 8px 10px;
  min-height: 39px;
}
.filter-vertical .check-options {
  gap: 10px;
}
.filter-vertical {
  padding: 20px;
}
.property .thumb {
  position: relative;
}
.property .heart {
  position: absolute;
  top: 12px;
  right: 12px;
  color: white;
  font-size: 27px;
  text-shadow: 0 1px 3px #0008;
  line-height: 1;
}
.property .thumb img {
  height: 175px;
}
.property.small-card .pad {
  padding: 13px;
}
.property.small-card h3 {
  font-size: 13px;
}
.property.small-card .price {
  font-size: 19px;
}
.property.small-card .thumb img {
  height: 145px;
}
.property.small-card .specs {
  font-size: 10px;
}
.view-tools {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 11px;
}
.view-tools .active {
  background: var(--navy);
  color: white;
  padding: 7px 11px;
}
.list-summary {
  margin: 0 0 18px;
}
.enquiry-strip {
  padding: 23px;
  background: #f0ece4;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  margin-top: 24px;
}
.enquiry-strip h3 {
  font-size: 17px;
}
.enquiry-strip p {
  font-size: 12px;
  margin-top: 4px;
}
.enquiry-strip .channels {
  width: 62%;
}
.pagination {
  margin-top: 22px;
}
.pagination span {
  background: white;
  border: 1px solid var(--line);
  color: var(--ink);
  width: 37px;
  height: 37px;
  font-size: 12px;
}
.pagination span:first-child {
  background: var(--navy);
  color: white;
}
.detail-tools {
  display: flex;
  gap: 10px;
  font-size: 11px;
  align-items: center;
}
.detail-tools span {
  border: 1px solid var(--line);
  padding: 7px 11px;
  border-radius: 2px;
}
.detail-title {
  padding: 25px 0 22px;
}
.detail-title h1 {
  font-size: 32px;
}
.detail-top {
  display: grid;
  grid-template-columns: 2.5fr 1fr;
  gap: 26px;
}
.detail-top .gallery {
  grid-template-columns: 1.1fr 1fr;
  grid-template-rows: 155px 155px;
  gap: 10px;
}
.detail-pricebox {
  padding: 23px;
  background: white;
  border: 1px solid var(--line);
}
.detail-pricebox .detail-price {
  text-align: left;
  font-size: 30px;
  margin-bottom: 18px;
}
.detail-pricebox .facts th,
.detail-pricebox .facts td {
  font-size: 11px;
  padding: 7px;
  background: transparent;
}
.detail-pricebox .facts th {
  width: 40%;
}
.detail-pricebox .channels {
  margin-top: 19px;
}
.detail-pricebox .btn {
  font-size: 11px;
  min-height: 38px;
  padding: 8px;
}
.detail-comment {
  background: #f5efe4;
  border: 1px solid var(--line);
  padding: 20px;
  display: flex;
  gap: 19px;
  margin-top: 22px;
}
.detail-comment svg {
  color: var(--gold);
  flex-shrink: 0;
}
.detail-comment h3 {
  font-size: 16px;
}
.detail-comment p {
  font-size: 12px;
  margin-top: 6px;
}
.detail-tabbar {
  margin-top: 25px;
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 27px;
  background: white;
  padding: 13px 18px;
  font-size: 12px;
}
.detail-tabbar span:first-child {
  border-bottom: 2px solid var(--gold);
}
.detail-tabbody {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr;
  background: white;
  border: 1px solid var(--line);
  padding: 20px;
  gap: 25px;
}
.detail-tabbody h3 {
  font-size: 14px;
  margin-bottom: 12px;
}
.detail-tabbody p {
  font-size: 12px;
}
.detail-tabbody .facts th,
.detail-tabbody .facts td {
  font-size: 11px;
  padding: 8px;
  background: white;
}
.facility-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  font-size: 11px;
}
.facility-grid div {
  display: flex;
  gap: 10px;
  align-items: center;
}
.facility-grid svg {
  width: 23px;
  color: var(--gold);
}
.area-longcard img {
  height: 185px;
  width: 100%;
  object-fit: cover;
}
.area-longcard .pad {
  padding: 20px;
}
.area-longcard h3 {
  font-size: 18px;
  text-align: center;
}
.area-longcard p {
  font-size: 12px;
  margin: 14px 0;
}
.area-longcard .suitable {
  background: var(--ivory);
  padding: 12px;
  font-size: 11px;
  text-align: center;
}
.area-longcard .btn {
  font-size: 12px;
  width: 100%;
  margin-top: 15px;
}
.ref-faq-hero {
  background: var(--ivory);
  color: var(--navy);
}
.ref-faq-hero:after {
  background: linear-gradient(90deg, #f8f5ef 0%, #f8f5eff5 34%, #f8f5ef00 78%);
}
.ref-faq-hero .hero-copy > p {
  color: var(--ink);
}
.ref-faq-hero .hero-image {
  width: 75%;
  object-position: 75% 30%;
}
.ref-tabs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--line);
  margin-top: -26px;
  position: relative;
  z-index: 5;
  border-radius: 3px;
  background: white;
}
.ref-tabs > div {
  display: flex;
  gap: 18px;
  align-items: center;
  padding: 22px;
  border-right: 1px solid var(--line);
}
.ref-tabs > div:last-child {
  border: 0;
}
.ref-tabs svg {
  color: var(--gold);
  width: 35px;
  height: 35px;
}
.ref-tabs strong {
  display: block;
  font-size: 16px;
}
.ref-tabs small {
  font-size: 11px;
}
.ref-faq-section {
  padding: 25px;
  background: white;
  border: 1px solid var(--line);
  margin-bottom: 25px;
}
.ref-faq-section h2 {
  font-size: 25px;
  margin-bottom: 20px;
}
.ref-faq-section h2 b {
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: var(--gold);
  color: white;
  font:
    25px Georgia,
    serif;
  width: 37px;
  height: 37px;
  margin-right: 16px;
}
.faq-q {
  font-size: 14px;
}
.faq-item {
  padding: 14px 6px;
}
.faq-a {
  font-size: 12px;
  line-height: 1.9;
  margin-top: 10px;
}
.related-links {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}
.related-links > div {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 18px;
  border: 1px solid var(--line);
  background: white;
  font-size: 12px;
}
.related-links svg {
  color: var(--gold);
  width: 30px;
  height: 30px;
}
.guide-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 25px;
}
.num-heading {
  font-size: 27px;
  margin-bottom: 21px;
}
.num-heading b {
  display: inline-grid;
  place-items: center;
  font:
    25px Georgia,
    serif;
  border-radius: 50%;
  color: white;
  background: var(--navy);
  width: 38px;
  height: 38px;
  margin-right: 17px;
}
.guide-benefits {
  background: #f9f7f2;
  border: 1px solid var(--line);
  padding: 22px;
  margin-top: -25px;
  position: relative;
  z-index: 3;
}
.guide-benefits .grid {
  gap: 0;
}
.guide-benefits .grid > div {
  display: flex;
  align-items: center;
  gap: 20px;
  border-right: 1px solid var(--line);
  padding: 0 25px;
}
.guide-benefits .grid > div:last-child {
  border: 0;
}
.guide-benefits svg {
  color: var(--gold);
  width: 38px;
  height: 38px;
}
.guide-benefits p {
  font-size: 12px;
}
.steps {
  gap: 16px;
}
.step h3 {
  font-size: 13px;
}
.step .num {
  font-size: 23px;
  margin-bottom: 12px;
}
.step p {
  font-size: 11px;
}
.support {
  padding: 23px;
}
.support ul {
  font-size: 12px;
}
.support .bigprice {
  font-size: 36px;
}
.support .small {
  font-size: 11px;
  margin-top: 15px;
}
.support .support-heading {
  margin-bottom: 14px;
}
.support h3 {
  font-size: 18px;
}
.split {
  gap: 35px;
}
.split img {
  height: 260px;
}
.split p {
  font-size: 13px;
  margin-top: 14px;
}
.fees h3 {
  font-size: 16px;
  min-height: 45px;
}
.fees .card {
  padding: 23px;
}
.fees .bigprice {
  font-size: 34px;
  margin: 16px 0;
}
.facts th,
.facts td {
  padding: 11px 15px;
  font-size: 13px;
}
.facts th {
  font-size: 12px;
}
.side-by-faq {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  align-items: start;
}
.mini-cta {
  background: var(--navy);
  color: white;
  padding: 28px;
}
.mini-cta h2 {
  font-size: 25px;
  line-height: 1.6;
}
.mini-cta p {
  font-size: 12px;
  margin: 12px 0 22px;
}
.mini-cta .channels {
  gap: 10px;
}
.mini-cta .btn {
  font-size: 11px;
  padding: 11px;
  min-height: 45px;
}
.tour-hero .hero-copy {
  max-width: 650px;
}
.floating-trust {
  position: absolute;
  right: 0;
  top: 50px;
  background: var(--navy);
  border: 1px solid var(--gold);
  padding: 22px;
  width: 290px;
}
.floating-trust > div {
  display: flex;
  gap: 15px;
  border-bottom: 1px solid #ffffff25;
  padding: 16px 0;
  font-size: 13px;
}
.floating-trust > div:last-child {
  border: 0;
}
.floating-trust svg {
  color: var(--gold);
  height: 34px;
  width: 34px;
}
.plans .card {
  text-align: center;
  padding: 23px;
}
.plans .bigprice {
  font-size: 35px;
  margin: 19px 0;
}
.plans ul {
  text-align: left;
  font-size: 13px;
  line-height: 2.2;
  padding-left: 20px;
}
.plan-name {
  font-size: 24px;
  color: var(--gold);
}
.plan-sub {
  font-size: 12px;
  margin: 10px 0;
}
.tour-steps {
  grid-template-columns: repeat(6, 1fr);
}
.company-summary {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 35px;
}
.company-summary img {
  height: 245px;
  object-fit: cover;
  width: 100%;
}
.company-summary p {
  font-size: 14px;
  line-height: 2;
}
.company-trust {
  grid-template-columns: repeat(3, 1fr);
}
.company-trust .card {
  display: flex;
  gap: 19px;
}
.company-trust svg {
  color: var(--gold);
  width: 35px;
  height: 35px;
}
.company-facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}
.company-facts .facts th {
  width: 25%;
}
.case-nav {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: -28px;
  position: relative;
  z-index: 4;
  background: white;
  border: 1px solid var(--line);
}
.case-nav > a {
  padding: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  border-right: 1px solid var(--line);
  font-size: 21px;
}
.case-nav svg {
  color: var(--gold);
  width: 35px;
  height: 35px;
}
.case-feature {
  display: grid;
  grid-template-columns: 40% 1fr;
  gap: 20px;
  padding: 20px;
}
.case-feature > img {
  width: 100%;
  height: 330px;
  object-fit: cover;
}
.case-feature h3 {
  font-size: 20px;
}
.case-feature p {
  font-size: 12px;
  line-height: 1.9;
}
.case-feature h4 {
  font-size: 12px;
  color: var(--gold);
  margin: 15px 0 5px;
}
.case-small img {
  width: 100%;
  height: 175px;
  object-fit: cover;
}
.case-small .pad {
  padding: 17px;
}
.case-small h3 {
  font-size: 17px;
}
.case-small p {
  font-size: 11px;
  line-height: 1.9;
}
.case-small h4 {
  font-size: 12px;
  color: var(--gold);
  margin: 12px 0 5px;
}
.article-layout {
  display: grid;
  grid-template-columns: 2.35fr 1fr;
  gap: 34px;
}
.article-byline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
}
.article-main h1 {
  font-size: 34px;
}
.article-main > img {
  height: 310px;
  margin: 24px 0;
}
.article-main .toc {
  padding: 23px;
}
.toc ol {
  columns: 2;
  column-gap: 35px;
  font-size: 13px;
}
.article-main .toc li {
  font-size: 12px;
}
.article-step {
  border-top: 1px solid var(--line);
  padding: 28px 0;
  scroll-margin-top: 110px;
}
.article-step h2 {
  font-size: 20px;
  margin: 0 0 18px;
}
.article-step .grid {
  grid-template-columns: 1fr 1fr;
}
.article-step img {
  height: 205px;
  width: 100%;
  object-fit: cover;
}
.article-step p {
  font-size: 13px;
  margin: 0 0 18px;
  line-height: 1.9;
}
.article-step p:last-child {
  margin-bottom: 0;
}
.article-step-list {
  background: white;
  border: 1px solid var(--line);
  padding: 0 18px;
}
.article-step-list > div {
  padding: 14px 8px;
  border-bottom: 1px solid var(--line);
  font-size: 14px;
  display: flex;
  justify-content: space-between;
}
.ui-sheet {
  padding: 28px;
  background: var(--ivory);
}
.ui-sheet h1 {
  font-size: 34px;
  margin-bottom: 8px;
}
.ui-sheet-intro {
  font-size: 12px;
  margin-bottom: 30px;
}
.ui-columns {
  display: grid;
  grid-template-columns: 2.3fr 0.85fr 1.2fr;
  gap: 25px;
}
.ui-cell {
  margin-bottom: 26px;
}
.ui-cell > h2 {
  font-size: 17px;
  margin: 0 0 15px;
}
.ui-cell .header {
  height: 67px;
}
.ui-cell .header .wrap {
  width: auto;
  max-width: none;
  padding: 0 18px;
  gap: 15px;
}
.ui-cell .header .logo {
  width: 150px;
}
.ui-cell .header nav {
  font-size: 10px;
  gap: 17px;
}
.ui-cell .header .btn {
  min-width: 0;
  font-size: 10px;
  padding: 8px 12px;
}
.ui-cell .mega {
  padding: 22px;
  gap: 20px;
}
.ui-cell .mega h3 {
  font-size: 12px;
}
.ui-cell .mega p {
  font-size: 10px;
  margin-top: 12px;
}
.ui-cell .mobilemenu {
  padding: 20px;
  min-height: 0;
  max-width: none;
}
.ui-cell .mobilemenu .logo {
  width: 160px;
}
.ui-cell .mobilemenu .row {
  font-size: 13px;
  padding: 15px 0;
}
.ui-cell .mobilemenu .minor {
  font-size: 10px;
}
.ui-cell .mobilemenu .btn {
  font-size: 10px;
  padding: 9px;
}
.ui-cell .mobilemenu .languages {
  font-size: 10px;
}
.ui-cell .cta {
  padding: 22px;
}
.ui-cell .cta .wrap {
  display: block;
  max-width: none;
  width: auto;
}
.ui-cell .cta h2 {
  font-size: 18px;
}
.ui-cell .cta p {
  font-size: 11px;
}
.ui-cell .cta-right {
  width: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
  margin-top: 18px;
}
.ui-cell .cta-right .btn {
  min-height: 40px;
  font-size: 11px;
}
.ui-cell .footer {
  padding: 23px;
}
.ui-cell .footer .wrap {
  width: auto;
  max-width: none;
}
.ui-cell .footer .top {
  display: block;
}
.ui-cell .footer .logo {
  width: 140px;
}
.ui-cell .footer .address {
  display: none;
}
.ui-cell .footer .nav-cols {
  grid-template-columns: repeat(3, 1fr);
  gap: 17px;
  margin-top: 20px;
}
.ui-cell .footer h4 {
  font-size: 10px;
}
.ui-cell .footer a {
  font-size: 9px;
}
.ui-cell .footer-bottom {
  display: block;
  font-size: 8px;
}
.ui-cell .footer-bottom .links {
  gap: 10px;
}
.ui-cell .swatches {
  gap: 12px;
}
.ui-cell .swatch > div {
  height: 65px;
}
.ui-cell .swatch strong {
  font-size: 10px;
}
.ui-cell .swatch p {
  font-size: 9px;
}
.ui-widget-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px;
}
.ui-sheet .form-card {
  padding: 20px;
}
.ui-sheet .form-card h2 {
  font-size: 19px;
}
.ui-sheet .form-card .grid {
  margin: 17px 0;
  gap: 12px;
}
.ui-sheet .form-card input,
.ui-sheet .form-card select {
  font-size: 11px;
  min-height: 36px;
  padding: 8px;
}
.ui-sheet .form-card textarea {
  min-height: 80px;
}
.ui-sheet .form-card label {
  font-size: 11px;
}
.ui-sheet .form-card .checkbox {
  font-size: 10px;
}
.ui-sheet .form-card .btn {
  font-size: 11px;
}
.ui-sheet .card {
  border-radius: 3px;
}
.en .hero.home h1 {
  font-size: 42px;
}
@media (max-width: 900px) {
  body {
    font-size: 13px;
  }
  .wrap {
    max-width: calc(100% - 32px);
  }
  .header,
  .en .header {
    height: 78px;
  }
  .header .logo,
  .en .header .logo {
    width: 139px;
  }
  .header .btn {
    min-width: 0;
    font-size: 10px;
    padding: 9px 11px;
  }
  .header .wrap,
  .en .header .wrap {
    gap: 12px;
  }
  .section {
    padding: 24px 0;
  }
  .hero .wrap {
    min-height: 370px;
    padding: 30px 0;
  }
  .hero.home .wrap {
    min-height: 540px;
    align-items: end;
    padding: 32px 0;
  }
  .hero.home h1,
  .en .hero.home h1 {
    font-size: 29px;
  }
  .hero .hero-image,
  .hero.home .hero-image {
    width: 100%;
    opacity: 0.58;
  }
  .hero:after {
    background: linear-gradient(90deg, #08131dee, #08131d55);
  }
  .hero.home:after {
    background: linear-gradient(0deg, #08131d 0%, #08131daa 50%, #08131d00);
  }
  .hero-copy > p {
    font-size: 12px;
  }
  .actions {
    gap: 8px;
  }
  .hero .btn {
    font-size: 11px;
    padding: 10px 12px;
    min-height: 41px;
  }
  .trustbar {
    grid-template-columns: 1fr 1fr;
    padding: 20px 0;
    gap: 20px 0;
  }
  .trust-item {
    padding: 0 13px;
  }
  .trust-item h3 {
    font-size: 12px;
  }
  .trust-item p {
    font-size: 11px;
  }
  .trust-item svg {
    height: 29px;
    width: 29px;
  }
  .trust-item .topline {
    gap: 8px;
  }
  .credibility {
    padding: 18px;
  }
  .credibility-grid {
    grid-template-columns: 1fr 1fr;
    gap: 19px;
  }
  .credibility-grid > div {
    padding-right: 10px;
    min-height: 0;
    border: 0;
  }
  .credibility h2 {
    font-size: 23px;
  }
  .media-preview {
    display: block;
  }
  .media-preview img {
    margin-top: 10px;
    width: 100%;
    height: 75px;
  }
  .corporate-logos {
    font-size: 15px;
    flex-wrap: wrap;
    gap: 12px;
  }
  .section-head {
    gap: 12px;
    flex-wrap: wrap;
  }
  .section-head h2 {
    font-size: 23px;
  }
  .section-head > .link {
    font-size: 11px;
    margin: 0;
  }
  .tabs span {
    padding: 6px 13px;
    font-size: 11px;
  }
  .grid.four,
  .grid.five {
    grid-template-columns: 1fr 1fr;
  }
  .property .thumb img {
    height: 190px;
  }
  .property .pad {
    padding: 13px;
  }
  .property h3 {
    font-size: 13px;
  }
  .property .price {
    font-size: 20px;
  }
  .property .specs {
    font-size: 10px;
  }
  .property .location {
    font-size: 10px;
  }
  .property .link {
    font-size: 11px;
  }
  .property .thumb .heart {
    font-size: 23px;
  }
  .areas-strip .area-card {
    min-height: 115px;
  }
  .areas-strip .area-card h3 {
    font-size: 13px;
  }
  .areas-strip .area-card p {
    font-size: 8px;
  }
  .service-row {
    grid-template-columns: 1fr !important;
  }
  .service-row .card {
    padding: 15px;
  }
  .service-row img {
    width: 85px;
    height: 100px;
  }
  .service-row h3 {
    font-size: 16px;
  }
  .service-row p {
    font-size: 12px;
  }
  .grid.three {
    grid-template-columns: 1fr;
  }
  .insight img {
    height: 125px;
  }
  .insight .pad {
    padding: 13px;
  }
  .insight h3 {
    font-size: 12px;
  }
  .insight .meta {
    flex-wrap: wrap;
    font-size: 8px;
    gap: 5px;
  }
  .insight p {
    font-size: 10px;
  }
  .insight .link {
    font-size: 10px;
  }
  .cta .wrap {
    display: block;
  }
  .cta h2 {
    font-size: 23px;
  }
  .cta-right {
    width: 100%;
    margin-top: 20px;
    grid-template-columns: 1fr;
  }
  .cta-right .btn {
    min-height: 44px;
  }
  .footer .top {
    display: block;
  }
  .footer .address {
    font-size: 10px;
    margin-bottom: 22px;
  }
  .footer .nav-cols {
    grid-template-columns: 1fr 1fr;
    gap: 23px;
  }
  .footer {
    padding-bottom: 85px;
  }
  .footer a {
    font-size: 11px;
  }
  .insights-layout,
  .contact-layout,
  .contact-columns,
  .listing-grid,
  .detail-top,
  .detail-tabbody,
  .company-summary,
  .company-facts,
  .side-by-faq,
  .article-layout {
    grid-template-columns: 1fr;
  }
  .category-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 9px;
  }
  .category-card {
    padding: 15px 7px;
  }
  .category-card strong {
    font-size: 10px;
  }
  .contact-method {
    padding: 22px;
  }
  .contact-method h3 {
    font-size: 18px;
  }
  .contact-method ul {
    font-size: 12px;
    margin: 19px 0;
  }
  .contact-layout .form-card,
  .contact-layout .form-side {
    padding: 20px;
  }
  .contact-columns {
    gap: 15px;
  }
  .contact-columns label {
    font-size: 12px;
  }
  .contact-benefit h3 {
    font-size: 15px;
  }
  .contact-faq .grid.four {
    grid-template-columns: 1fr 1fr;
  }
  .enquiry-strip {
    display: block;
    padding: 20px;
  }
  .enquiry-strip .channels {
    width: 100%;
    margin-top: 17px;
    grid-template-columns: 1fr;
  }
  .listing-grid .grid.four {
    grid-template-columns: 1fr;
  }
  .filter-vertical .check-options {
    grid-template-columns: 1fr 1fr;
  }
  .filter-vertical {
    padding: 19px;
  }
  .filter-vertical select {
    min-height: 42px;
  }
  .listing-grid .list-summary {
    display: block;
  }
  .view-tools {
    margin-top: 12px;
  }
  .property.small-card .thumb img {
    height: 225px;
  }
  .property.small-card h3 {
    font-size: 19px;
  }
  .property.small-card .price {
    font-size: 25px;
  }
  .property.small-card .specs {
    font-size: 12px;
  }
  .detail-title h1 {
    font-size: 26px;
  }
  .detail-tools {
    margin-top: 15px;
  }
  .detail-top .gallery {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 240px 120px;
  }
  .detail-top .gallery img:first-child {
    grid-column: span 2;
    grid-row: 1;
  }
  .detail-tabbar {
    gap: 17px;
    flex-wrap: wrap;
    font-size: 11px;
  }
  .detail-pricebox .facts th,
  .detail-pricebox .facts td {
    font-size: 12px;
  }
  .ref-tabs {
    grid-template-columns: 1fr 1fr;
    margin-top: -10px;
  }
  .ref-tabs > div {
    padding: 15px;
    gap: 12px;
    border-bottom: 1px solid var(--line);
  }
  .ref-tabs strong {
    font-size: 13px;
  }
  .ref-tabs small {
    font-size: 10px;
  }
  .ref-tabs svg {
    width: 27px;
    height: 27px;
  }
  .ref-faq-section {
    padding: 18px;
    margin-bottom: 18px;
  }
  .ref-faq-section h2 {
    font-size: 20px;
  }
  .ref-faq-section h2 b {
    width: 30px;
    height: 30px;
    font-size: 20px;
    margin-right: 10px;
  }
  .related-links {
    grid-template-columns: 1fr 1fr;
  }
  .related-links > div {
    font-size: 11px;
    padding: 13px;
    gap: 10px;
  }
  .num-heading {
    font-size: 23px;
  }
  .num-heading b {
    width: 31px;
    height: 31px;
    font-size: 22px;
    margin-right: 12px;
  }
  .guide-benefits {
    padding: 20px;
  }
  .guide-benefits .grid {
    grid-template-columns: 1fr 1fr;
    gap: 22px;
  }
  .guide-benefits .grid > div {
    padding: 0;
    gap: 10px;
    border: 0;
  }
  .guide-benefits p {
    font-size: 11px;
  }
  .guide-benefits svg {
    width: 28px;
    height: 28px;
  }
  .guide-benefits .grid > div svg {
    flex-shrink: 0;
  }
  .split img {
    height: 230px;
  }
  .steps {
    grid-template-columns: 1fr 1fr;
  }
  .step h3 {
    font-size: 13px;
  }
  .step p {
    font-size: 11px;
  }
  .support .support-heading {
    display: block;
  }
  .support .bigprice {
    font-size: 36px;
    margin-top: 17px;
  }
  .support .bigprice small {
    font-size: 11px;
  }
  .support ul {
    columns: 1;
  }
  .floating-trust {
    display: none;
  }
  .plans ul {
    font-size: 13px;
  }
  .tour-steps {
    grid-template-columns: 1fr 1fr;
  }
  .case-nav > a {
    font-size: 15px;
    padding: 18px 10px;
    gap: 10px;
  }
  .case-nav svg {
    height: 27px;
    width: 27px;
  }
  .case-feature {
    grid-template-columns: 1fr;
    padding: 17px;
  }
  .case-feature > img {
    height: 230px;
  }
  .case-feature h3 {
    font-size: 19px;
  }
  .case-small img {
    height: 140px;
  }
  .case-small h3 {
    font-size: 15px;
  }
  .case-small .pad {
    padding: 14px;
  }
  .case-small p {
    font-size: 11px;
  }
  .article-main h1 {
    font-size: 29px;
  }
  .article-main > img {
    height: 230px;
  }
  .toc ol {
    columns: 1;
  }
  .article-step .grid {
    grid-template-columns: 1fr;
  }
  .article-step img {
    height: 185px;
  }
  .ref-faq-hero .hero-image {
    opacity: 0.65;
    width: 100%;
  }
  .ref-faq-hero:after {
    background: linear-gradient(90deg, #f8f5eff2, #f8f5efb0);
  }
  .mobilemenu .channels {
    grid-template-columns: 1fr;
    margin-top: 17px;
  }
  .mobilemenu .channels .btn {
    font-size: 12px;
  }
  .btn.wa,
  .btn.line {
    color: #08131d;
  }
}
/* Reference-specific card and row geometry */
.hero .wrap {
  position: relative;
}
.card-bottom-photo {
  width: 100%;
  height: 145px;
  object-fit: cover;
}
.buy-property-row {
  display: grid;
  grid-template-columns: 3fr 0.85fr;
  gap: 20px;
}
.area-list-item {
  border-bottom: 1px solid var(--line);
  padding: 14px 0;
  font-size: 13px;
}
.rental-types {
  display: grid;
  grid-template-columns: 1fr 2.4fr;
  gap: 22px;
}
.tour-recommend {
  display: grid;
  grid-template-columns: 3fr 0.85fr;
  gap: 20px;
}
.strength-lifecycle {
  display: grid;
  grid-template-columns: 3fr 1fr;
  gap: 30px;
  align-items: center;
}
.strength-lifecycle > .related-links {
  grid-template-columns: repeat(3, 1fr);
}
.article-meta-row {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  margin: 23px 0;
}
.related-links:has(> div:nth-child(3):last-child) {
  grid-template-columns: repeat(3, 1fr);
}
.hero-contact h2 {
  font-size: 22px;
}
.hero-contact .channels {
  grid-template-columns: 1fr;
  margin-top: 18px;
  gap: 8px;
}
.hero-contact .btn {
  font-size: 11px;
  padding: 9px 10px;
}
.hero-contact p {
  font-size: 11px;
}
.ui-columns {
  grid-template-columns: 2.2fr 0.85fr 1.05fr;
}
.ui-sheet > .ui-columns .ui-cell .header {
  height: auto;
  padding: 12px;
}
.ui-cell .header nav {
  display: none;
}
.ui-cell .guide-benefits {
  margin: 0;
  padding: 14px;
}
.ui-cell .guide-benefits .grid {
  gap: 8px;
}
.ui-cell .guide-benefits .grid > div {
  gap: 8px;
  padding: 0 7px;
}
.ui-cell .guide-benefits p {
  font-size: 9px;
}
.ui-cell .guide-benefits svg {
  width: 22px;
  min-width: 22px;
}
.ui-cell > .wrap {
  width: auto;
  max-width: 100%;
}
.ui-cell .swatches {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.ui-cell .swatch strong {
  font-size: 9px;
}
.ui-cell .mega {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  padding: 20px 15px;
}
.ui-cell .mega h3 {
  font-size: 10px;
}
.ui-cell .mega p {
  font-size: 9px;
}
.ui-mobileheader {
  padding: 17px;
  background: var(--navy);
  color: white;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.ui-mobileheader .logo {
  width: 120px;
}
.ui-mobileheader svg {
  width: 20px;
  min-width: 20px;
}
.ui-cell .channels.vertical .btn {
  font-size: 10px;
  min-height: 40px;
  padding: 8px;
}
.ui-sheet .ui-widget-row .btn {
  font-size: 10px;
}
.ui-sheet label {
  font-size: 11px;
}
.ui-sheet label input,
.ui-sheet select {
  font-size: 10px;
  padding: 8px;
  min-height: 35px;
}
.detail-tabbody .grid.three {
  grid-template-columns: 1fr;
  gap: 5px;
}
.detail-tabbody .grid.three .pad {
  padding: 12px;
}
.detail-tabbody .grid.three .icon {
  display: none;
}
.detail-tabbody .grid.three h3 {
  font-size: 12px;
  margin: 0;
}
.detail-tabbody .grid.three p {
  font-size: 12px;
  margin: 0;
}
.detail-tools span {
  white-space: nowrap;
}
.sidebar .search .btn svg {
  margin: 0;
}
.sidebar .search .btn {
  font-size: 0;
}
.sidebar .search .btn svg {
  height: 20px;
  width: 20px;
}
.mobilebar {
  display: flex;
  gap: 10px;
}
.mobilebar .btn {
  flex: 1;
}
.en .header nav {
  gap: 20px;
}
.en .header .wrap {
  gap: 25px;
}
.pillnav {
  gap: 9px;
}
.pillnav span {
  font-size: 12px;
  padding: 8px 13px;
}
.ui-sheet .mobilemenu {
  width: 100%;
}
.ui-cell .footer .links {
  flex-wrap: wrap;
}
.ui-cell .footer-bottom p {
  font-size: 9px;
}
.ui-cell .footer .top {
  gap: 0;
}
.ui-cell .footer .nav-cols {
  display: grid;
}
.hero-contact .mini-cta {
  padding: 0;
}
.ui-sheet .languages {
  display: none;
}
.ui-cell .footer .nav-cols h4 {
  overflow-wrap: anywhere;
}
.case-feature .small {
  font-size: 10px;
}
.case-small .pad {
  min-height: 180px;
}
.footer .nav-cols h4 {
  font-size: 12px;
}
@media (max-width: 900px) {
  .buy-property-row,
  .rental-types,
  .tour-recommend,
  .strength-lifecycle {
    grid-template-columns: 1fr;
  }
  .card-bottom-photo {
    height: 160px;
  }
  .related-links:has(> div:nth-child(3):last-child) {
    grid-template-columns: 1fr;
  }
  .buy-property-row .grid.three {
    grid-template-columns: 1fr;
  }
  .hero .floating-trust {
    display: none;
  }
  .detail-top .gallery img {
    object-fit: cover;
  }
  .company-trust {
    grid-template-columns: 1fr;
  }
  .company-trust .corporate-logos {
    flex-wrap: nowrap;
  }
  .article-meta-row {
    display: block;
  }
  .article-meta-row span {
    display: block;
    margin-top: 10px;
  }
  .en .hero h1 {
    font-size: 30px;
  }
  .en .header nav {
    display: none;
  }
  .contact-columns textarea {
    min-height: 145px;
  }
}
.hero .hero-image,
.hero.home .hero-image {
  object-position: 75% 18%;
}
.hero.home-c .hero-image {
  object-position: center 50%;
}
.hero-benefits {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  border-top: 1px solid #ffffff35;
  margin-top: 24px;
  padding-top: 16px;
}
.hero-benefits > div {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 11px;
  color: white;
  border-right: 1px solid #ffffff30;
  padding-right: 10px;
}
.hero-benefits > div:last-child {
  border: 0;
}
.hero-benefits svg {
  color: var(--gold);
  width: 27px;
  height: 27px;
}
.credibility-media {
  width: 125px;
  height: 70px;
  object-fit: cover;
  float: right;
  margin: 0 0 5px 10px;
}
.company-trust .credibility-media {
  float: none;
  width: 160px;
  height: 85px;
  margin: 14px 0 0;
}
.ui-sheet .ui-cell .header nav {
  display: flex;
  gap: 8px;
  font-size: 7px;
  margin-left: auto;
}
.ui-sheet .ui-cell .header .logo {
  width: 105px;
}
.ui-sheet .ui-cell .header .wrap {
  gap: 10px;
  padding: 0;
}
.ui-sheet .ui-cell .header .btn {
  min-width: 0;
  font-size: 7px;
  padding: 7px;
  gap: 4px;
}
.ui-sheet .ui-cell .header .btn svg {
  width: 12px;
  height: 12px;
}
.ui-sheet .ui-cell .header {
  padding: 12px;
}
.ui-mobile-cta {
  background: var(--navy);
  padding: 12px;
  display: flex;
  gap: 9px;
}
.ui-mobile-cta .btn {
  font-size: 9px;
  padding: 8px;
  gap: 5px;
  min-width: 0;
}
.ui-mobile-cta .btn svg {
  width: 14px;
  height: 14px;
}
.form-side > .contact-benefit {
  padding: 0;
  border: none;
}
.form-side > .hours {
  padding: 21px;
}
.pillnav .active {
  background: var(--red);
  border-color: var(--red);
}
.en .ui-sheet .ui-cell .header nav {
  gap: 8px;
  font-size: 8px;
}
.en .ui-sheet .ui-cell .header .wrap {
  gap: 10px;
}
@media (max-width: 900px) {
  .hero-benefits {
    gap: 10px;
  }
  .hero-benefits > div {
    font-size: 9px;
    display: block;
    padding-right: 6px;
  }
  .hero-benefits svg {
    display: block;
    margin-bottom: 7px;
  }
  .hero-benefits {
    margin-top: 20px;
  }
  .credibility-media {
    float: none;
    width: 100%;
    height: 65px;
    margin: 8px 0;
  }
  .hero .hero-image {
    object-position: center 18%;
  }
}
.floating-trust > .hero-contact {
  display: block;
  border: 0;
  padding: 0;
}
.strength-lifecycle:has(> .related-links) {
  grid-template-columns: 1fr 2fr;
}
.ref-faq-hero .hero-copy {
  max-width: 950px;
}
.ref-faq-hero h1 {
  font-size: 42px;
}
.floating-trust {
  top: 30px;
}
.hero-contact h2 {
  font-size: 20px;
  line-height: 1.6;
}
.hero-contact p {
  margin: 9px 0 15px;
}
.hero-contact .channels {
  margin-top: 10px;
}
.hero-contact .btn {
  min-height: 38px;
}
.en .hero-contact h2 {
  font-size: 22px;
}
.en .hero-contact p {
  font-size: 11px;
}
@media (max-width: 900px) {
  .hero h1,
  .ref-faq-hero h1,
  .en .ref-faq-hero h1 {
    font-size: 29px;
    line-height: 1.5;
  }
  .strength-lifecycle:has(> .related-links) {
    grid-template-columns: 1fr;
  }
}
.steps:has(> .step:nth-child(5):last-child) {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.steps:has(> .step:nth-child(6):last-child) {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.steps:has(> .step:nth-child(8):last-child) {
  grid-template-columns: repeat(8, minmax(0, 1fr));
}
.hero:has(.hero-contact) .wrap {
  min-height: 390px;
}
.category-illustration {
  background: #f0eadf;
  display: grid;
  place-items: center;
  color: var(--gold);
}
.category-illustration svg {
  width: 65px;
  height: 65px;
  stroke-width: 1;
}
.hero-contact .btn svg {
  color: inherit;
  width: 18px;
  height: 18px;
}
.hero-contact .btn {
  gap: 9px;
}
.floating-trust .hero-contact {
  font-size: inherit;
}
@media (max-width: 900px) {
  .steps:has(> .step:nth-child(5):last-child),
  .steps:has(> .step:nth-child(6):last-child),
  .steps:has(> .step:nth-child(8):last-child) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* V3: exact brand table supplied in the user's latest screenshot.
   Layout and content stay in the reference-layout system.
   Colour authority: #08131D #B8944A #F8F5EF #8E2028 #FFFFFF #20252A. */
:root {
  --navy: #08131d;
  --gold: #b8944a;
  --ivory: #f8f5ef;
  --red: #8e2028;
  --ink: #20252a;
  --muted: #20252a;
}
body,
body.en {
  background: #ffffff;
  color: #20252a;
  font-size: 18px;
  line-height: 1.8;
  font-weight: 400;
}
h1,
h2,
.serif {
  font-weight: 700;
  letter-spacing: 0.025em;
  color: var(--navy);
}
h1,
.en h1 {
  font-size: 56px;
  line-height: 1.5;
}
h2 {
  font-size: 34px;
  line-height: 1.5;
}
h3 {
  font-size: 22px;
  line-height: 1.6;
  font-weight: 700;
  color: var(--navy);
}
/* Keep authored line breaks, balancing any additional wrapping consistently. */
.klf-v3 :is(h1, h2, h3, h4, .btn) {
  text-wrap: balance;
  word-break: normal;
  line-break: strict;
}
.hero h1,
.hero h2,
.hero h3,
.cta h2,
.mini-cta h2,
.dark h2,
.dark h3,
.footer h4,
.mobilemenu h3 {
  color: #ffffff;
}
.ref-faq-hero h1,
.ref-faq-hero h2,
.ref-faq-hero h3 {
  color: var(--navy);
}
.hero.home h1,
.en .hero.home h1 {
  font-size: 54px;
  line-height: 1.5;
  font-weight: 700;
}
.hero.home .wrap,
.hero.home-c .wrap {
  min-height: 510px;
  padding: 38px 0;
}
.hero .wrap {
  min-height: 390px;
  padding: 36px 0;
}
.hero-copy {
  max-width: 730px;
}
.hero.home .hero-copy,
.hero.home-c .hero-copy {
  max-width: 750px;
}
.hero-copy > p,
.en .hero-copy > p {
  font-size: 18px;
  line-height: 1.85;
  color: white;
  font-weight: 500;
  max-width: 730px;
}
.ref-faq-hero .hero-copy > p {
  color: var(--ink);
}
.ref-faq-hero h1,
.en .ref-faq-hero h1 {
  font-size: 50px;
}
.hero .hero-image,
.hero.home .hero-image {
  filter: none;
}
.hero:after,
.hero.home:after,
.hero.home-b:after {
  background: linear-gradient(90deg, #08131d 0%, #08131dee 30%, #08131d6e 64%, #08131d05 100%);
}
.ref-faq-hero:after {
  background: linear-gradient(90deg, #f8f5ef 0%, #f8f5eff5 34%, #f8f5ef00 80%);
}
.section,
.section.white {
  background: #ffffff;
  padding: 34px 0;
}
.section.dark,
.dark {
  background: var(--navy);
}
.card,
.category-card,
.contact-method,
.sidebar > div,
.ref-faq-section,
.form-side {
  background: #ffffff;
}
.trustbar,
.credibility,
.guide-benefits,
.quote-card,
.support,
.note,
.contact-layout .hours,
.detail-comment,
.enquiry-strip {
  background: var(--ivory);
}
.note {
  font-size: 15px;
  color: var(--ink);
}
.caption {
  font-size: 13px;
  line-height: 1.7;
  color: var(--ink);
}
.small,
.card .small {
  font-size: 16px;
  line-height: 1.8;
}
.muted {
  color: var(--ink);
}
.header {
  height: 90px;
  background: var(--navy);
}
.header .logo,
.en .header .logo {
  width: 190px;
}
.header nav,
.en .header nav {
  font-size: 16px;
  font-weight: 600;
  gap: 26px;
}
.header .btn {
  font-size: 15px;
  min-height: 47px;
}
.header .wrap,
.en .header .wrap {
  gap: 25px;
}
.crumb {
  font-size: 13px;
  color: var(--ink);
}
.reviewbar {
  font-size: 11px;
  background: var(--ivory);
}
.review-end {
  font-size: 11px;
  background: var(--ivory);
}
.btn {
  font-size: 16px;
  min-height: 49px;
  font-weight: 700;
  color: #ffffff;
  background: var(--red);
  border-color: var(--red);
  gap: 12px;
}
.btn.outline {
  background: #ffffff;
  color: var(--navy);
  border-color: var(--gold);
}
.hero .btn.outline,
.dark .btn.outline {
  background: transparent;
  color: #ffffff;
}
/* Secondary messaging controls use navy/white; official service green remains
   a small icon accent, rather than a large button fill competing with Contact. */
.btn.wa,
.btn.line,
.channels .btn.wa,
.channels .btn.line {
  background: var(--navy);
  border-color: var(--navy);
  color: #ffffff;
}
.btn.wa svg {
  color: #25d366;
}
svg.brand-whatsapp,
svg.brand-line {
  fill: currentColor;
  stroke: none;
}
.btn.line svg {
  color: #00c300;
}
/* Keep the LINE wordmark legible in small contact buttons. Larger icons retain
   their existing size; the outline and lettering remain resolution-independent. */
.btn svg.brand-line {
  min-width: 22px;
  min-height: 22px;
}
svg.brand-line > path:first-child {
  stroke: currentColor;
  stroke-width: 0.2;
}
.cta .btn.wa,
.cta .btn.line,
.mini-cta .btn.wa,
.mini-cta .btn.line,
.mobilemenu .btn.wa,
.mobilemenu .btn.line,
.hero-contact .btn.wa,
.hero-contact .btn.line,
.mobilebar .btn.wa,
.mobilebar .btn.line {
  background: transparent;
  border-color: var(--gold);
  color: #ffffff;
}
.contact-method.whatsapp .round-icon,
.contact-method.line .round-icon {
  background: var(--navy);
  color: white;
}
.contact-method.whatsapp .round-icon svg {
  color: #25d366;
}
.contact-method.line .round-icon svg {
  color: #00c300;
}
.link {
  font-size: 16px;
  font-weight: 600;
  color: var(--navy);
}
.gold {
  color: var(--gold);
}
.eyebrow {
  font-size: 14px;
  font-weight: 700;
}
.actions {
  gap: 14px;
}
.trust-item h3 {
  font-size: 18px;
  line-height: 1.55;
}
.trust-item p {
  font-size: 15px;
  line-height: 1.8;
}
.trust-item svg {
  width: 39px;
  height: 39px;
}
.trust-item {
  padding: 0 18px;
}
.trustbar {
  padding: 30px 10px;
}
.trust-item .topline {
  gap: 12px;
  align-items: start;
}
.credibility {
  margin-top: 22px;
}
.credibility h2 {
  font-size: 31px;
}
.credibility h3 {
  font-size: 18px;
}
.credibility p {
  font-size: 14px;
  color: var(--ink);
}
.credibility strong {
  font-size: 43px;
  font-weight: 600;
}
.credibility-grid {
  grid-template-columns: 0.8fr 1.5fr 1.2fr 1.7fr;
}
.credibility-media {
  height: 80px;
  width: 130px;
}
.corporate-logos {
  gap: 20px;
}
.section-head h2 {
  font-size: 32px;
}
.tabs span {
  font-size: 15px;
  font-weight: 600;
  padding: 8px 25px;
}
.tabs .active {
  background: var(--red);
}
.property h3 {
  font-size: 21px;
  font-weight: 700;
}
.property .pad {
  padding: 19px;
}
.property .location {
  font-size: 14px;
  color: var(--ink);
  letter-spacing: 0;
}
.property .price {
  font-size: 29px;
  color: var(--red);
  font-weight: 700;
}
.property .price small {
  font-size: 13px;
}
.property .specs {
  font-size: 14px;
  color: var(--ink);
  gap: 5px 12px;
}
.property .link {
  font-size: 15px;
}
.property.small-card h3 {
  font-size: 18px;
}
.property.small-card .pad {
  padding: 15px;
}
.property.small-card .price {
  font-size: 25px;
}
.property.small-card .specs {
  font-size: 13px;
}
.property.small-card .location {
  font-size: 13px;
}
.areas-strip .area-card {
  min-height: 110px;
}
.areas-strip .area-card h3 {
  font-size: 19px;
  color: white;
  font-weight: 700;
}
.areas-strip .area-card p {
  font-size: 11px;
  color: white;
}
.area-card:after {
  background: linear-gradient(0deg, #08131dcc, #08131d15);
}
.service-row h3 {
  font-size: 18px;
}
.service-row p {
  font-size: 14px;
  color: var(--ink);
}
.service-row .link {
  font-size: 14px;
}
.service-row img {
  height: 125px;
  width: 82px;
}
.service-row .card {
  gap: 13px;
}
.quote-card p {
  font-size: 16px;
  color: var(--ink);
}
.quote-card small {
  font-size: 14px;
  color: var(--ink);
}
.quote-card .num {
  font-size: 38px;
  font-weight: 700;
}
.insight h3 {
  font-size: 19px;
  line-height: 1.75;
}
.insight p {
  font-size: 15px;
  color: var(--ink);
  line-height: 1.85;
}
.insight .meta,
.insight .badge {
  font-size: 12px;
  color: var(--ink);
}
.insight .link {
  font-size: 15px;
}
.insight .pad {
  padding: 19px;
}
.insight .meta {
  flex-wrap: wrap;
  gap: 7px;
}
.insights-layout .insight h3 {
  font-size: 17px;
}
.insights-layout .insight p {
  font-size: 14px;
}
.insights-layout .insight .meta,
.insights-layout .insight .badge {
  font-size: 11px;
}
.insights-layout .insight .pad {
  padding: 15px;
}
.category-card strong {
  font-size: 15px;
  line-height: 1.6;
}
.category-card small {
  font-size: 13px;
  color: var(--ink);
}
.category-card svg {
  width: 42px;
  height: 42px;
}
.pillnav span {
  font-size: 14px;
  font-weight: 500;
}
.category-grid {
  gap: 11px;
}
.sidebar h3 {
  font-size: 23px;
}
.sidebar p {
  font-size: 16px;
  color: var(--ink);
}
.sidebar .channels .btn {
  font-size: 14px;
  min-height: 43px;
}
.sidebar .search input {
  font-size: 15px;
}
.popular-item p {
  font-size: 14px;
}
.popular-item img {
  width: 80px;
  height: 66px;
}
.tag-cloud span {
  font-size: 13px;
  color: var(--ink);
}
.card .icon svg {
  width: 39px;
  height: 39px;
}
.card h3 {
  font-size: 21px;
}
.card h3 + p {
  margin-top: 11px;
}
.pad {
  padding: 24px;
}
.cta {
  background: var(--navy);
  padding: 32px 0;
}
.cta h2 {
  font-size: 29px;
  font-weight: 700;
  line-height: 1.6;
}
.cta p {
  font-size: 16px;
  color: #ffffff;
}
.cta-right {
  width: 62%;
  gap: 13px;
}
.cta-right .btn {
  font-size: 16px;
  min-height: 68px;
}
.cta .wrap {
  gap: 27px;
}
.footer {
  background: var(--navy);
}
.footer h4 {
  font-size: 16px;
}
.footer a {
  font-size: 13px;
  color: white;
  line-height: 1.8;
}
.footer .address {
  font-size: 12px;
  color: white;
}
.footer .nav-cols {
  gap: 22px;
}
.footer .top {
  gap: 30px;
}
.footer-bottom,
.footer-bottom p {
  font-size: 12px;
  color: white;
}
.contact-method h3 {
  font-size: 24px;
}
.contact-method p {
  font-size: 16px;
}
.contact-method ul {
  font-size: 16px;
  line-height: 2;
}
.contact-method .btn {
  font-size: 16px;
}
.contact-method .round-icon {
  width: 70px;
  height: 70px;
}
.contact-layout h2 {
  font-size: 29px;
}
.contact-benefit h3 {
  font-size: 21px;
}
.contact-benefit p {
  font-size: 15px;
  color: var(--ink);
}
.contact-columns label {
  font-size: 16px;
}
.contact-columns input,
.contact-columns textarea {
  font-size: 15px;
  min-height: 47px;
}
.check-option {
  font-size: 15px !important;
  align-items: start;
}
.check-option input {
  margin-top: 6px;
}
.contact-layout .hours {
  font-size: 15px;
}
.contact-faq h3 {
  font-size: 18px;
}
.contact-faq p {
  font-size: 15px;
}
.required {
  font-size: 13px;
  color: var(--red);
}
.filter label {
  font-size: 16px;
}
.filter-vertical select,
.filter select {
  font-size: 15px;
}
.list-summary {
  font-size: 15px;
}
.view-tools {
  font-size: 14px;
}
.pagination span {
  font-size: 15px;
}
.enquiry-strip h3 {
  font-size: 22px;
}
.enquiry-strip p {
  font-size: 15px;
}
.enquiry-strip .channels .btn {
  font-size: 14px;
}
.detail-title h1 {
  font-size: 40px;
}
.detail-title p {
  font-size: 17px;
}
.detail-tools {
  font-size: 14px;
}
.detail-pricebox .detail-price {
  font-size: 36px;
  font-weight: 700;
  color: var(--red);
}
.detail-pricebox .facts th,
.detail-pricebox .facts td {
  font-size: 14px;
  color: var(--ink);
}
.detail-pricebox .btn {
  font-size: 14px;
  min-height: 44px;
}
.detail-comment h3 {
  font-size: 21px;
}
.detail-comment p {
  font-size: 16px;
}
.detail-tabbar {
  font-size: 16px;
}
.detail-tabbody h3 {
  font-size: 19px;
}
.detail-tabbody p {
  font-size: 15px;
}
.detail-tabbody .facts th,
.detail-tabbody .facts td {
  font-size: 14px;
}
.facility-grid {
  font-size: 14px;
}
.detail-tabbody .grid.three h3,
.detail-tabbody .grid.three p {
  font-size: 15px;
}
.facts th,
.facts td {
  font-size: 16px;
  color: var(--ink);
}
.price-table {
  font-size: 15px;
  color: var(--ink);
}
.num-heading {
  font-size: 33px;
  font-weight: 700;
}
.num-heading b {
  font-size: 26px;
  width: 40px;
  height: 40px;
}
.num-heading > b,
.ref-faq-section h2 > b {
  font-family: Arial, sans-serif;
  font-variant-numeric: lining-nums tabular-nums;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
}
.guide-benefits p {
  font-size: 15px;
  color: var(--ink);
}
.guide-benefits .grid > div {
  gap: 14px;
  padding: 0 18px;
}
.guide-benefits .grid > div:first-child {
  padding-left: 0;
}
.hero-benefits > div {
  font-size: 15px;
}
.hero-benefits svg {
  width: 33px;
  height: 33px;
}
.split p {
  font-size: 17px;
  line-height: 1.85;
}
.step h3 {
  font-size: 17px;
  line-height: 1.6;
}
.step p {
  font-size: 14px;
  color: var(--ink);
  line-height: 1.8;
}
.step .num {
  font-size: 28px;
}
.steps {
  gap: 14px;
}
.support h3 {
  font-size: 24px;
}
.support .bigprice {
  font-size: 45px;
  font-weight: 700;
}
.support ul {
  font-size: 16px;
  color: var(--ink);
}
.support .small {
  font-size: 14px;
  color: var(--ink);
}
.support .bigprice small {
  font-size: 15px;
}
.fees h3 {
  font-size: 20px;
}
.fees .bigprice {
  font-size: 40px;
  font-weight: 700;
  color: var(--navy);
}
.fees .small {
  font-size: 15px;
}
.faq-q {
  font-size: 19px;
  font-weight: 600;
  color: var(--navy);
}
.faq-a {
  font-size: 16px;
  color: var(--ink);
}
.faq-item {
  padding: 18px 6px;
}
.ref-faq-section h2 {
  font-size: 31px;
  font-weight: 700;
}
.ref-tabs strong {
  font-size: 21px;
}
.ref-tabs small {
  font-size: 14px;
}
.ref-tabs > div {
  padding: 23px 20px;
  gap: 15px;
}
.related-links > div {
  font-size: 16px;
  color: var(--navy);
}
.mini-cta h2 {
  font-size: 31px;
}
.mini-cta p {
  font-size: 16px;
  color: #ffffff;
}
.mini-cta .btn {
  font-size: 14px;
  min-height: 49px;
}
.area-list-item {
  font-size: 16px;
}
.plan-name {
  font-size: 30px !important;
  color: var(--gold) !important;
}
.plan-sub {
  font-size: 16px;
}
.plans ul {
  font-size: 17px;
  line-height: 2;
}
.plans .bigprice {
  font-size: 40px;
  font-weight: 700;
  color: var(--navy);
}
.floating-trust > div {
  font-size: 16px;
}
.floating-trust {
  width: 300px;
}
.hero-contact h2,
.en .hero-contact h2 {
  font-size: 24px;
  color: white;
}
.hero-contact p,
.en .hero-contact p {
  font-size: 14px;
  color: white;
}
.hero-contact .btn {
  font-size: 14px;
  min-height: 42px;
}
.hero:has(.hero-contact) .hero-copy,
.tour-hero .hero-copy {
  max-width: 770px;
}
.hero:has(.hero-contact) .wrap {
  min-height: 445px;
}
.area-longcard h3 {
  font-size: 22px;
}
.area-longcard p {
  font-size: 16px;
  color: var(--ink);
}
.area-longcard .suitable {
  font-size: 15px;
}
.area-longcard .btn {
  font-size: 15px;
}
.company-summary p {
  font-size: 18px;
  color: var(--ink);
}
.company-trust .small {
  font-size: 16px;
}
.company-facts .facts th,
.company-facts .facts td {
  font-size: 16px;
}
.case-nav > a {
  font-size: 27px;
  font-weight: 700;
}
.case-feature h3 {
  font-size: 25px;
}
.case-feature h4,
.case-small h4 {
  font-size: 16px;
}
.case-feature p {
  font-size: 16px;
  color: var(--ink);
}
.case-feature .small {
  font-size: 13px;
}
.case-small h3 {
  font-size: 22px;
}
.case-small p {
  font-size: 15px;
  color: var(--ink);
}
.article-main h1 {
  font-size: 43px;
}
.article-main p {
  font-size: 18px;
  color: var(--ink);
}
.article-meta-row {
  font-size: 15px;
}
.article-main .toc li {
  font-size: 16px;
  line-height: 1.9;
}
.article-step h2 {
  font-size: 25px;
}
.article-step p {
  font-size: 17px;
}
.article-step-list > div {
  font-size: 18px;
}
.mobilemenu .row {
  font-size: 18px;
  font-weight: 600;
}
.mobilemenu .minor {
  font-size: 16px;
  color: white;
}
.mobilemenu .channels .btn {
  font-size: 16px;
}
.mobilebar .btn {
  font-size: 15px;
}
/* The component sheet retains its intentionally scaled previews. */
.ui-sheet {
  background: #ffffff;
}
.ui-sheet h1 {
  font-size: 38px;
}
.ui-sheet-intro {
  font-size: 15px;
}
.ui-cell > h2 {
  font-size: 20px;
}
.ui-sheet .header nav,
.en .ui-sheet .header nav {
  font-size: 8px;
}
.ui-sheet .header .btn {
  font-size: 8px;
}
.ui-cell .guide-benefits p {
  font-size: 10px;
}
.ui-cell .guide-benefits .grid > div {
  padding: 0 5px;
  gap: 5px;
}
.ui-cell .mega h3 {
  font-size: 11px;
}
.ui-cell .mega p {
  font-size: 10px;
}
.ui-cell .swatch strong {
  font-size: 10px;
}
.ui-cell .swatch p {
  font-size: 10px;
}
.ui-cell .mobilemenu .row {
  font-size: 14px;
}
.ui-cell .mobilemenu .minor {
  font-size: 12px;
}
.ui-cell .mobilemenu .btn {
  font-size: 12px;
}
.ui-cell .cta h2 {
  font-size: 20px;
}
.ui-cell .cta p {
  font-size: 13px;
}
.ui-cell .cta-right .btn {
  font-size: 12px;
}
.ui-cell .footer h4 {
  font-size: 11px;
}
.ui-cell .footer a {
  font-size: 10px;
}
.ui-cell .footer-bottom p {
  font-size: 9px;
}
.ui-cell .channels.vertical .btn {
  font-size: 12px;
}
.ui-sheet .ui-widget-row .btn {
  font-size: 12px;
}
.ui-sheet label {
  font-size: 13px;
}
.ui-sheet label input,
.ui-sheet select {
  font-size: 12px;
}
.ui-mobile-cta .btn {
  font-size: 11px;
}
.ui-sheet .note {
  font-size: 13px;
}
@media (max-width: 900px) {
  body,
  body.en {
    font-size: 16px;
  }
  h1,
  .en h1 {
    font-size: 33px;
  }
  h2 {
    font-size: 28px;
  }
  h3,
  .card h3 {
    font-size: 20px;
  }
  .hero h1,
  .en .hero h1,
  .ref-faq-hero h1,
  .en .ref-faq-hero h1 {
    font-size: 33px;
    line-height: 1.55;
  }
  .hero.home h1,
  .en .hero.home h1 {
    font-size: 33px;
    line-height: 1.55;
  }
  .hero .wrap {
    min-height: 380px;
    padding: 30px 0;
  }
  .hero.home .wrap,
  .hero.home-c .wrap {
    min-height: 570px;
    padding: 30px 0;
  }
  .hero-copy > p,
  .en .hero-copy > p {
    font-size: 16px;
    line-height: 1.85;
  }
  .hero .hero-image {
    opacity: 0.62;
  }
  .hero.home:after {
    background: linear-gradient(0deg, #08131d 0%, #08131daa 55%, #08131d15);
  }
  .hero:after {
    background: linear-gradient(90deg, #08131deb, #08131d55);
  }
  .ref-faq-hero:after {
    background: linear-gradient(90deg, #f8f5eff2, #f8f5efb0);
  }
  .hero .btn {
    font-size: 13px;
    min-height: 45px;
    padding: 10px 13px;
  }
  .header,
  .en .header {
    height: 80px;
  }
  .header .logo,
  .en .header .logo {
    width: 139px;
  }
  .header .btn,
  .en .header .btn {
    font-size: 11px;
    padding: 9px 11px;
  }
  .header .wrap,
  .en .header .wrap {
    gap: 12px;
  }
  .header nav,
  .en .header nav {
    display: none;
  }
  .reviewbar {
    font-size: 9px;
  }
  .review-end {
    font-size: 9px;
  }
  .crumb {
    font-size: 11px;
  }
  .section,
  .section.white {
    padding: 28px 0;
  }
  .small,
  .card .small {
    font-size: 15px;
  }
  .caption {
    font-size: 12px;
  }
  .trust-item h3 {
    font-size: 15px;
  }
  .trust-item p {
    font-size: 14px;
  }
  .trust-item {
    padding: 0 11px;
  }
  .trust-item .topline {
    display: block;
  }
  .trust-item svg {
    margin-bottom: 9px;
  }
  .trustbar {
    padding: 20px 0;
    gap: 20px 0;
  }
  .credibility h2 {
    font-size: 26px;
  }
  .credibility h3 {
    font-size: 16px;
  }
  .credibility p {
    font-size: 13px;
  }
  .credibility strong {
    font-size: 36px;
  }
  .credibility-media {
    width: 100%;
    height: 75px;
  }
  .section-head h2 {
    font-size: 28px;
  }
  .section-head > .link {
    font-size: 13px;
  }
  .tabs span {
    font-size: 13px;
    padding: 7px 15px;
  }
  .property h3 {
    font-size: 17px;
  }
  .property .pad {
    padding: 14px;
  }
  .property .price {
    font-size: 24px;
  }
  .property .price small {
    font-size: 11px;
  }
  .property .specs {
    font-size: 12px;
  }
  .property .location {
    font-size: 12px;
  }
  .property .link {
    font-size: 13px;
  }
  .property.small-card h3 {
    font-size: 24px;
  }
  .property.small-card .price {
    font-size: 30px;
  }
  .property.small-card .specs,
  .property.small-card .location {
    font-size: 15px;
  }
  .property.small-card .link {
    font-size: 16px;
  }
  .areas-strip .area-card h3 {
    font-size: 16px;
  }
  .areas-strip .area-card p {
    font-size: 10px;
  }
  .service-row h3 {
    font-size: 20px;
  }
  .service-row p {
    font-size: 15px;
  }
  .service-row .link {
    font-size: 14px;
  }
  .quote-card p {
    font-size: 16px;
  }
  .quote-card small {
    font-size: 14px;
  }
  .insight h3 {
    font-size: 16px;
  }
  .insight p {
    font-size: 14px;
  }
  .insight .meta,
  .insight .badge {
    font-size: 10px;
  }
  .insight .pad {
    padding: 14px;
  }
  .insight .link {
    font-size: 13px;
  }
  .cta h2 {
    font-size: 27px;
  }
  .cta p {
    font-size: 15px;
  }
  .cta-right {
    width: 100%;
  }
  .cta-right .btn {
    font-size: 16px;
    min-height: 48px;
  }
  .footer h4 {
    font-size: 15px;
  }
  .footer a {
    font-size: 13px;
  }
  .footer .address {
    font-size: 12px;
  }
  .contact-method h3 {
    font-size: 22px;
  }
  .contact-method p,
  .contact-method ul {
    font-size: 15px;
  }
  .contact-columns label {
    font-size: 16px;
  }
  .check-option {
    font-size: 15px !important;
  }
  .contact-layout h2 {
    font-size: 27px;
  }
  .contact-benefit h3 {
    font-size: 20px;
  }
  .contact-benefit p,
  .contact-layout .hours {
    font-size: 15px;
  }
  .contact-faq .grid.four {
    grid-template-columns: 1fr;
  }
  .contact-faq h3 {
    font-size: 19px;
  }
  .contact-faq p {
    font-size: 16px;
  }
  .filter label {
    font-size: 16px;
  }
  .filter-vertical select {
    font-size: 16px;
  }
  .list-summary {
    font-size: 15px;
  }
  .view-tools {
    font-size: 13px;
  }
  .enquiry-strip .channels {
    width: 100%;
  }
  .enquiry-strip h3 {
    font-size: 23px;
  }
  .enquiry-strip p {
    font-size: 15px;
  }
  .num-heading {
    font-size: 27px;
  }
  .num-heading b {
    font-size: 24px;
    width: 35px;
    height: 35px;
  }
  .hero-benefits > div {
    font-size: 12px;
  }
  .hero-benefits svg {
    width: 31px;
    height: 31px;
  }
  .step h3 {
    font-size: 17px;
  }
  .step p {
    font-size: 14px;
  }
  .fees h3 {
    font-size: 21px;
  }
  .fees .bigprice {
    font-size: 39px;
  }
  .fees .small {
    font-size: 16px;
  }
  .mini-cta h2 {
    font-size: 26px;
  }
  .mini-cta p {
    font-size: 15px;
  }
  .mini-cta .channels {
    grid-template-columns: 1fr;
  }
  .mini-cta .btn {
    font-size: 15px;
  }
  .faq-q {
    font-size: 18px;
  }
  .faq-a {
    font-size: 16px;
  }
  .related-links > div {
    font-size: 15px;
  }
  .ref-tabs strong {
    font-size: 17px;
  }
  .ref-faq-section h2 {
    font-size: 26px;
  }
  .guide-benefits p {
    font-size: 13px;
  }
  .guide-benefits .grid > div {
    padding: 0;
    gap: 10px;
  }
  .mobilebar .btn {
    font-size: 15px;
  }
  .mobilemenu .channels .btn {
    font-size: 15px;
  }
  .mobilemenu .minor {
    font-size: 15px;
  }
  .hero:has(.hero-contact) .wrap {
    min-height: 430px;
  }
}
h1,
h2,
h3 {
  overflow-wrap: anywhere;
}
.ui-sheet h1,
.ui-sheet h2,
.ui-sheet h3 {
  overflow-wrap: normal;
}
@media (max-width: 900px) {
  .credibility-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
  .credibility-grid > div {
    min-width: 0;
  }
  .credibility-grid p,
  .credibility-grid h3 {
    overflow-wrap: anywhere;
  }
  .corporate-logos {
    max-width: 100%;
  }
  .corporate-logos img {
    max-width: 100%;
  }
  .en .hero.home .hero-copy {
    max-width: 100%;
  }
}
.ja .insights-layout .insight h3 {
  padding-right: 6px;
}

.ui-cell .swatches {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.ui-cell .swatch > div {
  border: 1px solid #dadada;
}
.credibility strong,
.step .num {
  color: var(--navy);
}
.plans .plan-name {
  color: var(--navy) !important;
}
.plan-name {
  border-bottom: 2px solid var(--gold);
  padding-bottom: 12px;
}
.faq-q:before {
  color: var(--navy);
}

/* Functional WordPress states, retaining the selected V3 geometry. */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 110px;
}
html:has(#article-results:target, #property-results:target) {
  scroll-behavior: auto;
}
body {
  margin: 0;
}
.klf-v3 main {
  display: block;
}
.klf-v3 [hidden] {
  display: none !important;
}
button,
input,
select,
textarea {
  font: inherit;
}
button,
a {
  touch-action: manipulation;
}
button {
  cursor: pointer;
}
button:disabled {
  cursor: not-allowed;
  opacity: 0.65;
}
.btn.line:disabled {
  opacity: 1;
}
fieldset {
  border: 0;
  padding: 0;
  margin: 0;
  min-width: 0;
}
legend {
  padding: 0;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 4px;
}
.skip-link,
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.skip-link:focus {
  width: auto;
  height: auto;
  clip-path: none;
  top: 10px;
  left: 10px;
  background: white;
  color: var(--navy);
  padding: 12px;
  z-index: 999;
}
.dialog-open {
  overflow: hidden;
}
.klf-v3 .header {
  position: relative;
  z-index: 30;
  height: 90px;
}
.klf-v3 .header > .wrap {
  width: 1320px;
  max-width: calc(100% - 70px);
  gap: 24px;
}
.klf-v3 .header .brand {
  flex: 0 0 auto;
}
.klf-v3 .header .brand .logo {
  width: 190px;
  object-fit: contain;
  height: auto;
}
.header .desktop-nav {
  display: flex;
  align-self: stretch;
  align-items: stretch;
  gap: 14px;
  margin-left: auto;
}
.nav-group {
  display: flex;
  align-items: center;
  position: relative;
  gap: 2px;
}
.header .nav-top {
  font-size: 15px;
  white-space: nowrap;
}
.nav-expand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  color: white;
  background: none;
  padding: 0;
  width: 24px;
  min-height: 44px;
  flex-shrink: 0;
}
.nav-expand svg {
  width: 14px;
  height: 14px;
  stroke-width: 2;
}
.nav-expand[aria-expanded='true'] svg {
  transform: rotate(180deg);
}
.nav-group:has(.nav-expand[aria-expanded='true']) > .nav-top,
.nav-expand:hover,
.nav-expand[aria-expanded='true'] {
  color: var(--gold);
}
.nav-dropdown {
  position: absolute;
  top: 100%;
  left: -16px;
  width: 260px;
  background: var(--navy);
  padding: 8px;
  box-shadow: 0 8px 18px #0002;
  border-top: 2px solid var(--gold);
}
.header .nav-dropdown a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 44px;
  white-space: normal;
  padding: 11px 12px;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 500;
  border-bottom: 1px solid #fff2;
}
.header .nav-dropdown a:last-child {
  border-bottom: 0;
}
.nav-dropdown a span {
  color: var(--gold);
  flex-shrink: 0;
}
.nav-group:last-child .nav-dropdown {
  left: auto;
  right: 0;
}
.header .nav-dropdown a:hover,
.header .nav-dropdown a:focus-visible {
  color: var(--gold);
  background: #ffffff0a;
}
.header .wrap {
  gap: 24px;
}
.header .btn {
  font-size: 14px;
  padding: 13px 20px;
}
.crumb span[aria-current] {
  margin: 0;
}
.footer a:hover {
  text-decoration: underline;
}
.footer-social-links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  max-width: 200px;
  margin: 12px 0 20px;
}
.footer .footer-social-links a {
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 1;
  margin: 0;
  border: 1px solid white;
  border-radius: 50%;
  background: white;
  color: var(--navy);
}
.footer .footer-social-links a:hover {
  background: var(--gold);
  border-color: var(--gold);
  text-decoration: none;
}
.footer .footer-social-links a:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}
.footer-social-links svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
  stroke: none;
}
.currency-switcher {
  position: relative;
  max-width: 280px;
}
.header-selector-toggle {
  padding: 8px 12px;
  border: 1px solid var(--gold);
  background: transparent;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.header-selector-menu {
  position: absolute;
  bottom: calc(100% + 6px);
  left: 0;
  background: var(--navy);
  border: 1px solid var(--gold);
  padding: 8px;
  width: 290px;
  list-style: none;
  z-index: 5;
}
.header-selector-menu button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 0;
  background: transparent;
  color: white;
  width: 100%;
  text-align: left;
  padding: 12px;
}
.header-selector-menu button:hover {
  background: #ffffff15;
}
.currency-choice-copy {
  display: grid;
  gap: 3px;
}
.currency-choice-label {
  font-size: 14px;
}
.currency-choice-rate {
  font-size: 11px;
}
.currency-rate-details {
  border-top: 1px solid #ffffff35;
  padding: 10px;
  font-size: 10px;
  line-height: 1.6;
}
.currency-rate-details p,
.currency-rate-details a {
  font-size: 10px !important;
  margin: 3px 0;
}
.currency-price-value--jpy,
.currency-price-value--cny {
  display: none;
}
html[data-klf-currency='JPY'] .currency-price-values--convertible .currency-price-value,
html[data-klf-currency='CNY'] .currency-price-values--convertible .currency-price-value {
  display: none;
}
html[data-klf-currency='JPY'] .currency-price-values--convertible .currency-price-value--jpy,
html[data-klf-currency='CNY'] .currency-price-values--convertible .currency-price-value--cny {
  display: inline;
}
.tabs button {
  background: #f0f0ee;
  color: var(--navy);
  border: 0;
  padding: 11px 28px;
  font-size: 16px;
  font-weight: 700;
}
.tabs button[aria-selected='true'] {
  background: var(--red);
  color: white;
}
.tabs {
  margin-bottom: 20px;
}
.property-photo {
  display: block;
}
.property .specs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin: 12px 0 16px;
  min-height: 38px;
}
.property .specs span {
  display: flex;
  align-items: center;
  gap: 5px;
}
.property .specs svg {
  width: 17px;
  height: 17px;
}
.property .pad {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.property .pad .btn {
  margin-top: auto;
}
.property {
  display: flex;
  flex-direction: column;
}
.property h3 {
  min-height: 2.6em;
}
.property .price small {
  font-size: 12px;
  white-space: nowrap;
}
.property .price {
  font-size: 21px;
}
.grid.five .property .price {
  font-size: 19px;
}
.grid .property .btn {
  font-size: 13px;
  min-height: 40px;
}
.filter h2,
.filter-vertical h2 {
  font-size: 19px;
  margin-bottom: 18px;
}
.filter-fields {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
}
.sale-filter .filter-fields {
  align-items: end;
}
.sale-filter .filter-fields > label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  min-width: 0;
}
.sale-filter .filter-fields select {
  margin: 0;
}
.sale-filter .filter-fields > .btn {
  align-self: end;
  min-width: 0;
  min-height: 44px;
  margin: 0;
  padding: 8px 12px;
  font-size: 14px;
  white-space: nowrap;
}
.sale-listing .sale-listing-note {
  margin: 0;
  padding: 18px 22px;
  background: var(--ivory);
  border-left: 2px solid var(--gold);
}
@media (min-width: 701px) and (max-width: 1100px) {
  .sale-filter .filter-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sale-filter .filter-fields > .btn {
    grid-column: 1 / -1;
  }
}
@media (max-width: 700px) {
  .sale-filter .filter-fields > .btn {
    grid-column: 1 / -1;
  }
}
.filter-vertical .filter-fields {
  grid-template-columns: 1fr;
}
.filter-vertical .filter-bottom {
  display: grid;
  gap: 16px;
  margin-top: 22px;
}
.filter-fields label,
.filter-fields legend {
  font-size: 14px;
  font-weight: 600;
}
.filter-fields input,
.filter-fields select {
  font-size: 13px;
  min-width: 0;
  min-height: 44px;
  padding: 10px 8px;
  width: 100%;
}
.range-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 12px minmax(0, 1fr);
  align-items: center;
  gap: 4px;
}
.range-fields label {
  min-width: 0;
}
.listing-results {
  min-width: 0;
}
.sale-all-properties {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 20px;
  margin-top: 0;
  margin-bottom: 24px;
}
.sale-all-properties .caption {
  margin: 0;
  font-size: 12px;
}
.sale-hero h1 {
  font-size: 46px;
  line-height: 1.5;
}
.sale-hero .hero-copy {
  max-width: 600px;
}
.sale-hero .hero-copy > p {
  font-size: 16px;
  color: var(--gold);
  margin-top: 16px;
}
.sale-hero .wrap {
  padding: 34px 0 24px;
}
.sale-hero .actions {
  margin-top: 16px;
}
.sale-listing {
  padding-bottom: 8px;
}
.sale-listing .grid.four {
  gap: 16px;
  margin-top: 18px;
}
:is(.sale-property, .rental-property) .property-photo img {
  height: auto;
  aspect-ratio: 1.72;
  object-fit: cover;
}
:is(.sale-property, .rental-property) .pad {
  padding: 12px;
}
.sale-listing :is(.sale-property, .rental-property) h3 {
  min-height: 0;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: 4px;
  letter-spacing: 0;
  font-family: Arial, sans-serif;
}
:is(.sale-property, .rental-property) .small {
  font-size: 12px;
  margin-top: 0;
}
.sale-listing .grid.four :is(.sale-property, .rental-property) .price {
  font-size: 22px;
  line-height: 1.4;
  margin: 16px 0 14px;
}
:is(.sale-property, .rental-property) .specs {
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-size: 12px;
  line-height: 1.7;
  margin: 0 0 12px;
}
.sale-property-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding: 12px 0 2px;
  border-top: 1px solid var(--line);
  color: var(--navy);
  font-size: 13px;
  font-weight: 600;
}
/* Share content-sized tracks so wrapped titles keep property prices aligned per row. */
@supports (grid-template-rows: subgrid) {
  .grid > .property {
    display: grid;
    grid-row: span 6;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: subgrid;
    row-gap: 0;
  }
  .grid > .property > .pad {
    display: grid;
    grid-row: span 5;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: subgrid;
    row-gap: 0;
  }
  .grid > .property .specs {
    align-content: start;
  }
}
.sale-consultation {
  padding: 0 0 28px;
  border: 0;
  background: white;
  color: var(--ink);
}
.sale-consultation .wrap {
  padding: 20px;
  background: var(--ivory);
  gap: 22px;
}
.sale-consultation h2 {
  font-family: inherit;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--navy);
}
.sale-consultation p {
  font-size: 13px;
  line-height: 1.6;
  color: var(--ink);
}
.sale-consultation .cta-right .btn {
  min-height: 46px;
  padding: 10px;
  font-size: 12px;
  gap: 9px;
}
.sale-consultation .btn.wa,
.sale-consultation .btn.line {
  background: var(--navy);
  border-color: var(--navy);
}
.sale-consultation .wrap > :first-child {
  flex: 1;
  min-width: 0;
}
.sale-consultation h2,
.sale-consultation p {
  text-wrap: balance;
}
.sale-consultation .cta-right {
  flex-shrink: 0;
  width: 60%;
  grid-template-columns: 1.3fr 1fr 1fr;
}
@media (min-width: 1001px) {
  body:has(.sale-hero) .wrap {
    width: calc(100% - 100px);
  }
  body:has(.sale-hero) .crumb {
    padding: 9px 0;
    font-size: 12px;
  }
  body:has(.sale-hero) .footer a,
  body:has(.sale-hero) .footer .address,
  body:has(.sale-hero) .footer-bottom p {
    font-size: 11px;
  }
}
@media (max-width: 1000px) {
  .sale-consultation .wrap {
    flex-direction: column;
    align-items: stretch;
  }
  .sale-consultation .cta-right {
    width: 100%;
    grid-template-columns: 1fr;
  }
  .sale-all-properties {
    flex-wrap: wrap;
    justify-content: flex-end;
  }
  .sale-all-properties .caption {
    width: 100%;
  }
}
@media (max-width: 700px) {
  .sale-hero h1 {
    font-size: 30px;
  }
  .sale-consultation .wrap {
    padding: 20px 16px;
  }
}
.sort-form {
  display: flex;
  align-items: center;
  gap: 10px;
}
.sort-form label {
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  font-size: 13px;
}
.sort-form select {
  font-size: 13px;
  padding: 8px;
  min-height: 40px;
}
.sort-form .btn {
  font-size: 12px;
  padding: 8px 13px;
  min-height: 40px;
}
.list-summary {
  align-items: center;
  margin: 20px 0;
}
.pagination {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin: 32px 0;
  flex-wrap: wrap;
}
.pagination a {
  border: 1px solid var(--line);
  min-width: 44px;
  min-height: 44px;
  display: grid;
  place-items: center;
  background: white;
  font-size: 15px;
}
.pagination [aria-current] {
  background: var(--navy);
  color: white;
}
.empty-results {
  padding: 50px 20px;
  text-align: center;
}
.empty-results h2 {
  font-size: 26px;
}
.empty-results p {
  margin: 20px 0;
}
.detail-top {
  display: grid;
  grid-template-columns: minmax(0, 2.2fr) minmax(280px, 1fr);
  gap: 30px;
  margin: 25px 0;
}
.detail-top .gallery {
  position: relative;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-rows: 205px 205px;
  gap: 8px;
}
.gallery > button:not(.gallery-all) {
  padding: 0;
  border: 0;
  overflow: hidden;
  background: var(--ivory);
}
.gallery > button:first-child {
  grid-row: span 2;
}
.gallery > button img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gallery .gallery-all {
  position: absolute;
  bottom: 12px;
  left: 12px;
  z-index: 1;
  background: var(--navy);
  border: 1px solid #fff7;
  color: white;
  padding: 10px 15px;
  font-size: 13px;
}
.property-facts {
  padding: 24px;
  min-width: 0;
}
.property-facts .price {
  font-size: 29px;
  font-weight: 700;
  color: var(--red);
}
.property-facts .btn {
  font-size: 14px;
  min-height: 44px;
  margin-top: 8px;
}
.property-facts .small {
  font-size: 12px;
  margin: 15px 0;
}
.property-detail .facts {
  width: 100%;
}
.property-detail .facts th,
.property-detail .facts td {
  font-size: 14px;
  padding: 11px 9px;
}
.detail-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 8px;
  margin: 30px 0 16px;
}
.detail-tabs a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 56px;
  padding: 12px 16px;
  border: 1px solid var(--gold);
  border-radius: 3px;
  background: #fff;
  color: var(--navy);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  overflow-wrap: anywhere;
  cursor: pointer;
}
.detail-tabs a:hover {
  background: var(--ivory);
  border-color: var(--navy);
}
.detail-tabs a[aria-selected='true'] {
  background: var(--navy);
  color: #fff;
  border-color: var(--navy);
  box-shadow: inset 0 -3px 0 var(--gold);
}
.amenities {
  list-style: none;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  font-size: 15px;
}
.amenities li {
  display: flex;
  align-items: center;
  gap: 8px;
}
.amenities svg {
  width: 20px;
  height: 20px;
  color: var(--gold);
  flex-shrink: 0;
}
.property-detail .note h2 {
  font-size: 18px;
}
.property-detail .note p {
  font-size: 15px;
  margin-top: 8px;
}
.gallery-modal {
  border: 0;
  background: var(--navy);
  color: white;
  width: 92vw;
  max-width: 1300px;
  max-height: 94dvh;
  padding: 40px 50px;
  overflow: hidden;
}
.gallery-modal[open] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.gallery-modal::backdrop,
.mobilemenu::backdrop {
  background: #08131daa;
}
.gallery-modal figure {
  margin: 0;
  min-width: 0;
  text-align: center;
}
.gallery-modal img {
  max-height: 76dvh;
  max-width: 100%;
  object-fit: contain;
}
.gallery-modal figcaption {
  font-size: 15px;
  padding-top: 12px;
}
.gallery-modal button {
  color: white;
  background: none;
  border: 1px solid #fff5;
  min-width: 44px;
  min-height: 44px;
  font-size: 32px;
}
.gallery-modal [data-gallery-close] {
  position: absolute;
  top: 6px;
  right: 6px;
}
.faq-item {
  border-bottom: 1px solid var(--line);
}
.faq-q {
  cursor: pointer;
  list-style: none;
  padding: 17px 0;
  display: flex;
}
.faq-q::-webkit-details-marker {
  display: none;
}
.faq-q:after {
  content: '+' !important;
  margin-left: auto;
  color: var(--navy);
}
details[open] > .faq-q:after {
  content: '−' !important;
}
.faq-a {
  padding-bottom: 20px;
}
.faq-a:empty {
  display: none;
}
.faq-navigation {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}
.faq-navigation .btn {
  min-height: 44px;
}
.faq-navigation .btn:hover {
  background: var(--ivory);
  color: var(--navy);
}
.faq-navigation .btn[aria-current='page'] {
  background: var(--navy);
  border-color: var(--navy);
  color: white;
}
.faq-navigation + .ref-tabs {
  margin-top: 24px;
}
.faq-service-card {
  display: flex;
  flex-direction: column;
  color: var(--ink);
}
.faq-service-card:hover,
.faq-service-card:focus-visible {
  border-color: var(--gold);
  background: var(--ivory);
}
.faq-service-link {
  margin-top: auto;
  padding-top: 16px;
  color: var(--red);
  font-size: 15px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}
@media (max-width: 600px) {
  .faq-navigation {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .faq-service-card {
    grid-column: 1 / -1;
  }
}
.ref-tabs a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  border: 1px solid var(--line);
  padding: 20px;
  min-width: 0;
}
.ref-tabs a > div {
  display: contents;
}
.faq-categories a {
  justify-content: flex-start;
}
.faq-categories a > span {
  min-width: 0;
}
.faq-categories strong,
.faq-categories small {
  display: block;
}
.faq-categories a strong {
  font-size: 18px;
}
.faq-categories small {
  margin-top: 4px;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.6;
}
@media (max-width: 380px) {
  .owner-faq-categories {
    grid-template-columns: minmax(0, 1fr);
  }
}
.rental-faq-hero .hero-copy > .rental-faq-introduction {
  margin-bottom: 12px;
  color: var(--gold);
  font-weight: 700;
}
.owner-faq-hero .hero-copy > p {
  text-wrap: balance;
}
.faq-guide-note {
  padding: 20px 24px;
}
.faq-guide-note p {
  margin: 0 0 14px;
  font-size: 16px;
  line-height: 1.85;
}
.faq-a > p {
  margin: 0 0 16px;
}
#initial-costs {
  scroll-margin-top: 120px;
}
.purchase-support {
  align-self: start;
}
.purchase-support h3,
.purchase-support-flow li > span:nth-child(2) {
  text-wrap: balance;
}
.purchase-support-flow {
  display: grid;
  gap: 22px;
  margin: 24px 0;
  padding: 0;
  list-style: none;
  color: var(--navy);
}
.purchase-support-flow li {
  position: relative;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  min-height: 36px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
}
.purchase-support-icon {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  color: var(--gold);
}
.purchase-support-icon svg {
  width: 28px;
  height: 28px;
}
.purchase-support-arrow {
  position: absolute;
  bottom: -22px;
  left: 0;
  width: 36px;
  height: 22px;
  color: var(--gold);
  font:
    18px/22px Arial,
    sans-serif;
  text-align: center;
}
.purchase-support-fees {
  border-top: 1px solid var(--gold);
  padding-top: 18px;
  color: var(--navy);
  font-size: 16px;
  line-height: 1.8;
}
.faq-consultation {
  margin: 28px 0 32px;
  padding: 28px 32px;
  border-left: 2px solid var(--gold);
  background: var(--ivory);
}
.faq-consultation p:first-child {
  color: var(--navy);
  font-weight: 600;
}
.faq-consultation p {
  margin: 0 0 8px;
}
.faq-consultation .channels {
  max-width: 860px;
  margin-top: 22px;
}
.faq-consultation .btn.wa,
.faq-consultation .btn.line {
  background: transparent;
  border-color: var(--gold);
  color: var(--navy);
}
.faq-consultation .btn.wa:hover,
.faq-consultation .btn.line:hover:not(:disabled) {
  background: white;
}
.related-links > a {
  display: block;
  color: var(--navy);
}
.related-links > a > div {
  display: flex;
  align-items: center;
  gap: 12px;
}
.faq-related-links > a {
  padding: 20px 16px;
  border: 1px solid var(--line);
  background: white;
}
.faq-related-links > a > div {
  gap: 8px;
}
.faq-related-links svg {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}
.faq-related-links strong {
  font-size: 16px;
}
.general-faq-related-links {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.buying-faq-related-links > a,
.general-faq-related-links > a {
  display: flex;
  align-items: center;
}
.buying-faq-related-links strong,
.general-faq-related-links strong {
  text-wrap: balance;
}
.faq-related-links span[aria-hidden] {
  margin-left: auto;
  color: var(--gold);
}
.faq-related-links p {
  margin: 12px 0 0;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.7;
  text-wrap: balance;
}
@media (max-width: 1200px) {
  .faq-related-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 761px) and (max-width: 900px) {
  .faq-consultation .channels .btn {
    gap: 8px;
    font-size: 14px;
  }
}
@media (max-width: 760px) {
  .faq-consultation .channels {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 600px) {
  .faq-consultation,
  .faq-guide-note {
    padding: 20px;
  }
  .faq-related-links {
    grid-template-columns: minmax(0, 1fr);
  }
  .faq-guide-note .btn,
  .rental-faq-hero ~ .section .faq-a .btn {
    width: 100%;
  }
}
.area-card > div {
  position: static;
}
.area-card > div > img {
  position: absolute;
  inset: 0;
}
.area-card > div > div {
  position: absolute;
}
.pillnav a {
  padding: 10px 14px;
  border: 1px solid var(--line);
  background: white;
  font-size: 13px;
  border-radius: 3px;
}
.pillnav a[aria-current] {
  background: var(--red);
  color: white;
  border-color: var(--red);
}
.category-card:hover {
  border-color: var(--gold);
}
.sidebar .popular-item {
  color: var(--ink);
}
.sidebar .search input {
  min-width: 0;
  width: 100%;
}
.sidebar .search .btn {
  padding: 10px;
  min-width: 44px;
  min-height: 44px;
}
.tag-cloud a {
  font-size: 12px;
  background: #f0f0ef;
  padding: 5px 8px;
}
.insight .pad {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.insight {
  display: flex;
  flex-direction: column;
}
.insight .pad > .mt {
  margin-top: auto;
  padding-top: 20px;
}
.insight .meta {
  flex-wrap: wrap;
  gap: 6px;
}
.insight p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.article-main > h1 {
  font-size: 40px;
  overflow-wrap: anywhere;
}
:lang(ja) .article-main > h1 {
  /* Leave room for closing Japanese punctuation at the end of a line. */
  padding-inline-end: 0.5em;
}
.article-main > .imported-content {
  margin-top: 30px;
}
.article-meta-row .share-link {
  background: none;
  border: 1px solid var(--line);
  padding: 8px 12px;
  font-size: 13px;
}
.toc ol {
  columns: 2;
  padding-left: 24px;
}
.toc a:hover {
  text-decoration: underline;
}
.toc h2 {
  font-size: 20px;
}
.toc li {
  break-inside: avoid;
  margin-bottom: 10px;
}
.content-wrap {
  max-width: 1100px;
  margin: auto;
}
.imported-content {
  line-height: 1.95;
  font-size: 17px;
  overflow-wrap: anywhere;
}
.imported-content img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 24px auto;
}
/* Legacy closing tags can create empty paragraphs when the browser repairs imported HTML. */
.reference-detail .imported-content p:empty:not([id]):not([name]) {
  display: none;
}
.imported-content iframe {
  max-width: 100%;
}
.imported-content .article-video {
  width: min(100%, 560px);
  margin: 24px auto;
}
.imported-content .article-video-player {
  position: relative;
  min-height: 200px;
  width: min(100%, 560px);
  margin: 0 auto;
  aspect-ratio: 16 / 9;
  background: var(--navy);
}
.imported-content .article-video-player iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.imported-content .article-video-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 20px;
  margin: 14px 0;
}
.imported-content .article-video-play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  color: white;
  background: var(--navy);
  cursor: pointer;
}
.imported-content .article-video-play[hidden],
.imported-content .article-video-play img[hidden] {
  display: none;
}
.imported-content .article-video-play img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  margin: 0;
  opacity: 0.75;
}
.imported-content .article-video-play-icon {
  position: relative;
  z-index: 1;
  width: 150px;
  aspect-ratio: 1255 / 1075;
  /* Official artwork includes the brand's clear space around the icon. */
  background: url('../icons/youtube-play.png') center / contain no-repeat;
}
.imported-content .article-video-play:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 4px;
}
.imported-content .article-video-reload,
.imported-content .article-video-link {
  color: var(--navy);
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.imported-content .article-video-reload {
  border: 0;
  padding: 4px 0;
  background: transparent;
  cursor: pointer;
}
.imported-content .article-video-reload[hidden] {
  display: none;
}
.imported-content .article-video-reload:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 4px;
}
.reference-detail .imported-content span.note {
  display: block;
  width: fit-content;
  max-width: 100%;
  padding: 8px 12px;
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}
.reference-detail .imported-content span.note + br {
  display: none;
}
/* Legacy WordPress galleries must not inherit the three-photo hero layout. */
.reference-detail .property-panel .imported-content {
  padding: 0;
}
.reference-detail .imported-content .gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: none;
  grid-auto-rows: auto;
  align-items: start;
  gap: 20px;
  max-width: 1120px;
  margin: 24px auto !important;
}
.reference-detail .imported-content .gallery .gallery-item {
  /* Override the imported, ID-scoped 25%/33% widths and float rules. */
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  min-width: 0;
}
.reference-detail .imported-content .gallery .gallery-icon {
  margin: 0;
}
.reference-detail .imported-content .gallery a {
  display: block;
}
.reference-detail .imported-content .gallery img {
  width: 100%;
  height: auto;
  margin: 0;
  object-fit: contain;
  grid-row: auto;
  grid-column: auto;
}
.reference-detail .imported-content .gallery > br,
.reference-detail .imported-content .gallery > p:has(> br[style*='clear: both']:only-child) {
  display: none;
}
@media (max-width: 700px) {
  .reference-detail .imported-content .gallery {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.reference-detail .imported-content .youtube iframe {
  display: block;
  width: min(100%, 560px);
  height: auto;
  aspect-ratio: 16 / 9;
  margin-inline: auto;
}
.imported-content h2 {
  font-size: 29px;
  line-height: 1.55;
  margin: 40px 0 20px;
}
.imported-content h3 {
  font-size: 23px;
  margin: 30px 0 16px;
}
.imported-content p {
  margin: 18px 0;
}
.imported-content ul,
.imported-content ol {
  padding-left: 24px;
}
.imported-content table {
  border-collapse: collapse;
  width: 100%;
  font-size: 15px;
}
.imported-content td,
.imported-content th {
  border: 1px solid var(--line);
  padding: 12px;
}
.imported-content th {
  background: var(--ivory);
}
.table-scroll {
  overflow-x: auto;
  max-width: 100%;
}
.table-scroll table {
  min-width: 540px;
}
/* Override the visa source table's inline colours without changing its content. */
.imported-content--visa table {
  table-layout: fixed;
  min-width: 640px;
  background: var(--white) !important;
  border-color: var(--line) !important;
  line-height: 1.8;
}
.imported-content--visa table td {
  padding: 16px 18px;
  vertical-align: top;
  background: var(--white) !important;
  border-color: var(--line) !important;
  color: var(--ink);
  overflow-wrap: break-word;
}
.imported-content--visa table td span {
  color: inherit !important;
}
.imported-content--visa table tr:nth-child(even) > td {
  background: var(--ivory) !important;
}
.imported-content--visa table tr > td:first-child {
  width: 30%;
  background: var(--ivory) !important;
  color: var(--navy);
  font-weight: 600;
}
.imported-content--visa table tr:first-child > td {
  background: var(--navy) !important;
  border-bottom: 2px solid var(--gold) !important;
  color: var(--white);
  font-weight: 700;
}
/* Updated source tables have semantic headers; keep the first data row readable. */
.imported-content--visa table thead th {
  background: var(--navy) !important;
  border-color: var(--line) !important;
  border-bottom: 2px solid var(--gold) !important;
  color: var(--white) !important;
}
.imported-content--visa table thead + tbody tr:first-child > td {
  background: var(--white) !important;
  border-bottom: 1px solid var(--line) !important;
  color: var(--ink);
  font-weight: 400;
}
.imported-content--visa table thead + tbody tr:first-child > td:first-child {
  background: var(--ivory) !important;
  color: var(--navy);
  font-weight: 600;
}
.imported-content--visa .mm2h-choice-diagram table tr > td:first-child,
.imported-content--visa .mm2h-choice-diagram table thead + tbody tr:first-child > td:first-child {
  width: auto;
  background: var(--white) !important;
  color: var(--ink);
  font-weight: 400;
}
.content-wrap h1 {
  margin-bottom: 28px;
}
.contact-columns input:not([type='checkbox']):not([type='radio']),
.contact-columns textarea {
  width: 100%;
  font-size: 15px;
}
.contact-columns > div > label {
  margin-top: 20px;
}
.contact-columns fieldset {
  margin-top: 20px;
}
.contact-columns legend {
  font-weight: 600;
  font-size: 15px;
  margin-bottom: 10px;
}
.contact-columns .checks label {
  font-size: 14px;
}
.contact-columns .consent {
  display: flex;
  align-items: flex-start;
  font-size: 13px;
}
.contact-columns .consent a,
.contact-privacy a {
  text-decoration: underline;
}
.contact-columns .checks input,
.contact-columns .consent input {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  accent-color: var(--red);
  margin-top: 3px;
}
.contact-columns textarea {
  min-height: 150px;
}
.contact-columns > .contact-column {
  display: flex;
  flex-direction: column;
  gap: 22px;
  min-width: 0;
}
.contact-column > fieldset {
  margin: 0;
}
.contact-field > label {
  display: block;
  margin: 0 0 8px;
  font-weight: 600;
}
.contact-columns .contact-field textarea {
  min-height: 120px;
}
.contact-column .btn {
  margin: 0;
}
.contact-column .contact-message,
.contact-column .contact-submit {
  margin-top: 12px;
}
.contact-columns .contact-message > label {
  margin: 0 0 6px;
}
.contact-privacy {
  margin-top: 24px;
}
.contact-columns label:has(input:disabled) {
  color: var(--muted);
}
.honeypot {
  position: absolute !important;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.form-notice {
  padding: 16px;
  margin: 20px 0;
  border: 1px solid var(--red);
  background: var(--ivory);
  color: var(--red);
  font-size: 15px;
}
.btn.navy {
  background: var(--navy);
  color: white;
}
.contact-method button {
  width: 100%;
}
.mobilemenu {
  margin: 0 0 0 auto;
  border: 0;
  width: min(420px, 100%);
  height: 100dvh;
  max-height: 100dvh;
  max-width: 100%;
  min-height: 0;
  overflow-y: auto;
  padding: 24px;
  color: white;
}
.mobilemenu:not([open]) {
  display: none;
}
.mobile-menu-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.mobile-menu-head button {
  border: 0;
  background: none;
  color: white;
  font-size: 32px;
  min-height: 44px;
  min-width: 44px;
}
.mobilemenu summary {
  cursor: pointer;
  list-style: none;
}
.mobilemenu summary:after {
  content: '›';
  margin-left: auto;
  color: var(--gold);
}
.mobilemenu details[open] > summary:after {
  content: '⌄';
}
.mobile-subnav {
  display: grid;
  gap: 12px;
  padding: 5px 0 18px 18px;
  font-size: 14px;
}
.mobilemenu .minor {
  border: 1px solid var(--gold);
  padding: 18px;
  margin: 22px 0;
}
.mobilemenu .channels .btn {
  font-size: 14px;
  min-height: 44px;
}
.ref-tabs a:hover,
.related-links a:hover {
  border-color: var(--gold);
}
@media (max-width: 1200px) {
  .header .desktop-nav {
    gap: 8px;
  }
  .header .wrap {
    gap: 15px;
  }
  .header .nav-top {
    font-size: 13px;
  }
  .header .logo {
    width: 170px;
  }
  .header .btn {
    padding: 12px 16px;
  }
  .property h3 {
    font-size: 17px;
  }
  .filter-fields {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid.five {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .listing-grid {
    grid-template-columns: 240px minmax(0, 1fr);
  }
  .listing-grid .grid.four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .insights-layout .grid.four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .detail-top {
    grid-template-columns: minmax(0, 1.7fr) minmax(270px, 1fr);
  }
  .detail-top .gallery {
    grid-template-rows: 180px 180px;
  }
  .category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 1100px) {
  .header .desktop-nav {
    display: none;
  }
  .header .mobile-toggle {
    display: block;
    background: none;
    color: white;
    border: 0;
    padding: 8px;
    min-width: 40px;
    min-height: 44px;
  }
}
@media (max-width: 1000px) {
  .header .btn {
    margin-left: auto;
  }
  .listing-grid {
    grid-template-columns: 1fr;
  }
  .filter-vertical .filter-fields {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .filter-vertical .filter-bottom {
    display: flex;
  }
  .detail-top {
    grid-template-columns: 1fr;
  }
  .detail-top .gallery {
    grid-template-rows: 190px 190px;
  }
  .property-facts .facts {
    max-width: 600px;
  }
  .mobilebar {
    display: flex;
  }
  .footer {
    padding-bottom: 100px;
  }
  .insights-layout {
    grid-template-columns: 1fr;
  }
  .sidebar {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
  .sidebar > div {
    margin: 0;
  }
  .gallery-modal {
    padding: 45px 16px;
  }
  .detail-title h1 {
    font-size: 36px;
  }
}
@media (max-width: 800px) {
  .grid.five:has(> .property) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  html {
    scroll-padding-top: 20px;
  }
  .header .wrap {
    gap: 10px;
  }
  .header .brand .logo {
    width: 132px;
  }
  .header .btn {
    font-size: 11px;
    min-height: 42px;
    padding: 10px 12px;
  }
  .header .mobile-toggle {
    min-width: 34px;
    padding: 4px;
  }
  .header .mobile-toggle svg {
    width: 22px;
  }
  .grid.five,
  .grid.five:has(> .property),
  .grid.four:has(> .property),
  .listing-grid .grid.four {
    grid-template-columns: 1fr;
  }
  .filter-fields,
  .filter-vertical .filter-fields {
    grid-template-columns: 1fr 1fr;
    gap: 18px 12px;
  }
  .filter-fields > fieldset {
    grid-column: span 2;
  }
  .filter-fields label,
  .filter-fields legend {
    font-size: 13px;
  }
  .filter-bottom {
    display: grid;
    gap: 14px;
  }
  .filter-vertical .filter-bottom {
    display: grid;
  }
  .filter .btn,
  .filter-vertical .btn {
    width: 100%;
  }
  .sort-form {
    gap: 6px;
  }
  .list-summary {
    gap: 15px;
    align-items: flex-start;
    flex-direction: column;
  }
  .property h3 {
    min-height: 0;
    font-size: 21px;
  }
  .property .price,
  .grid.five .property .price {
    font-size: 24px;
  }
  .property .specs {
    font-size: 13px;
  }
  .detail-top .gallery {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 240px 110px 110px;
  }
  .gallery > button:first-child {
    grid-column: span 2;
    grid-row: 1;
  }
  .detail-title h1 {
    font-size: 30px;
  }
  .detail-tabs a {
    padding: 12px 10px;
    font-size: 14px;
  }
  .property-detail .facts th,
  .property-detail .facts td {
    font-size: 13px;
  }
  .property-facts .price {
    font-size: 26px;
  }
  .property-detail .imported-content {
    padding: 20px;
  }
  .sidebar {
    display: block;
  }
  .sidebar > div {
    margin-bottom: 20px;
  }
  .article-main > h1 {
    font-size: 29px;
  }
  .toc ol {
    columns: 1;
  }
  .category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .category-card strong {
    font-size: 12px;
  }
  .insights-layout .grid.four {
    grid-template-columns: 1fr;
  }
  .insights-layout .insight h3 {
    font-size: 20px;
  }
  .insight .meta {
    font-size: 12px;
  }
  .imported-content {
    font-size: 16px;
  }
  .imported-content h2 {
    font-size: 25px;
  }
  .imported-content h3 {
    font-size: 21px;
  }
  .gallery-modal figure {
    width: 100%;
  }
  .gallery-modal [data-gallery-prev],
  .gallery-modal [data-gallery-next] {
    position: absolute;
    bottom: 10px;
    font-size: 26px;
  }
  .gallery-modal [data-gallery-prev] {
    left: 15px;
  }
  .gallery-modal [data-gallery-next] {
    right: 15px;
  }
  .gallery-modal {
    padding: 50px 8px 55px;
  }
  .gallery-modal img {
    max-height: 65dvh;
  }
  .contact-columns > div > label {
    font-size: 14px;
  }
  .contact-columns .checks {
    grid-template-columns: 1fr 1fr;
  }
  .contact-columns .checks.one {
    grid-template-columns: 1fr;
  }
  .mobilebar .btn {
    width: 50%;
    font-size: 12px;
  }
  .mobilebar {
    gap: 10px;
    padding: 10px 20px calc(10px + env(safe-area-inset-bottom));
  }
  .ref-tabs a {
    padding: 14px 8px;
    gap: 8px;
  }
  .ref-tabs strong {
    font-size: 13px;
  }
  .crumb .wrap {
    line-height: 1.7;
    overflow-wrap: anywhere;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *:before,
  *:after {
    transition: none !important;
    animation: none !important;
  }
}
/* Runtime-only layout corrections confirmed against all Japanese routes. */
.insights-layout > * {
  min-width: 0;
}
.mobilebar {
  display: none;
}
.checks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.checks.one {
  grid-template-columns: 1fr;
}
.contact-columns .checks label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0;
  font-weight: 400;
  line-height: 1.65;
}
.contact-columns .checks input,
.contact-columns .consent input {
  width: 18px;
  height: 18px;
  min-height: 0;
  padding: 0;
  margin: 3px 0 0;
  flex-shrink: 0;
}
.contact-columns .consent {
  gap: 8px;
}
.form-card .contact-columns > div > label:first-child {
  margin-top: 0;
}
@media (max-width: 900px) {
  .klf-v3 main input:not([type='hidden']):not([type='checkbox']):not([type='radio']),
  .klf-v3 main select,
  .klf-v3 main textarea {
    font-size: 16px;
  }
  .contact-columns .checks label {
    min-height: 44px;
    align-items: center;
  }
  .contact-columns .checks input {
    margin-top: 0;
  }
  .contact-columns .checks {
    gap: 8px 12px;
  }
}
@media (max-width: 1000px) {
  .mobilebar {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 35;
    background: var(--navy);
    padding: 8px max(12px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom))
      max(12px, env(safe-area-inset-left));
    gap: 8px;
  }
  .mobilebar .btn {
    flex-direction: column;
    gap: 4px;
    width: 100%;
    min-width: 0;
    min-height: 60px;
    padding: 8px 4px;
    font-size: 12px;
    line-height: 1.2;
    overflow-wrap: anywhere;
  }
  .mobilebar .btn svg {
    width: 24px;
    height: 24px;
    margin: 0;
    flex-shrink: 0;
  }
  .footer {
    padding-bottom: calc(100px + env(safe-area-inset-bottom));
  }
}

.imported-content .wp-caption {
  max-width: 100% !important;
  box-sizing: border-box;
}
.imported-content .wp-caption img {
  max-width: 100%;
  height: auto;
}

/* Currency remains available in the top header on every screen size. */
.header-actions {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}
.header-actions .currency-switcher {
  position: static;
}
.header-actions .header-selector-toggle {
  min-height: 47px;
  min-width: 72px;
  justify-content: center;
  font-size: 14px;
  gap: 8px;
  white-space: nowrap;
}
.header-actions .header-selector-menu {
  top: calc(100% + 8px);
  bottom: auto;
  left: auto;
  right: 0;
  width: min(290px, calc(100vw - 32px));
  max-height: calc(100dvh - 100px);
  overflow-y: auto;
  margin: 0;
}
.header .header-actions > .btn {
  margin-left: 0;
  padding-block: 8px;
  white-space: nowrap;
}
@media (max-width: 1200px) {
  .header-actions {
    gap: 10px;
  }
  .header-actions .header-selector-toggle {
    min-width: 65px;
    padding: 8px;
  }
}
@media (max-width: 1100px) {
  .header-actions {
    margin-left: auto;
  }
}
@media (max-width: 600px) {
  .header .wrap {
    gap: 8px;
  }
  .header .brand .logo {
    width: 120px;
  }
  .header-actions {
    gap: 8px;
  }
  .header-actions .header-selector-toggle {
    min-width: 58px;
    min-height: 42px;
    font-size: 13px;
    padding: 8px 6px;
    gap: 4px;
  }
  .header-actions .header-selector-chevron {
    font-size: 16px;
    width: 16px;
  }
}
@media (max-width: 359px) {
  .header .brand .logo {
    width: 96px;
  }
  .header .mobile-toggle {
    min-width: 28px;
  }
  .header-actions > .btn {
    padding: 10px 8px;
    font-size: 10px;
  }
  .header-actions {
    gap: 6px;
  }
  .header-actions .header-selector-toggle {
    min-width: 54px;
  }
}

/* Selected homepage C: show the room at full brightness, shading the copy area. */
.hero.home-c .hero-image {
  opacity: 1;
  filter: none;
}
.hero.home-c:after {
  background: linear-gradient(
    90deg,
    rgba(8, 19, 29, 0.91) 0%,
    rgba(8, 19, 29, 0.86) 28%,
    rgba(8, 19, 29, 0.8) 43%,
    rgba(8, 19, 29, 0.48) 56%,
    rgba(8, 19, 29, 0.12) 70%,
    rgba(8, 19, 29, 0.02) 100%
  );
}
.hero.home-c h1,
.hero.home-c .hero-copy > p {
  text-shadow: 0 2px 8px rgba(8, 19, 29, 0.2);
}
@media (max-width: 900px) {
  .hero.home .wrap,
  .hero.home-c .wrap {
    min-height: 0;
    align-items: flex-start;
    padding: 32px 0 36px;
  }
  .hero.home-c:after {
    background: linear-gradient(
      180deg,
      rgba(8, 19, 29, 0.78) 0%,
      rgba(8, 19, 29, 0.78) 18%,
      rgba(8, 19, 29, 0.76) 28%,
      rgba(8, 19, 29, 0.78) 52%,
      rgba(8, 19, 29, 0.73) 78%,
      rgba(8, 19, 29, 0.78) 100%
    );
  }
}

@media (min-width: 901px) and (max-width: 1200px) {
  .hero.home-c:after {
    background: linear-gradient(
      90deg,
      rgba(8, 19, 29, 0.91) 0%,
      rgba(8, 19, 29, 0.86) 28%,
      rgba(8, 19, 29, 0.77) 550px,
      rgba(8, 19, 29, 0.12) 76%,
      rgba(8, 19, 29, 0.02) 100%
    );
  }
}
@media (max-width: 359px) {
  .hero.home-c:after {
    background: linear-gradient(
      180deg,
      rgba(8, 19, 29, 0.6) 0%,
      rgba(8, 19, 29, 0.66) 18%,
      rgba(8, 19, 29, 0.78) 28%,
      rgba(8, 19, 29, 0.8) 52%,
      rgba(8, 19, 29, 0.74) 78%,
      rgba(8, 19, 29, 0.78) 100%
    );
  }
}

/* Keep the original area photos bright and labels crisp without a soft halo. */
.areas-strip .area-card:after {
  background: linear-gradient(
    180deg,
    rgba(8, 19, 29, 0) 28%,
    rgba(8, 19, 29, 0.02) 48%,
    rgba(8, 19, 29, 0.25) 75%,
    rgba(8, 19, 29, 0.5) 100%
  );
}
.areas-strip .area-card p,
.areas-strip .area-card h3 {
  text-shadow:
    0 1px 2px #08131d,
    0 0 2px rgba(8, 19, 29, 0.9);
}
.areas-strip .area-card p {
  font-weight: 600;
  letter-spacing: 0.06em;
}

/* Client review: stronger credentials and a wider, uncropped TV feature. */
/* Compact ivory credibility strip from the client's supplied homepage reference. */
.home-credibility {
  padding: 24px 28px;
  background: var(--ivory);
  border: 1px solid var(--line);
}
.home-credibility h2 {
  margin-bottom: 18px;
}
.home-credibility .credibility-grid {
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 2.15fr) minmax(0, 0.9fr) minmax(0, 0.88fr);
  gap: 0;
  align-items: stretch;
}
.home-credibility .credibility-grid > * {
  min-width: 0;
  padding: 8px 20px;
  border-left: 1px solid var(--line);
}
.home-credibility .credibility-grid > :first-child {
  padding-left: 0;
  border-left: 0;
}
.home-credibility .credibility-grid > :last-child {
  padding-right: 0;
}
.home-credibility h3 {
  font-size: 21px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--navy);
  text-wrap: balance;
}
.home-credibility .credibility-experience {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.home-credibility .credibility-experience strong {
  display: flex;
  align-items: baseline;
  gap: 4px;
  font-size: 60px;
  line-height: 1.05;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: -0.035em;
}
.home-credibility .credibility-experience strong span {
  font-size: 16px;
  letter-spacing: 0;
  white-space: nowrap;
}
.home-credibility .credibility-experience h3 {
  margin-top: 10px;
}
.home-credibility .credibility-experience p {
  font-size: 13px;
  margin-top: 5px;
  line-height: 1.8;
  text-wrap: balance;
}
.home-credibility .credibility-broadcast {
  display: grid;
  grid-template-columns: minmax(155px, 0.8fr) minmax(0, 1.25fr);
  gap: 18px;
  align-items: center;
}
.home-credibility .credibility-broadcast h3 {
  font-size: 20px;
  white-space: pre-line;
}
.home-credibility .bstbs-logo {
  display: block;
  width: 125px;
  max-width: 100%;
  height: auto;
  margin: 12px 0;
  object-fit: contain;
  filter: none;
}
.bstbs-logo > svg {
  display: block;
  width: 100%;
  height: auto;
  stroke: none;
  shape-rendering: geometricPrecision;
}
.home-credibility .credibility-broadcast-copy p {
  font-size: 13px;
  line-height: 1.8;
  margin: 0 0 10px;
}
.home-credibility .credibility-broadcast-copy .link {
  display: inline-block;
  font-size: 13px;
  line-height: 1.7;
}
.home-credibility .credibility-photo {
  display: block;
  align-self: center;
}
.home-credibility .credibility-media {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: 1280/700;
  object-fit: contain;
  float: none;
  margin: 0;
}
.home-credibility .credibility-corporate,
.home-credibility .credibility-clients {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.home-credibility .credibility-corporate p {
  font-size: 13px;
  margin-top: 10px;
  line-height: 1.8;
}
.home-credibility .corporate-logos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  justify-items: center;
  width: 100%;
  gap: 12px;
}
.home-credibility .corporate-logos img {
  width: 100%;
  max-width: 134px;
  height: auto;
  max-height: none;
  aspect-ratio: 1;
  object-fit: contain;
  filter: none;
}
.home-credibility .credibility-clients .caption {
  font-size: 11px;
  line-height: 1.7;
  margin-top: 16px;
  text-align: center;
}
@media (max-width: 1100px) {
  .home-credibility .credibility-grid {
    grid-template-columns: 175px minmax(0, 1fr);
    row-gap: 20px;
  }
  .home-credibility .credibility-broadcast {
    padding-right: 0;
  }
  .home-credibility .credibility-corporate {
    padding-left: 0;
    border-left: 0;
  }
  .home-credibility .credibility-corporate,
  .home-credibility .credibility-clients {
    border-top: 1px solid var(--line);
    padding-top: 20px;
  }
  .home-credibility .credibility-clients {
    align-items: center;
  }
  .home-credibility .corporate-logos {
    width: 260px;
    max-width: 100%;
    gap: 24px;
  }
}
@media (max-width: 700px) {
  .home-credibility {
    padding: 20px;
  }
  .home-credibility .credibility-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .home-credibility .credibility-grid > * {
    border-left: 0;
    border-top: 1px solid var(--line);
    padding: 18px 0 0;
  }
  .home-credibility .credibility-grid > :first-child {
    border-top: 0;
    padding-top: 0;
  }
  .home-credibility .credibility-experience {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 22px;
  }
  .home-credibility .credibility-experience strong {
    font-size: 60px;
    flex-shrink: 0;
  }
  .home-credibility .credibility-experience strong span {
    font-size: 14px;
  }
  .home-credibility .credibility-experience h3 {
    font-size: 21px;
    margin: 0;
  }
  .home-credibility .credibility-experience p {
    font-size: 12px;
  }
  .home-credibility .credibility-broadcast {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .home-credibility .credibility-broadcast h3 {
    font-size: 21px;
  }
  .home-credibility .bstbs-logo {
    width: 125px;
  }
  .home-credibility .credibility-corporate h3 {
    font-size: 21px;
  }
  .home-credibility .credibility-clients {
    border-top: 0;
    padding-top: 0;
    align-items: flex-start;
  }
  .home-credibility .corporate-logos {
    width: 292px;
  }
  .home-credibility .credibility-clients .caption {
    text-align: left;
    margin-top: 10px;
  }
}
@media (max-width: 359px) {
  .home-credibility .credibility-experience {
    gap: 14px;
  }
  .home-credibility .credibility-experience strong {
    font-size: 54px;
  }
  .home-credibility .credibility-experience strong span {
    font-size: 12px;
  }
  .home-credibility .credibility-experience h3 {
    font-size: 18px;
  }
  .home-credibility .credibility-experience p {
    font-size: 11px;
  }
}

.rental-detail .rent-period {
  margin: -12px 0 16px;
  font-size: 12px;
}
.rental-detail .property-facts .facts th {
  width: 42%;
  white-space: nowrap;
}
.rental-detail .property-panel .unit-note {
  font-size: 13px;
  margin: 0 0 10px;
}
.rental-unit {
  border: 1px solid var(--line);
  padding: 9px 10px;
}
.rental-unit h3 {
  font:
    600 14px / 1.5 'Hiragino Sans',
    Arial,
    sans-serif;
  margin: 0;
}
.rental-detail .rental-unit p {
  margin: 2px 0 0;
  font-size: 14px;
}
.rental-detail #property-features > section {
  margin-top: 28px;
}
.rental-detail #property-features .facts {
  margin-bottom: 20px;
}
.rental-detail .rental-units {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.rental-units > h2,
.rental-units > p {
  grid-column: 1 / -1;
}
/* Shared property detail: compact reference gallery, facts and overview. */
.reference-detail {
  padding: 50px 0 30px;
}
.reference-detail .detail-title {
  padding: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}
.reference-detail h1 {
  font-size: 38px;
  line-height: 1.3;
  margin: 0 0 8px;
}
.property-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  font-size: 15px;
}
.property-tag {
  padding: 3px 9px;
  border: 1px solid var(--gold);
  background: var(--ivory);
  color: var(--navy);
  font-size: 12px;
}
.property-share {
  background: white;
  border: 1px solid var(--line);
  padding: 9px 12px;
  min-height: 40px;
  white-space: nowrap;
  font-size: 13px;
}
.reference-detail .detail-top {
  grid-template-columns: minmax(0, 2.5fr) minmax(280px, 1fr);
  gap: 22px;
  margin: 22px 0 20px;
  align-items: start;
}
.reference-detail .detail-top .gallery {
  grid-template-columns: 1.1fr 1fr;
  grid-template-rows: repeat(2, clamp(136px, 11vw, 176px));
  gap: 8px;
}
.reference-detail .gallery > button:first-child {
  grid-row: span 2;
}
.reference-detail .gallery:not(:has(> [data-gallery-index='1'])) > [data-gallery-index='0'] {
  grid-column: 1 / -1;
}
.reference-detail .gallery:not(:has(> [data-gallery-index='2'])) > [data-gallery-index='1'] {
  grid-row: span 2;
}
.reference-detail .gallery .gallery-all {
  font-size: 11px;
  padding: 6px 9px;
  min-height: 32px;
  bottom: 10px;
  left: 10px;
  background: #08131ddd;
}
@media (max-width: 900px) {
  .reference-detail .gallery .gallery-all {
    min-height: 44px;
    font-size: 12px;
  }
}
.reference-detail .property-facts {
  padding: 18px 20px 20px;
}
.reference-detail .property-facts .price {
  font-size: 34px;
  font-family: Georgia, 'Times New Roman', serif;
  line-height: 1.35;
  margin-bottom: 16px;
}
.reference-detail .property-facts:has(.property-yield) .price {
  margin-bottom: 8px;
}
.reference-detail .property-yield {
  margin: 0 0 18px;
  font-size: 13px;
}
.reference-detail .facts th,
.reference-detail .facts td {
  font-size: 13px;
  padding: 7px 6px;
  background: transparent;
  line-height: 1.6;
  font-weight: 400;
  vertical-align: top;
}
.reference-detail .facts th {
  width: 36%;
}
.reference-detail .property-channels {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}
.reference-detail .property-channels .btn {
  margin: 0;
  min-height: 38px;
  padding: 9px 8px;
  font-size: 13px;
}
.reference-detail .btn.wa,
.reference-detail .btn.line {
  background: var(--navy);
  color: white;
}
.reference-detail .property-comment {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  border: 1px solid var(--line);
  background: var(--ivory);
  padding: 18px 20px;
}
.property-comment > svg {
  flex: 0 0 18px;
  width: 18px;
  height: 24px;
  color: var(--gold);
}
.reference-detail .property-comment h2 {
  font:
    700 18px / 1.5 'Hiragino Sans',
    Arial,
    sans-serif;
  margin: 0;
}
.reference-detail .property-comment p {
  font-size: 14px;
  margin: 6px 0 0;
}
.reference-detail .detail-tabs {
  margin: 24px 0 12px;
}
.reference-detail .property-panel {
  border: 1px solid var(--line);
  padding: 18px;
  scroll-margin-top: 110px;
}
.reference-detail .property-panel + .property-panel {
  margin-top: 20px;
}
.reference-detail [role='tabpanel'] + [role='tabpanel'] {
  margin-top: 0;
}
.reference-detail .property-panel[hidden] {
  display: none;
}
.reference-detail .property-panel h2 {
  font:
    700 16px / 1.6 'Hiragino Sans',
    Arial,
    sans-serif;
  margin: 0 0 12px;
}
.reference-detail .property-panel p {
  font-size: 14px;
}
.reference-detail .property-summary {
  display: grid;
  grid-template-columns: 1.25fr 0.95fr 1fr;
  gap: 22px;
}
.property-summary > div {
  min-width: 0;
}
.reference-detail .amenities {
  font-size: 13px;
  gap: 16px 12px;
  margin: 0;
}
.reference-detail #property-features .amenities {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 24px;
}
.property-nearby {
  margin: 0;
  font-size: 13px;
}
.property-nearby > div {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
}
.property-nearby dt {
  min-width: 0;
}
.property-nearby dd {
  margin: 0;
  white-space: nowrap;
}
.reference-detail .property-panel .nearby-note {
  font-size: 11px;
  margin: 12px 0 0;
}
.reference-detail #property-access .property-nearby {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 40px;
}
.reference-detail .nearby-more {
  display: inline-block;
  margin-top: 12px;
  font-size: 12px;
}
.reference-detail #property-support p {
  margin: 0 0 20px;
}
.reference-detail .property-caption {
  font-size: 11px;
  margin: 8px 0 22px;
}
.reference-detail .property-comparison {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 2fr);
  gap: 20px;
  padding: 20px;
  background: var(--ivory);
}
.property-comparison h2 {
  font:
    700 18px / 1.6 'Hiragino Sans',
    Arial,
    sans-serif;
  margin: 0 0 6px;
}
.property-comparison p {
  font-size: 13px;
  margin: 0;
}
.comparison-channels {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 10px;
  align-items: stretch;
}
.reference-detail .comparison-channels .btn {
  min-width: 0;
  min-height: 44px;
  padding: 9px 10px;
  font-size: 12px;
  text-align: center;
}
.reference-detail .comparison-channels .btn svg {
  flex-shrink: 0;
}
@media (min-width: 1101px) {
  body:has(.reference-detail) .wrap {
    width: calc(100% - 100px);
    max-width: 1340px;
  }
  body:has(.reference-detail) .crumb {
    padding: 9px 0;
    font-size: 12px;
  }
  body:has(.reference-detail) .footer a,
  body:has(.reference-detail) .footer .address,
  body:has(.reference-detail) .footer-bottom p {
    font-size: 12px;
  }
}
@media (max-width: 1100px) {
  .reference-detail .detail-top {
    grid-template-columns: minmax(0, 1.5fr) minmax(270px, 1fr);
  }
  .reference-detail .detail-top .gallery {
    grid-template-rows: 150px 150px;
    grid-template-columns: 1fr 1fr;
  }
  .reference-detail .property-summary {
    grid-template-columns: 1fr 1fr;
  }
  .property-summary > :last-child {
    grid-column: 1 / -1;
  }
  .reference-detail .property-comparison {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 700px) {
  .rental-detail .rental-units {
    grid-template-columns: 1fr;
  }
  .reference-detail #property-access .property-nearby {
    grid-template-columns: 1fr;
  }
  .reference-detail {
    padding: 28px 0;
  }
  .reference-detail h1 {
    font-size: 30px;
  }
  .reference-detail .detail-title {
    align-items: flex-start;
    gap: 12px;
  }
  .property-meta {
    gap: 6px 10px;
    font-size: 13px;
  }
  .property-share {
    font-size: 12px;
    padding: 8px;
  }
  .reference-detail .detail-top {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .reference-detail .detail-top .gallery {
    grid-template-rows: 116px 116px;
    min-height: 0;
  }
  .reference-detail .property-comment {
    gap: 12px;
    padding: 18px 14px;
  }
  .reference-detail .property-summary {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .detail-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .detail-tabs a {
    min-height: 64px;
  }
  .reference-detail #property-features .amenities {
    grid-template-columns: 1fr 1fr;
  }
  .comparison-channels {
    grid-template-columns: 1fr;
  }
  .reference-detail .comparison-channels .btn {
    font-size: 13px;
  }
}

/* Rental listings share the sale layout while retaining all five rental filters. */
@media (min-width: 1256px) {
  .rental-filter .filter-fields {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
@media (min-width: 1101px) and (max-width: 1255px) {
  .rental-filter .filter-fields {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.rental-property .price small {
  font-family: Arial, sans-serif;
  font-size: 12px;
  font-weight: 400;
  white-space: nowrap;
}

/* Area Guide: aligned editorial cards and an accessible comparison table. */
.area-guide-section .area-guide-cards {
  gap: 16px;
  align-items: stretch;
}
.area-guide-cards .area-longcard {
  display: flex;
  flex-direction: column;
}
.area-guide-cards .area-longcard > img {
  height: auto;
  aspect-ratio: 1.34;
  object-fit: cover;
}
.area-guide-cards .area-longcard .pad {
  display: grid;
  grid-template-rows: 2.8em 1fr minmax(108px, auto) auto;
  gap: 12px;
  flex: 1;
  padding: 16px;
}
.area-guide-cards .area-longcard h3 {
  align-self: center;
  margin: 0;
  font-size: 20px;
  line-height: 1.4;
}
.area-guide-cards .area-longcard p {
  margin: 0;
  font-size: 15px;
  line-height: 1.8;
}
.area-guide-cards .area-longcard .suitable {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 10px;
  font-size: 13px;
  line-height: 1.7;
}
.area-guide-cards .suitable br {
  display: none;
}
.area-guide-cards .suitable strong {
  margin-bottom: 4px;
}
.area-guide-cards .area-longcard .btn {
  margin-top: 0;
  padding: 10px 6px;
  font-size: 13px;
}
.area-guide-section .note {
  margin: 0;
}
.area-comparison-scroll {
  overflow-x: auto;
  overscroll-behavior-x: contain;
}
.area-comparison-scroll .area-comparison {
  table-layout: fixed;
  min-width: 920px;
}
.area-comparison th,
.area-comparison td {
  padding: 18px 14px;
  vertical-align: top;
  font-size: 14px;
  line-height: 1.8;
}
.area-comparison thead th {
  vertical-align: middle;
  font-weight: 600;
}
.area-comparison th:first-child {
  width: 14%;
}
.area-comparison tbody th {
  color: var(--navy);
  background: var(--ivory);
  font-weight: 600;
  border-bottom: 1px solid var(--line);
}
.area-comparison tbody tr:last-child td {
  background: #f8f5ef66;
}
.area-property-split {
  gap: 28px;
  align-items: stretch;
}
.area-property-split > img {
  height: 100%;
  min-height: 300px;
  max-height: 480px;
}
.area-perspective-heading {
  margin: 0;
  font-size: 23px;
  line-height: 1.6;
}
.area-property-split > div > p {
  margin: 16px 0 0;
  font-size: 15px;
  line-height: 1.9;
}
.area-property-split .related-links {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 24px;
}
.area-property-split .related-links > a {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  border: 1px solid var(--line);
  padding: 14px 10px;
}
.area-perspective-links > a > div {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.area-perspective-links > a > div > svg {
  width: 20px;
  height: 20px;
}
.area-perspective-links > a > div > span {
  margin-left: auto;
  color: var(--gold);
}
.area-property-split .area-perspective-links p {
  margin: 10px 0 0;
  font-size: 12px;
  line-height: 1.8;
  font-weight: 400;
}
.area-property-split .related-links strong {
  font-size: 14px;
  line-height: 1.7;
}
@media (max-width: 1000px) {
  .area-guide-cards .area-longcard .pad {
    grid-template-rows: auto 1fr minmax(100px, auto) auto;
  }
  .area-property-split {
    grid-template-columns: 1fr;
  }
  .area-property-split > img {
    height: auto;
    min-height: 0;
    aspect-ratio: 1.8;
  }
}
@media (max-width: 700px) {
  .area-guide-section .area-guide-cards {
    grid-template-columns: 1fr;
  }
  .area-guide-cards .area-longcard .pad {
    grid-template-rows: auto auto auto auto;
    padding: 20px;
  }
  .area-guide-cards .area-longcard > img {
    aspect-ratio: 1.6;
  }
  .area-guide-cards .area-longcard h3 {
    font-size: 21px;
  }
  .area-guide-cards .area-longcard .suitable {
    padding: 14px;
  }
  .area-comparison-scroll .area-comparison {
    min-width: 900px;
  }
  .area-property-split .related-links {
    grid-template-columns: 1fr;
  }
  .area-perspective-heading {
    font-size: 21px;
  }
}

/* Original representative message and photograph, within the shared Company frame. */
.company-representative {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 400px);
  align-items: start;
  gap: clamp(28px, 4vw, 56px);
}
.company-greeting-copy p {
  margin: 0 0 24px;
  font-size: 18px;
  line-height: 2;
}
.company-greeting-copy p:last-child {
  margin-bottom: 0;
}
.company-representative-card {
  min-width: 0;
  padding: 24px;
  border: 1px solid var(--line);
  background: var(--ivory);
}
.company-representative-card img {
  display: block;
  width: 100%;
  max-width: 466px;
  height: auto;
  margin: 0 auto 24px;
}
.company-representative-card h3 {
  margin: 0 0 12px;
}
.company-representative-card p {
  margin: 0;
  font-size: 16px;
  line-height: 1.9;
}
@media (max-width: 900px) {
  .company-representative {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 600px) {
  .company-greeting-copy p {
    font-size: 16px;
  }
  .company-representative-card {
    padding: 20px;
  }
  .company-facts .facts td {
    overflow-wrap: anywhere;
  }
}

/* Company keeps its three trust cards with the homepage's larger broadcast media. */
.company-trust > .card {
  flex-direction: column;
  gap: 14px;
}
.company-trust-heading {
  display: flex;
  align-items: center;
  gap: 12px;
}
.company-trust-heading .icon {
  flex: 0 0 35px;
  margin: 0;
}
.company-trust-heading h3 {
  margin: 0;
  text-wrap: balance;
}
.company-trust p {
  margin: 0;
}
.company-trust .corporate-logos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  justify-items: center;
  flex: 1;
  gap: 24px;
  min-height: 170px;
  width: 100%;
}
.company-trust .corporate-logos img {
  width: 100%;
  max-width: 134px;
  height: auto;
  max-height: none;
  object-fit: contain;
  filter: none;
}
.company-trust .bstbs-logo {
  display: block;
  width: 125px;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  filter: none;
}
.company-trust .company-broadcast .credibility-media {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: 1280 / 700;
  object-fit: contain;
  float: none;
  margin: 0;
}
.company-services .card > div {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  min-width: 0;
}
.company-services p {
  text-wrap: balance;
}
.company-services .link {
  align-self: flex-start;
  margin-top: auto;
}

/* Preserve the reference photo row when Strengths descriptions wrap. */
.strengths-process > .card {
  display: flex;
  flex-direction: column;
}
.strengths-process > .card > .pad {
  flex: 1;
}
.strength-lifecycle {
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
  align-items: stretch;
}
.strength-lifecycle > .note {
  margin: 0;
}

/* Management reference: expanded service copy and clear next steps. */
.management-intro {
  margin-top: 18px;
  max-width: 730px;
  font-size: 17px;
  line-height: 1.85;
  color: white;
}
.management-intro p + p {
  margin-top: 10px;
}
.management-services > .card {
  display: flex;
  flex-direction: column;
}
.management-services .pad {
  flex: 1;
}
.management-service-list {
  margin: 14px 0 0;
  padding-left: 1.1em;
  font-size: 15px;
  line-height: 1.9;
}
.management-service-list li::marker {
  color: var(--gold);
}
/* Keep this flow independent of the legacy step-count grid rules. */
.management-steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}
.management-steps > .step {
  position: relative;
  padding: 20px;
  border: 0;
  background: var(--ivory);
  text-align: left;
}
.management-steps > .step:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 36px;
  right: -16px;
  width: 16px;
  height: 1px;
  background: var(--gold);
}
.management-step-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}
.management-step-heading .num {
  display: grid;
  place-items: center;
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  margin: 0;
  background: var(--navy);
  color: white;
  font:
    500 14px/1 Arial,
    sans-serif;
  font-variant-numeric: lining-nums tabular-nums;
  letter-spacing: 0;
}
.management-step-heading svg {
  width: 32px;
  height: 32px;
  color: var(--gold);
}
.management-steps h3 {
  font-size: 16px;
  margin: 0 0 8px;
}
.management-steps p {
  margin: 0;
  font-size: 13px;
  line-height: 1.8;
}
@media (max-width: 900px) {
  .management-steps {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .management-steps > .step {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    column-gap: 20px;
    row-gap: 6px;
    padding: 20px;
  }
  .management-steps > .step:not(:last-child)::after {
    top: 100%;
    left: 49px;
    right: auto;
    width: 1px;
    height: 12px;
  }
  .management-step-heading {
    grid-row: 1 / span 2;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    margin: 0;
  }
  .management-steps h3 {
    align-self: end;
    margin: 0;
  }
  .management-steps p {
    margin: 0;
  }
}
.management-fees .management-placement-fee .bigprice {
  margin-top: 10px;
  font-family: inherit;
  font-size: 27px;
  line-height: 1.6;
}
.management-placement-fee .bigprice small {
  font-size: 20px;
}
.management-aftercare > img {
  width: 100%;
  height: 100%;
  min-height: 340px;
  max-height: 560px;
  object-fit: cover;
}
.management-aftercare > div > p {
  font-size: 16px;
  line-height: 1.85;
}
.management-paths {
  gap: 16px;
}
.management-path {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 18px;
}
.management-path:hover,
.management-path:focus-visible {
  border-color: var(--gold);
}
.management-path .icon {
  margin: 0;
}
.management-path h3 {
  font-size: 18px;
}
.management-path p.small {
  margin: 0;
  font-size: 14px;
  line-height: 1.8;
}
.management-path .link {
  align-self: flex-start;
  margin-top: auto;
  gap: 8px;
}
.management-consultation .channels {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.management-consultation .btn {
  padding: 11px 8px;
  font-size: 12px;
  gap: 6px;
}
.management-consultation .btn svg {
  width: 18px;
  height: 18px;
}
@media (max-width: 1000px) {
  .management-services.grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .management-fees {
    grid-template-columns: 1fr;
  }
  .management-aftercare,
  .management-section .side-by-faq {
    grid-template-columns: 1fr;
  }
  .management-aftercare > img {
    height: auto;
    min-height: 0;
    max-height: 380px;
    aspect-ratio: 1.8;
  }
}
@media (max-width: 640px) {
  .management-intro {
    font-size: 16px;
  }
  .management-services.grid,
  .management-paths,
  .management-consultation .channels {
    grid-template-columns: 1fr;
  }
  .management-consultation .btn {
    font-size: 14px;
  }
}
.case-nav > a {
  min-width: 0;
  gap: 16px;
  color: var(--navy);
  background: white;
  transition:
    background-color 0.2s ease,
    box-shadow 0.2s ease;
}

.case-nav > a:last-child {
  border-right: 0;
}

.case-nav > a:focus-visible {
  background: var(--ivory);
  box-shadow: inset 0 -3px 0 var(--gold);
  outline-offset: -3px;
}

@media (hover: hover) {
  .case-nav > a:hover {
    background: var(--ivory);
    box-shadow: inset 0 -3px 0 var(--gold);
  }
}

.case-nav-label {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.case-nav-label > span {
  color: var(--gold);
  font-size: 18px;
  font-weight: 400;
}

@media (max-width: 900px) {
  .case-nav > a {
    gap: 10px;
    font-size: 20px;
  }
}

@media (max-width: 640px) {
  .case-nav > a {
    flex-direction: column;
    gap: 8px;
    padding: 14px 6px;
    font-size: 14px;
  }

  .case-nav-label {
    gap: 6px;
  }

  .case-nav-label > span {
    font-size: 15px;
  }
}

.case-nav {
  grid-template-columns: repeat(var(--case-category-count, 3), minmax(0, 1fr));
}

.client-case-section + .client-case-section {
  padding-top: 12px;
}

.client-case-no-image {
  grid-template-columns: 1fr;
}

.client-case-feedback {
  margin: 0;
  padding: 12px 16px;
  border-inline-start: 2px solid var(--gold);
  background: var(--ivory);
}

.client-case-feedback p {
  margin: 0;
}

.client-cases-closing {
  grid-template-columns: 1fr 2fr;
}

.client-cases-links {
  min-width: 0;
}

.client-cases-links .related-links {
  grid-template-columns: repeat(3, 1fr);
}

.client-cases-links .related-links > a {
  padding: 16px 12px;
  border: 1px solid var(--line);
  background: white;
  font-size: 13px;
}

.client-cases-strengths {
  margin-top: 16px;
}

@media (max-width: 900px) {
  .client-cases-closing {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .client-cases-links .related-links {
    grid-template-columns: 1fr;
  }
}
.rental-guide-hero .wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 40px;
  align-items: center;
}
.rental-guide-hero.hero .hero-copy {
  max-width: 770px;
  min-width: 0;
}
.rental-guide-hero .floating-trust {
  position: static;
}
.tour-hero--orientation .wrap {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: clamp(32px, 4vw, 64px);
  align-items: stretch;
}
.tour-hero--orientation .hero-copy {
  width: 100%;
  max-width: none;
  min-width: 0;
}
.tour-hero--orientation .tour-hero-description {
  font-size: 17px;
  line-height: 1.85;
}
.tour-hero--orientation .floating-trust {
  position: static;
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  width: 100%;
  min-width: 0;
  padding: clamp(20px, 2vw, 32px);
}
.tour-hero--orientation .floating-trust > div {
  align-items: center;
  gap: 16px;
  padding: 20px 0;
}
.tour-hero--orientation .floating-trust > div > div {
  min-width: 0;
}
.tour-hero--orientation .floating-trust strong,
.tour-hero--orientation .floating-trust span {
  display: block;
}
.tour-hero--orientation .floating-trust strong {
  font-size: 20px;
  line-height: 1.6;
}
.tour-hero--orientation .floating-trust span {
  margin-top: 8px;
  font-size: 16px;
  line-height: 1.7;
}
.tour-hero--orientation .floating-trust svg {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
}
.tour-plans > .card {
  display: flex;
  flex-direction: column;
}
.tour-plans ul {
  flex: 1;
}
.tour-plans .bigprice small {
  display: block;
  font-family: Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
}
.tour-plan-footnotes {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 18px;
  margin-top: 18px;
  align-items: start;
}
.tour-notes ul {
  margin: 0;
  padding-left: 1.2em;
}
.tour-notes li + li {
  margin-top: 8px;
}
.tour-plan-help {
  text-align: center;
}
.tour-plan-help p {
  margin: 0 0 14px;
  font-size: 14px;
  line-height: 1.8;
}
.tour-plan-help .btn {
  width: 100%;
  gap: 10px;
}
.tour-recommend > .grid > .card,
.tour-recommend > .grid > .card > .pad {
  display: flex;
  flex-direction: column;
}
.tour-recommend > .grid > .card > .pad {
  flex: 1;
}
.tour-recommend .pad > .link {
  align-self: flex-start;
  margin-top: auto;
}
.tour-related-services h3 {
  color: inherit;
}
.tour-related-services a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  text-decoration: underline;
  text-decoration-color: var(--gold);
  text-underline-offset: 5px;
}
.tour-consultation .channels {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.tour-consultation .channels > a:first-child {
  grid-column: 1 / -1;
}
@media (max-width: 1100px) {
  .tour-hero--orientation .wrap {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  .tour-hero--orientation .floating-trust {
    grid-template-rows: none;
  }
}
@media (max-width: 900px) {
  .rental-guide-hero .wrap {
    display: block;
  }
  .rental-guide-hero.hero .hero-copy {
    max-width: 100%;
  }
  .rental-guide-hero .floating-trust {
    position: static;
    display: block;
    width: 100%;
    margin-top: 24px;
  }
  .tour-plan-footnotes {
    grid-template-columns: 1fr;
  }
}
.column-categories {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.rental-guide-section .rental-types > div > .grid {
  height: 100%;
}
.rental-selection-points > .card,
.rental-guide-section .rental-types .grid > .card {
  display: flex;
  flex-direction: column;
}
.rental-selection-points > .card > .pad {
  flex: 1;
}
.rental-selection-points > .card > .card-bottom-photo {
  height: auto;
  aspect-ratio: 16 / 9;
}
.rental-selection-points .rental-neighbourhood-photo {
  object-position: center 20%;
}
.japanese-support-section .mini-cta .channels {
  grid-template-columns: minmax(0, 1fr);
}
.rental-guide-section .rental-types .grid > .card > .card-bottom-photo {
  flex: 1;
  min-height: 160px;
}
@media (min-width: 901px) {
  .rental-guide-section .rental-types > div > .grid {
    grid-template-rows: auto minmax(160px, 1fr);
  }
  .rental-guide-section .rental-types .grid > .card {
    display: grid;
    grid-row: span 2;
    grid-template-rows: subgrid;
    row-gap: 0;
  }
  .rental-guide-section .rental-types .grid > .card > .card-bottom-photo {
    height: 100%;
  }
}
.rental-guide-section .area-list-item {
  margin: 0;
}
.rental-guide-section .area-list-item:last-of-type {
  margin-bottom: 16px;
}
.rental-guide-section .area-list-item strong,
.rental-guide-section .area-list-item span {
  display: block;
}
.rental-guide-section .area-list-item span {
  margin-top: 6px;
}
.rental-support-list {
  padding-left: 1.25em;
  margin: 16px 0;
}
.rental-support-list li + li {
  margin-top: 6px;
}
.rental-support-list li::marker {
  color: var(--gold);
}
@media (max-width: 640px) {
  .column-categories {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.buying-guide-hero .hero-copy > .buying-guide-lead {
  margin-bottom: 12px;
  color: var(--gold);
  font-weight: 700;
}
.buying-guide-hero .hero-copy > .buying-guide-introduction {
  max-width: 630px;
  font-size: 17px;
  line-height: 1.85;
}
.buying-guide-credibility {
  padding: 14px 8px;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 5px 20px rgb(8 19 29 / 4%);
}
.buying-guide-credibility .grid > div,
.buying-guide-credibility .grid > div:first-child {
  padding: 8px 24px;
}
.buying-guide-credibility svg {
  flex: 0 0 38px;
}
.buying-guide-credibility p {
  margin: 0;
  font-weight: 600;
  line-height: 1.6;
}
.buying-guide-criteria {
  gap: 0;
  padding: 24px 0;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 5px 20px rgb(8 19 29 / 4%);
}
.buying-guide-criteria > div {
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 0 30px;
}
.buying-guide-criteria > div + div {
  border-left: 1px solid var(--line);
}
.buying-guide-criteria svg {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  color: var(--gold);
}
.buying-guide-criteria h3 {
  margin-bottom: 8px;
  font-size: 20px;
}
.buying-guide-criteria p {
  margin: 0;
  font-size: 16px;
  line-height: 1.7;
}
.buying-guide-knowledge > .card {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 28px 24px;
  border-radius: 5px;
  text-align: center;
  box-shadow: 0 5px 18px rgb(8 19 29 / 4%);
}
.buying-guide-knowledge .icon {
  margin: 0 auto 16px;
}
.buying-guide-knowledge .icon svg {
  width: 42px;
  height: 42px;
}
.buying-guide-knowledge h3 {
  font-size: 20px;
}
.buying-guide-knowledge .link {
  margin-top: auto;
  font-size: 15px;
}
.buying-guide-steps {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 24px;
  margin: 26px 0 30px;
  padding: 0;
  list-style: none;
}
.buying-guide-steps li {
  position: relative;
  text-align: center;
}
.buying-guide-steps .num {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  margin: 0 auto 12px;
  border-radius: 50%;
  background: var(--navy);
  color: white;
  font:
    18px/1 Arial,
    sans-serif;
  font-variant-numeric: lining-nums tabular-nums;
}
.buying-guide-steps h3,
.buying-guide-steps p {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.7;
}
.buying-guide-steps li:not(:last-child)::after,
.buying-guide-support-items li:not(:last-child)::after {
  position: absolute;
  content: '→';
  right: -21px;
  top: 48px;
  color: var(--gold);
  font:
    20px/1 Arial,
    sans-serif;
}
.buying-guide-support {
  overflow: hidden;
  border: 1px solid var(--gold);
  border-radius: 5px;
  background: white;
}
.buying-guide-support-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 12px;
  padding: 24px 26px 0;
}
.buying-guide-support-heading h3 {
  margin: 0;
  font-size: 25px;
}
.buying-guide-fee {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  margin: 0;
  color: var(--ink);
  font-size: 17px;
}
.buying-guide-fee strong {
  color: var(--gold);
  font:
    700 40px/1.1 Georgia,
    serif;
}
.buying-guide-support-items {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 24px;
  margin: 24px 26px;
  padding: 0;
  list-style: none;
}
.buying-guide-support-items li {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 600;
}
.buying-guide-support-items svg {
  width: 38px;
  height: 38px;
  color: var(--gold);
}
.buying-guide-support-items li:not(:last-child)::after {
  top: 13px;
}
.buying-guide-support-note {
  margin: 0;
  padding: 18px 26px;
  background: var(--ivory);
  font-size: 14px;
  line-height: 1.8;
}
.buying-guide-areas nav {
  display: grid;
}
.buying-guide-areas nav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 48px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  font-size: 15px;
  line-height: 1.6;
}
.buying-guide-areas nav a:last-child {
  border-bottom: 0;
}
.buying-guide-areas nav svg {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  color: var(--gold);
  transform: rotate(-90deg);
}
.buying-guide-areas nav a:hover {
  color: var(--gold);
}
@media (max-width: 1100px) {
  .buying-guide-credibility .grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 16px;
  }
  .buying-guide-credibility .grid > div:nth-child(2) {
    border-right: 0;
  }
}
@media (max-width: 900px) {
  .buying-guide-criteria {
    grid-template-columns: 1fr;
    padding: 0 24px;
  }
  .buying-guide-criteria > div {
    padding: 20px 0;
  }
  .buying-guide-criteria > div + div {
    border-left: 0;
    border-top: 1px solid var(--line);
  }
  .buying-guide-knowledge {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .buying-guide-steps {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .buying-guide-steps li {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    column-gap: 18px;
    padding: 0 0 24px;
    text-align: left;
  }
  .buying-guide-steps .num {
    grid-row: 1 / span 2;
    margin: 0;
  }
  .buying-guide-steps li:not(:last-child)::after {
    content: '';
    top: 36px;
    left: 15px;
    bottom: 4px;
    width: 1px;
    background: var(--gold);
  }
  .buying-guide-steps li:last-child {
    padding-bottom: 0;
  }
  .buying-guide-support-items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px 20px;
  }
  .buying-guide-support-items li::after {
    display: none;
  }
}
@media (max-width: 600px) {
  .buying-guide-credibility .grid,
  .buying-guide-knowledge {
    grid-template-columns: 1fr;
  }
  .buying-guide-credibility .grid {
    row-gap: 0;
  }
  .buying-guide-credibility .grid > div {
    border-right: 0;
    padding: 14px 24px;
  }
  .buying-guide-credibility .grid > div + div {
    border-top: 1px solid var(--line);
  }
  .buying-guide-support-heading {
    padding: 20px 20px 0;
  }
  .buying-guide-support-items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 24px 20px;
  }
  .buying-guide-support-note {
    padding: 18px 20px;
  }
}

.japanese-support-hero .hero-copy {
  max-width: 760px;
}
.japanese-support-hero .hero-copy > .buying-guide-introduction {
  max-width: 710px;
}
.japanese-support-section .japanese-support-cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.japanese-support-standard,
.japanese-support-moveout {
  margin-top: 26px;
}
.japanese-support-steps {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-bottom: 0;
}
.japanese-support-steps h3 {
  margin-bottom: 10px;
}
.japanese-support-steps p {
  font-size: 14px;
  font-weight: 400;
  text-align: left;
  line-height: 1.8;
}
.japanese-support-intro {
  margin-bottom: 24px;
}
.japanese-support-scroll-hint {
  display: none;
}
.japanese-support-comparison-scroll {
  border: 1px solid var(--line);
  border-radius: 4px;
  overscroll-behavior-x: contain;
}
.japanese-support-comparison {
  table-layout: fixed;
}
.japanese-support-comparison th,
.japanese-support-comparison td {
  width: 33.333%;
  padding: 18px 22px;
  font-size: 16px;
  line-height: 1.8;
  vertical-align: middle;
}
.japanese-support-comparison tbody th {
  background: var(--ivory);
  color: var(--navy);
  font-weight: 600;
}
.japanese-support-comparison tbody td:nth-child(2) {
  background: #fcfaf6;
}
#japanese-support-fees {
  scroll-margin-top: 100px;
}
.japanese-support-fee-summary {
  display: grid;
  grid-template-columns: 1fr 1fr 1.35fr;
  align-items: center;
  gap: 26px;
  margin: 0;
  padding: 30px;
}
.japanese-support-fee-summary > div + div {
  border-left: 1px solid var(--line);
  padding-left: 26px;
}
.japanese-support-fee-summary dt {
  margin-bottom: 12px;
  font-size: 16px;
  font-weight: 600;
}
.japanese-support-fee-summary dd {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.7;
}
.japanese-support-fee-summary .japanese-support-fee-value {
  color: var(--gold);
  font-family: 'Hiragino Mincho ProN', 'Yu Mincho', Georgia, serif;
  font-size: 34px;
  font-weight: 700;
}
.japanese-support-moving {
  margin-top: 30px;
}
.japanese-support-moving > p,
.japanese-support-moving > .grid {
  margin-bottom: 20px;
}
.japanese-support-moving .card {
  background: var(--ivory);
}
.japanese-support-moving h4 {
  margin: 0 0 8px;
  font-size: 18px;
}
.japanese-support-moving .card p {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
}
.japanese-support-moveout .link {
  margin-top: 18px;
}
.japanese-support-scope p,
.japanese-support-scope li {
  font-size: 16px;
  line-height: 1.8;
}
.japanese-support-scope ul {
  margin: 20px 0 0;
  padding-left: 1.2em;
}
.japanese-support-scope li + li {
  margin-top: 8px;
}
.japanese-support-scope li::marker {
  color: var(--gold);
}
.japanese-support-related {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 30px;
  margin-top: 40px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
}
.japanese-support-related p {
  max-width: 740px;
  font-size: 16px;
}
.japanese-support-related .actions {
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  margin: 0;
}
@media (max-width: 900px) {
  .japanese-support-section .japanese-support-cards,
  .japanese-support-steps,
  .japanese-support-related {
    grid-template-columns: 1fr;
  }
  .japanese-support-steps h3 {
    margin-bottom: 6px;
  }
  .japanese-support-fee-summary {
    grid-template-columns: 1fr;
    padding: 24px;
  }
  .japanese-support-fee-summary > div + div {
    border-left: 0;
    border-top: 1px solid var(--line);
    padding: 22px 0 0;
  }
  .japanese-support-comparison {
    min-width: 660px;
  }
  .japanese-support-comparison th,
  .japanese-support-comparison td {
    padding: 14px 16px;
    font-size: 14px;
  }
}
@media (max-width: 700px) {
  .japanese-support-scroll-hint {
    display: block;
    margin-bottom: 12px;
  }
}

/* The same navigation, with a compact equivalent-page language selector. */
.v3-languages {
  position: relative;
  flex: 0 0 auto;
  color: #fff;
}
.v3-languages summary {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  padding: 8px;
  cursor: pointer;
  list-style: none;
  font-size: 13px;
  font-weight: 600;
}
.v3-languages summary::-webkit-details-marker {
  display: none;
}
.header .v3-languages nav {
  display: block;
  position: absolute;
  top: 100%;
  right: 0;
  width: 150px;
  padding: 6px;
  background: #08131d;
  border: 1px solid #b8944a;
  z-index: 120;
  box-shadow: 0 12px 28px #0003;
}
.v3-languages nav a {
  display: block;
  padding: 12px;
  min-height: 44px;
}
.v3-languages a[aria-current],
.v3-languages a:hover,
.v3-languages a:focus-visible {
  background: #ffffff12;
  color: #d8b56e;
}
.klf-v3.en h1,
.klf-v3.en h2,
.klf-v3.en h3 {
  overflow-wrap: break-word;
  letter-spacing: normal;
}
.klf-v3.en .home h1 {
  font-size: clamp(32px, 3.4vw, 52px);
}
/* Keep benefit headings readable and descriptions aligned in every language. */
.trust-item h3 {
  min-width: 0;
  width: 100%;
}
.trust-item svg {
  flex-shrink: 0;
}
@supports (grid-template-rows: subgrid) {
  .klf-v3 .trustbar > .trust-item {
    display: grid;
    grid-row: span 2;
    grid-template-rows: subgrid;
    row-gap: 0;
  }
}
@media (max-width: 1360px) {
  .trust-item .topline {
    flex-direction: column;
    gap: 10px;
  }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .trustbar {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 24px;
  }
  .trust-item:nth-child(3n) {
    border-right: 0;
  }
}
@media (max-width: 900px) {
  .trust-item:nth-child(2n) {
    border-right: 0;
  }
}
@media (max-width: 360px) {
  .trustbar {
    grid-template-columns: minmax(0, 1fr);
  }
  .trust-item {
    border-right: 0;
  }
}
@media (max-width: 400px) {
  .klf-v3.en .home h1 {
    font-size: clamp(25px, 8vw, 32px);
  }
}
.klf-v3.zh-cn {
  font-family: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
}
/* Use one Chinese serif family instead of mixing Japanese and SC glyphs. */
.klf-v3.zh-cn :is(h1, h2, .serif, .pathway strong, .case h3) {
  font-family: 'Noto Serif SC', 'Source Han Serif SC', 'Songti SC', 'STSong', 'SimSun', serif;
}
.klf-v3.en .nav-top {
  font-size: 13px;
}
/* Share the homepage header geometry across page templates and languages. */
@media (min-width: 1101px) and (max-width: 1255px) {
  .klf-v3 .header .desktop-nav {
    gap: 8px;
  }
  .klf-v3 .header .nav-top {
    font-size: 13px;
  }
  .klf-v3 .header > .wrap {
    gap: 12px;
  }
  .klf-v3 .header .brand .logo {
    width: 170px;
  }
}
@media (max-width: 1100px) {
  .klf-v3 .header > .wrap {
    gap: 15px;
  }
  .klf-v3 .header .brand .logo {
    width: 170px;
  }
  .klf-v3 .header .mobile-toggle {
    flex: 0 0 40px;
    width: 40px;
  }
}
@media (max-width: 900px) {
  .klf-v3 .header {
    height: 80px;
  }
  .klf-v3 .header > .wrap {
    max-width: calc(100% - 32px);
  }
}
@media (max-width: 600px) {
  .klf-v3 .header > .wrap {
    gap: 6px;
  }
  .klf-v3 .header .brand {
    /* Reserve the homepage's control space without language-dependent shrinking. */
    width: clamp(78px, calc(100% - 242px), 120px);
  }
  .klf-v3 .header .brand .logo {
    width: 100%;
  }
  .klf-v3 .header .mobile-toggle {
    flex-basis: 34px;
    width: 34px;
  }
  .header .header-actions {
    gap: 3px;
  }
  .v3-languages summary {
    padding-inline: 4px;
  }
}
@media (max-width: 359px) {
  .klf-v3 .header > .wrap {
    gap: 4px;
  }
  .klf-v3 .header .brand {
    width: min(76px, calc(100% - 212px));
  }
  .klf-v3 .header .mobile-toggle {
    flex-basis: 28px;
    width: 28px;
  }
  .klf-v3 .header .mobile-toggle svg {
    width: 20px;
  }
  .klf-v3 .header .header-actions > .btn {
    padding: 10px 6px;
    font-size: 10px;
  }
}

/* Stack contact methods in compact panels beside FAQs or other content. */
.klf-v3 .side-by-faq .mini-cta .channels {
  grid-template-columns: minmax(0, 1fr);
}
.klf-v3 .side-by-faq .mini-cta .channels > .btn {
  grid-column: auto;
  width: 100%;
}
@media (max-width: 600px) {
  .klf-v3 .section > .wrap > .channels {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Area Guide uses the shared dark opening-banner treatment. */
.area-guide-hero {
  background: var(--navy);
  color: white;
}
.area-guide-hero .hero-image {
  width: 100%;
  object-position: center;
}
.area-guide-hero h1,
.area-guide-hero .hero-copy > p {
  color: white;
}
.area-guide-hero:after {
  background: linear-gradient(90deg, #08131d 0%, #08131dee 30%, #08131d6e 64%, #08131d05 100%);
}
@media (max-width: 900px) {
  .area-guide-hero:after {
    background: linear-gradient(90deg, #08131deb, #08131d55);
  }
}

/* Align service links at the bottom of each card's text column. */
.service-row .card > div {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  min-width: 0;
}
.service-row .card .link {
  align-self: flex-start;
  margin-top: auto;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}
.service-row .card .link::after {
  flex-shrink: 0;
}
@media (min-width: 901px) and (max-width: 1200px) {
  .service-row.grid.four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
/* Optional analytics controls appear only on a configured production site. */
.analytics-preferences {
  color: inherit;
  background: none;
  border: 0;
  padding: 0;
  font: inherit;
  cursor: pointer;
  text-decoration: underline;
}
.analytics-consent {
  position: fixed;
  z-index: 1200;
  bottom: 24px;
  right: 24px;
  width: min(520px, calc(100% - 32px));
  max-height: calc(100dvh - 120px);
  overflow: auto;
  padding: 24px;
  background: #fff;
  color: #0a1720;
  border: 1px solid #a68b5b;
  box-shadow: 0 4px 24px #0003;
}
.analytics-consent[hidden] {
  display: none;
}
.analytics-consent h2 {
  margin-top: 0;
  font-size: 22px;
}
.analytics-consent .actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-block: 16px;
}
.analytics-consent a {
  text-decoration: underline;
}
@media (max-width: 767px) {
  .analytics-consent {
    bottom: calc(92px + env(safe-area-inset-bottom));
    right: 16px;
    padding: 20px;
  }
}

/* License attribution follows only the selected licensed illustration. */
.photo-credits {
  padding-block: 12px;
  font-size: 12px;
  color: var(--navy);
  overflow-wrap: anywhere;
}
.photo-credits summary {
  cursor: pointer;
  min-height: 44px;
  align-content: center;
}
.photo-credits ul {
  padding-left: 20px;
}
.photo-credits a {
  text-decoration: underline;
}
.photo-credits p {
  margin-bottom: 0;
}

/* Keep the living areas in view with the September illustration selections. */
.hero.rental-guide-hero .hero-image,
.hero.management-hero .hero-image {
  object-position: center 65%;
}
.hero.rental-faq-hero .hero-image {
  object-position: 75% 65%;
}

/* Shared article frame follows the current public source; site navigation is unchanged. */
.source-article-banner {
  position: relative;
  max-width: 1200px;
  margin-inline: auto;
  overflow: hidden;
  background: var(--navy);
  aspect-ratio: 1400 / 300;
}
.source-article-banner img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  clip-path: polygon(10% 0, 53.5% 0, 44.2% 100%, 2% 100%);
}
.source-article-banner::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: color-mix(in srgb, var(--gold) 35%, transparent);
  clip-path: polygon(54.5% 0, 57.5% 0, 48.2% 100%, 45.2% 100%);
}
.source-article-layout {
  max-width: 1200px;
  margin-inline: auto;
}
.article-main.source-article > h1 {
  font-family: inherit;
  font-size: 24px;
  line-height: 1.7;
  letter-spacing: normal;
  margin: 0 0 20px;
}
.source-article > .article-meta-row,
.source-article > .imported-content {
  max-width: 1000px;
  margin-inline: auto;
}
.source-article > .article-meta-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  margin-block: 0 18px;
  gap: 12px;
}
.source-article > .imported-content {
  margin-top: 0;
  font-size: 16px;
  line-height: 1.85;
}
.source-article .article-source h1,
.source-article .article-source h2,
.source-article .article-source h3,
.source-article .article-source h4 {
  font-family: inherit;
  letter-spacing: normal;
}
.article-source p {
  margin: 0 0 18px;
}
.article-source p,
.article-source li,
.article-source a {
  font-size: inherit;
  line-height: inherit;
}
.article-source h2 {
  color: var(--navy);
  font-size: 24px;
  line-height: 1.7;
  border-left: 5px solid var(--gold);
  padding: 0 20px 0 14px;
  margin: 44px 0 20px;
}
.article-source h3 {
  color: var(--navy);
  font-size: 20px;
  line-height: 1.7;
  border-left: 8px solid var(--gold);
  padding-left: 16px;
  margin: 28px 0 13px;
}
.article-source a {
  color: var(--red);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.article-source td,
.article-source th {
  vertical-align: top;
}
.article-source .source-gray-bg {
  background: var(--ivory);
  padding: 16px 20px;
}
.article-source .source-theme-color {
  color: var(--gold);
}
.article-source .source-p-page-home__about-conts-ttl {
  font-size: 20px;
  font-weight: 700;
  margin: 28px 0 16px;
}
.source-article .article-source .toc {
  background: var(--ivory);
  width: fit-content;
  max-width: 100%;
  padding: 18px 22px;
  margin: 28px 0;
  font-size: 14px;
  line-height: 1.85;
}
.source-article .article-source .toc h2 {
  border: 0;
  padding: 0;
  font-size: 16px;
  line-height: 1.7;
  margin: 0 0 10px;
}
.source-article .toc ol {
  columns: 1;
  margin: 0;
  counter-reset: source-section;
}
.source-article .toc li {
  margin: 0 0 4px;
  padding: 0;
  counter-increment: source-section;
}
.source-article .toc li::marker {
  content: counters(source-section, '.') '. ';
}
.source-article .toc ol ol {
  padding-left: 22px;
}
.source-article .toc-toggle {
  display: inline;
  border: 0;
  padding: 4px 8px;
  margin-left: 8px;
  font: inherit;
  font-size: 13px;
  color: var(--red);
  background: none;
  cursor: pointer;
}
.source-article .article-source .toc li,
.source-article .article-source .toc a {
  font-size: 14px;
  line-height: 1.85;
}
.source-article .toc a {
  text-decoration: none;
}
@media (max-width: 767px) {
  .article-main.source-article > h1 {
    font-size: 22px;
    line-height: 1.6;
  }
  .article-source h2 {
    font-size: 21px;
    line-height: 1.5;
  }
  .article-source h3 {
    font-size: 18px;
    line-height: 1.55;
  }
  .article-source [data-source-grid] {
    grid-template-columns: 1fr !important;
  }
  .article-source [data-source-flex] {
    flex-wrap: wrap;
  }
}
/* Article presentation restored from verified public source snapshots, 2026-09-12.
   All selectors are scoped; colours use the approved theme tokens. */
/* https://klfudousan.com/trx-lalaport/ */

.article-source--trx-lalaport .source-kl-area {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.85;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 18px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source--trx-lalaport .source-kl-area * {
  box-sizing: border-box;
}
.article-source--trx-lalaport .source-kl-area p {
  margin: 0 0 18px;
}
.article-source--trx-lalaport .source-kl-area a {
  color: var(--red);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.article-source--trx-lalaport .source-kl-area h2 {
  font-size: 24px;
  line-height: 1.45;
  color: var(--navy);
  border-left: 5px solid var(--gold);
  padding-left: 14px;
  margin: 44px 0 20px;
}
.article-source--trx-lalaport .source-kl-area .source-lead {
  font-size: 16px;
  line-height: 1.9;
}
.article-source--trx-lalaport .source-kl-area .source-quick {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin: 24px 0;
}
.article-source--trx-lalaport .source-kl-area .source-quick > div {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 16px;
}
.article-source--trx-lalaport .source-kl-area .source-quick span {
  display: block;
  color: var(--ink);
  font-size: 12px;
  margin-bottom: 3px;
}
.article-source--trx-lalaport .source-kl-area .source-quick strong {
  display: block;
  color: var(--navy);
  font-size: 15px;
  line-height: 1.55;
}
.article-source--trx-lalaport .source-kl-area .source-grid2,
.article-source--trx-lalaport .source-kl-area .source-grid3 {
  display: grid;
  gap: 14px;
  margin: 18px 0 24px;
}
.article-source--trx-lalaport .source-kl-area .source-grid2 {
  grid-template-columns: repeat(2, 1fr);
}
.article-source--trx-lalaport .source-kl-area .source-grid3 {
  grid-template-columns: repeat(3, 1fr);
}
.article-source--trx-lalaport .source-kl-area .source-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 19px;
}
.article-source--trx-lalaport .source-kl-area .source-card strong {
  display: block;
  color: var(--navy);
  font-size: 17px;
  margin-bottom: 6px;
}
.article-source--trx-lalaport .source-kl-area .source-card p {
  font-size: 15px;
  line-height: 1.7;
  margin: 0;
}
.article-source--trx-lalaport .source-kl-area .source-tip {
  background: var(--ivory);
  border-left: 4px solid var(--gold);
  padding: 18px 20px;
  margin: 22px 0;
  font-size: 15px;
  line-height: 1.8;
}
.article-source--trx-lalaport .source-kl-area .source-tip strong {
  color: var(--navy);
}
.article-source--trx-lalaport .source-kl-area .source-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 18px 0 24px;
}
.article-source--trx-lalaport .source-kl-area table {
  border-collapse: collapse;
  width: 100%;
  min-width: 720px;
  font-size: 15px;
  line-height: 1.65;
}
.article-source--trx-lalaport .source-kl-area th,
.article-source--trx-lalaport .source-kl-area td {
  border: 1px solid var(--line);
  padding: 13px 14px;
  vertical-align: top;
}
.article-source--trx-lalaport .source-kl-area thead th {
  background: var(--navy);
  color: var(--white);
  text-align: left;
}
.article-source--trx-lalaport .source-kl-area tbody th {
  background: var(--ivory);
  color: var(--navy);
  text-align: left;
  font-weight: 800;
}
.article-source--trx-lalaport .source-kl-area .source-property-link {
  display: inline-block;
  margin-top: 12px;
  font-weight: 700;
}
.article-source--trx-lalaport .source-kl-area .source-photo-slot {
  margin: 24px 0;
  padding: 14px 16px;
  border: 1px dashed var(--line);
  background: var(--ivory);
  color: var(--ink);
  font-size: 13px;
}
.article-source--trx-lalaport .source-kl-area .source-cta {
  margin: 42px 0 18px;
  border: 1px solid var(--line);
  background: var(--ivory);
}
.article-source--trx-lalaport .source-kl-area .source-cta-head {
  background: var(--navy);
  padding: 20px 22px;
}
.article-source--trx-lalaport .source-kl-area .source-cta-title {
  color: var(--white);
  font-size: 22px;
  font-weight: 800;
  line-height: 1.5;
}
.article-source--trx-lalaport .source-kl-area .source-cta-body {
  padding: 22px;
}
.article-source--trx-lalaport .source-kl-area .source-cta-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.article-source--trx-lalaport .source-kl-area .source-btn,
.article-source--trx-lalaport .source-kl-area .source-btn-sub {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 220px !important;
  min-height: 50px !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  padding: 11px 18px !important;
  border-radius: 3px !important;
  margin: 0 !important;
  border: 1px solid var(--red) !important;
}
.article-source--trx-lalaport .source-kl-area .source-btn {
  background: var(--red) !important;
  color: var(--white) !important;
  font-size: 16px !important;
  min-width: 240px !important;
}
.article-source--trx-lalaport .source-kl-area .source-btn-sub {
  background: var(--white) !important;
  color: var(--red) !important;
  font-size: 15px !important;
}
@media (max-width: 700px) {
  .article-source--trx-lalaport .source-kl-area {
    padding: 0 14px;
  }
  .article-source--trx-lalaport .source-kl-area h2 {
    font-size: 21px;
    margin-top: 36px;
  }
  .article-source--trx-lalaport .source-kl-area .source-quick,
  .article-source--trx-lalaport .source-kl-area .source-grid2,
  .article-source--trx-lalaport .source-kl-area .source-grid3 {
    grid-template-columns: 1fr;
  }
  .article-source--trx-lalaport .source-kl-area th,
  .article-source--trx-lalaport .source-kl-area td {
    font-size: 15px;
    line-height: 1.65;
  }
  .article-source--trx-lalaport .source-kl-area .source-cta-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .article-source--trx-lalaport .source-kl-area .source-btn,
  .article-source--trx-lalaport .source-kl-area .source-btn-sub {
    width: 100% !important;
  }
}

/* https://klfudousan.com/bukitbintang/ */

.article-source--bukitbintang .source-kl-area {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.85;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 18px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source--bukitbintang .source-kl-area * {
  box-sizing: border-box;
}
.article-source--bukitbintang .source-kl-area p {
  margin: 0 0 18px;
}
.article-source--bukitbintang .source-kl-area a {
  color: var(--red);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.article-source--bukitbintang .source-kl-area h2 {
  font-size: 24px;
  line-height: 1.45;
  color: var(--navy);
  border-left: 5px solid var(--gold);
  padding-left: 14px;
  margin: 44px 0 20px;
}
.article-source--bukitbintang .source-kl-area h3 {
  font-size: 19px;
  line-height: 1.55;
  color: var(--navy);
  margin: 28px 0 12px;
}
.article-source--bukitbintang .source-kl-area .source-lead {
  font-size: 16px;
  line-height: 1.9;
}
.article-source--bukitbintang .source-kl-area .source-eyebrow {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: var(--gold);
  margin-bottom: 5px;
}
.article-source--bukitbintang .source-kl-area .source-quick {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin: 24px 0;
}
.article-source--bukitbintang .source-kl-area .source-quick > div {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 16px;
}
.article-source--bukitbintang .source-kl-area .source-quick > div:last-child {
  border-right: 1px solid var(--line);
}
.article-source--bukitbintang .source-kl-area .source-quick small {
  display: block;
  color: var(--ink);
  font-size: 12px;
  margin-bottom: 3px;
}
.article-source--bukitbintang .source-kl-area .source-quick strong {
  display: block;
  color: var(--navy);
  font-size: 15px;
  line-height: 1.55;
}
.article-source--bukitbintang .source-kl-area .source-grid2,
.article-source--bukitbintang .source-kl-area .source-grid3 {
  display: grid;
  gap: 14px;
  margin: 18px 0 24px;
}
.article-source--bukitbintang .source-kl-area .source-grid2 {
  grid-template-columns: repeat(2, 1fr);
}
.article-source--bukitbintang .source-kl-area .source-grid3 {
  grid-template-columns: repeat(3, 1fr);
}
.article-source--bukitbintang .source-kl-area .source-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 19px;
}
.article-source--bukitbintang .source-kl-area .source-card strong {
  display: block;
  color: var(--navy);
  font-size: 17px;
  margin-bottom: 6px;
}
.article-source--bukitbintang .source-kl-area .source-card p {
  font-size: 15px;
  line-height: 1.7;
}
.article-source--bukitbintang .source-kl-area .source-tip {
  background: var(--ivory);
  border-left: 4px solid var(--gold);
  padding: 18px 20px;
  margin: 22px 0;
  font-size: 15px;
  line-height: 1.8;
}
.article-source--bukitbintang .source-kl-area .source-tip strong {
  color: var(--navy);
}
.article-source--bukitbintang .source-kl-area .source-zone-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0 24px;
}
.article-source--bukitbintang .source-kl-area .source-zone {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 19px;
}
.article-source--bukitbintang .source-kl-area .source-zone-name {
  color: var(--navy);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.5;
  margin-bottom: 7px;
}
.article-source--bukitbintang .source-kl-area .source-zone-tag {
  display: inline-block;
  background: var(--ivory);
  color: var(--gold);
  font-size: 12px;
  font-weight: 800;
  padding: 4px 8px;
  margin: 0 5px 8px 0;
}
.article-source--bukitbintang .source-kl-area .source-zone p {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
}
.article-source--bukitbintang .source-kl-area .source-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 18px 0 24px;
}
.article-source--bukitbintang .source-kl-area table {
  border-collapse: collapse;
  width: 100%;
  min-width: 720px;
  font-size: 15px;
  line-height: 1.65;
}
.article-source--bukitbintang .source-kl-area th,
.article-source--bukitbintang .source-kl-area td {
  border: 1px solid var(--line);
  padding: 13px 14px;
  vertical-align: top;
}
.article-source--bukitbintang .source-kl-area thead th {
  background: var(--navy);
  color: var(--white);
  text-align: left;
}
.article-source--bukitbintang .source-kl-area tbody th {
  background: var(--ivory);
  color: var(--navy);
  text-align: left;
  font-weight: 800;
}
.article-source--bukitbintang .source-kl-area .source-scroll-note {
  display: none;
  font-size: 12px;
  color: var(--ink);
  margin: -10px 0 8px;
}
.article-source--bukitbintang .source-kl-area .source-cta {
  margin: 42px 0 18px;
  border: 1px solid var(--line);
  background: var(--ivory);
}
.article-source--bukitbintang .source-kl-area .source-cta-head {
  background: var(--navy);
  padding: 20px 22px;
}
.article-source--bukitbintang .source-kl-area .source-cta-title {
  color: var(--white);
  font-size: 22px;
  font-weight: 800;
  line-height: 1.5;
}
.article-source--bukitbintang .source-kl-area .source-cta-body {
  padding: 22px;
}
.article-source--bukitbintang .source-kl-area .source-cta-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.article-source--bukitbintang .source-kl-area .source-btn,
.article-source--bukitbintang .source-kl-area .source-btn-sub {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 220px;
  min-height: 50px;
  text-decoration: none !important;
  font-weight: 700;
  padding: 11px 18px;
  border-radius: 3px;
  margin: 0;
  border: 1px solid var(--red);
}
.article-source--bukitbintang .source-kl-area .source-btn {
  background: var(--red);
  color: var(--white) !important;
  font-size: 16px;
  min-width: 240px;
}
.article-source--bukitbintang .source-kl-area .source-btn-sub {
  background: var(--white);
  color: var(--red) !important;
  font-size: 15px;
}
@media (max-width: 700px) {
  .article-source--bukitbintang .source-kl-area {
    padding: 0 14px;
  }
  .article-source--bukitbintang .source-kl-area h2 {
    font-size: 21px;
    margin-top: 36px;
  }
  .article-source--bukitbintang .source-kl-area .source-quick,
  .article-source--bukitbintang .source-kl-area .source-grid2,
  .article-source--bukitbintang .source-kl-area .source-grid3,
  .article-source--bukitbintang .source-kl-area .source-zone-grid {
    grid-template-columns: 1fr;
  }
  .article-source--bukitbintang .source-kl-area .source-quick > div {
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }
  .article-source--bukitbintang .source-kl-area .source-scroll-note {
    display: block;
  }
  .article-source--bukitbintang .source-kl-area .source-cta-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .article-source--bukitbintang .source-kl-area .source-btn,
  .article-source--bukitbintang .source-kl-area .source-btn-sub {
    width: 100%;
  }
  .article-source--bukitbintang .source-kl-area th,
  .article-source--bukitbintang .source-kl-area td {
    font-size: 15px;
    line-height: 1.65;
  }
}

/* https://klfudousan.com/klcc/ */

.article-source--klcc .source-kl-area {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.85;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 18px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source--klcc .source-kl-area * {
  box-sizing: border-box;
}
.article-source--klcc .source-kl-area p {
  margin: 0 0 18px;
}
.article-source--klcc .source-kl-area a {
  color: var(--red);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.article-source--klcc .source-kl-area h2 {
  font-size: 24px;
  line-height: 1.45;
  color: var(--navy);
  border-left: 5px solid var(--gold);
  padding-left: 14px;
  margin: 44px 0 20px;
}
.article-source--klcc .source-kl-area h3 {
  font-size: 19px;
  line-height: 1.55;
  color: var(--navy);
  margin: 28px 0 12px;
}
.article-source--klcc .source-kl-area .source-lead {
  font-size: 16px;
  line-height: 1.9;
}
.article-source--klcc .source-kl-area .source-eyebrow {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: var(--gold);
  margin-bottom: 5px;
}
.article-source--klcc .source-kl-area .source-quick {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin: 24px 0;
}
.article-source--klcc .source-kl-area .source-quick > div {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 16px;
}
.article-source--klcc .source-kl-area .source-quick > div:last-child {
  border-right: 1px solid var(--line);
}
.article-source--klcc .source-kl-area .source-quick small {
  display: block;
  color: var(--ink);
  font-size: 12px;
  margin-bottom: 3px;
}
.article-source--klcc .source-kl-area .source-quick strong {
  display: block;
  color: var(--navy);
  font-size: 15px;
  line-height: 1.55;
}
.article-source--klcc .source-kl-area .source-grid2,
.article-source--klcc .source-kl-area .source-grid3 {
  display: grid;
  gap: 14px;
  margin: 18px 0 24px;
}
.article-source--klcc .source-kl-area .source-grid2 {
  grid-template-columns: repeat(2, 1fr);
}
.article-source--klcc .source-kl-area .source-grid3 {
  grid-template-columns: repeat(3, 1fr);
}
.article-source--klcc .source-kl-area .source-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 19px;
}
.article-source--klcc .source-kl-area .source-card strong {
  display: block;
  color: var(--navy);
  font-size: 17px;
  margin-bottom: 6px;
}
.article-source--klcc .source-kl-area .source-card p {
  font-size: 15px;
  line-height: 1.7;
}
.article-source--klcc .source-kl-area .source-tip {
  background: var(--ivory);
  border-left: 4px solid var(--gold);
  padding: 18px 20px;
  margin: 22px 0;
  font-size: 15px;
  line-height: 1.8;
}
.article-source--klcc .source-kl-area .source-tip strong {
  color: var(--navy);
}
.article-source--klcc .source-kl-area .source-zone-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0 24px;
}
.article-source--klcc .source-kl-area .source-zone {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 19px;
}
.article-source--klcc .source-kl-area .source-zone-name {
  color: var(--navy);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.5;
  margin-bottom: 7px;
}
.article-source--klcc .source-kl-area .source-zone-tag {
  display: inline-block;
  background: var(--ivory);
  color: var(--gold);
  font-size: 12px;
  font-weight: 800;
  padding: 4px 8px;
  margin: 0 5px 8px 0;
}
.article-source--klcc .source-kl-area .source-zone p {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
}
.article-source--klcc .source-kl-area .source-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 18px 0 24px;
}
.article-source--klcc .source-kl-area table {
  border-collapse: collapse;
  width: 100%;
  min-width: 720px;
  font-size: 15px;
  line-height: 1.65;
}
.article-source--klcc .source-kl-area th,
.article-source--klcc .source-kl-area td {
  border: 1px solid var(--line);
  padding: 13px 14px;
  vertical-align: top;
}
.article-source--klcc .source-kl-area thead th {
  background: var(--navy);
  color: var(--white);
  text-align: left;
}
.article-source--klcc .source-kl-area tbody th {
  background: var(--ivory);
  color: var(--navy);
  text-align: left;
  font-weight: 800;
}
.article-source--klcc .source-kl-area .source-scroll-note {
  display: none;
  font-size: 12px;
  color: var(--ink);
  margin: -10px 0 8px;
}
.article-source--klcc .source-kl-area .source-cta {
  margin: 42px 0 18px;
  border: 1px solid var(--line);
  background: var(--ivory);
}
.article-source--klcc .source-kl-area .source-cta-head {
  background: var(--navy);
  padding: 20px 22px;
}
.article-source--klcc .source-kl-area .source-cta-title {
  color: var(--white);
  font-size: 22px;
  font-weight: 800;
  line-height: 1.5;
}
.article-source--klcc .source-kl-area .source-cta-body {
  padding: 22px;
}
.article-source--klcc .source-kl-area .source-cta-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.article-source--klcc .source-kl-area .source-btn,
.article-source--klcc .source-kl-area .source-btn-sub {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 220px;
  min-height: 50px;
  text-decoration: none !important;
  font-weight: 700;
  padding: 11px 18px;
  border-radius: 3px;
  margin: 0;
  border: 1px solid var(--red);
}
.article-source--klcc .source-kl-area .source-btn {
  background: var(--red);
  color: var(--white) !important;
  font-size: 16px;
  min-width: 240px;
}
.article-source--klcc .source-kl-area .source-btn-sub {
  background: var(--white);
  color: var(--red) !important;
  font-size: 15px;
}
@media (max-width: 700px) {
  .article-source--klcc .source-kl-area {
    padding: 0 14px;
  }
  .article-source--klcc .source-kl-area h2 {
    font-size: 21px;
    margin-top: 36px;
  }
  .article-source--klcc .source-kl-area .source-quick,
  .article-source--klcc .source-kl-area .source-grid2,
  .article-source--klcc .source-kl-area .source-grid3,
  .article-source--klcc .source-kl-area .source-zone-grid {
    grid-template-columns: 1fr;
  }
  .article-source--klcc .source-kl-area .source-quick > div {
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }
  .article-source--klcc .source-kl-area .source-scroll-note {
    display: block;
  }
  .article-source--klcc .source-kl-area .source-cta-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .article-source--klcc .source-kl-area .source-btn,
  .article-source--klcc .source-kl-area .source-btn-sub {
    width: 100%;
  }
  .article-source--klcc .source-kl-area th,
  .article-source--klcc .source-kl-area td {
    font-size: 15px;
    line-height: 1.65;
  }
}

/* https://klfudousan.com/buy-property-cost/ */

@media (max-width: 767px) {
  .article-source--buy-property-cost .source-kl-buy-cost-page {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  .article-source--buy-property-cost .source-kl-buy-cost-page h1 {
    font-size: 28px !important;
    line-height: 1.45 !important;
  }
  .article-source--buy-property-cost .source-kl-buy-cost-page h2 {
    font-size: 21px !important;
    line-height: 1.5 !important;
  }
  .article-source--buy-property-cost .source-kl-buy-cost-page p,
  .article-source--buy-property-cost .source-kl-buy-cost-page li {
    font-size: 16px !important;
    line-height: 1.85 !important;
  }
  .article-source--buy-property-cost .source-kl-buy-cost-page table {
    font-size: 15px !important;
  }
  .article-source--buy-property-cost .source-kl-buy-cost-page th,
  .article-source--buy-property-cost .source-kl-buy-cost-page td {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }
  .article-source--buy-property-cost .source-kl-buy-cost-page [data-source-grid] {
    grid-template-columns: 1fr !important;
  }
  .article-source--buy-property-cost .source-kl-buy-cost-page [data-source-flex] {
    max-width: 100% !important;
  }
}

/* https://klfudousan.com/bathtub/ */

.article-source--bathtub .source-dpc-area {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.85;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 18px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source--bathtub .source-dpc-area * {
  box-sizing: border-box;
}
.article-source--bathtub .source-dpc-area p {
  margin: 0 0 18px;
}
.article-source--bathtub .source-dpc-area a {
  color: var(--red);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.article-source--bathtub .source-dpc-area h2 {
  font-size: 24px;
  line-height: 1.45;
  color: var(--navy);
  border-left: 5px solid var(--gold);
  padding-left: 14px;
  margin: 44px 0 20px;
}
.article-source--bathtub .source-dpc-area h3 {
  font-size: 19px;
  line-height: 1.55;
  color: var(--navy);
  margin: 28px 0 12px;
}
.article-source--bathtub .source-dpc-area .source-lead {
  font-size: 16px;
  line-height: 1.9;
}
.article-source--bathtub .source-dpc-area .source-eyebrow {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: var(--gold);
  margin-bottom: 5px;
}
.article-source--bathtub .source-dpc-area .source-quick {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 24px 0;
}
.article-source--bathtub .source-dpc-area .source-quick > div {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 16px;
}
.article-source--bathtub .source-dpc-area .source-quick small {
  display: block;
  color: var(--ink);
  font-size: 12px;
  margin-bottom: 3px;
}
.article-source--bathtub .source-dpc-area .source-quick strong {
  display: block;
  color: var(--navy);
  font-size: 15px;
  line-height: 1.55;
}
.article-source--bathtub .source-dpc-area .source-grid2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin: 18px 0 24px;
}
.article-source--bathtub .source-dpc-area .source-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 19px;
}
.article-source--bathtub .source-dpc-area .source-card strong {
  display: block;
  color: var(--navy);
  font-size: 17px;
  margin-bottom: 6px;
}
.article-source--bathtub .source-dpc-area .source-card p {
  font-size: 15px;
  line-height: 1.7;
}
.article-source--bathtub .source-dpc-area .source-tip {
  background: var(--ivory);
  border-left: 4px solid var(--gold);
  padding: 18px 20px;
  margin: 22px 0;
  font-size: 15px;
  line-height: 1.8;
}
.article-source--bathtub .source-dpc-area .source-tip strong {
  color: var(--navy);
}
.article-source--bathtub .source-dpc-area .source-note {
  font-size: 13px;
  line-height: 1.7;
  color: var(--ink);
  margin-top: 10px;
}
.article-source--bathtub .source-dpc-area .source-cta {
  margin: 42px 0 18px;
  border: 1px solid var(--line);
  background: var(--ivory);
}
.article-source--bathtub .source-dpc-area .source-cta-head {
  background: var(--navy);
  padding: 20px 22px;
}
.article-source--bathtub .source-dpc-area .source-cta-title {
  color: var(--white);
  font-size: 22px;
  font-weight: 800;
  line-height: 1.5;
}
.article-source--bathtub .source-dpc-area .source-cta-body {
  padding: 22px;
}
.article-source--bathtub .source-dpc-area .source-cta-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.article-source--bathtub .source-dpc-area .source-btn,
.article-source--bathtub .source-dpc-area .source-btn-sub {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 220px;
  min-height: 50px;
  text-decoration: none !important;
  font-weight: 700;
  padding: 11px 18px;
  border-radius: 3px;
  margin: 0;
  border: 1px solid var(--red);
}
.article-source--bathtub .source-dpc-area .source-btn {
  background: var(--red);
  color: var(--white) !important;
  font-size: 16px;
  min-width: 240px;
}
.article-source--bathtub .source-dpc-area .source-btn-sub {
  background: var(--white);
  color: var(--red) !important;
  font-size: 15px;
}
.article-source--bathtub </p > <p > @media(max-width:700px) {
  .article-source--bathtub .source-dpc-area {
    padding: 0 14px;
  }
  .article-source--bathtub .source-dpc-area h2 {
    font-size: 21px;
    margin-top: 36px;
  }
  .article-source--bathtub .source-dpc-area .source-quick,
  .article-source--bathtub .source-dpc-area .source-grid2 {
    grid-template-columns: 1fr;
  }
  .article-source--bathtub .source-dpc-area .source-cta-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .article-source--bathtub .source-dpc-area .source-btn,
  .article-source--bathtub .source-dpc-area .source-btn-sub {
    width: 100%;
  }
}

/* https://klfudousan.com/petfriendlycondominium/ */

.article-source--petfriendlycondominium .source-pet-guide {
  max-width: 1000px;
  margin: 0 auto;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.85;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source--petfriendlycondominium .source-pet-guide * {
  box-sizing: border-box;
}
.article-source--petfriendlycondominium .source-pet-guide h2 {
  color: var(--navy);
  border-left: 5px solid var(--gold);
  padding-left: 14px;
  margin: 48px 0 20px;
  font-size: 26px;
  line-height: 1.5;
}
.article-source--petfriendlycondominium .source-pet-guide h3 {
  color: var(--navy);
  margin: 32px 0 14px;
  font-size: 20px;
  line-height: 1.55;
}
.article-source--petfriendlycondominium .source-pet-guide a {
  color: var(--red);
  font-weight: 700;
}
.article-source--petfriendlycondominium .source-pet-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 14px 0 24px;
}
.article-source--petfriendlycondominium .source-pet-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  background: var(--white);
}
.article-source--petfriendlycondominium .source-pet-table th,
.article-source--petfriendlycondominium .source-pet-table td {
  border: 1px solid var(--line);
  padding: 13px 14px;
  vertical-align: top;
  font-size: 15px;
  line-height: 1.65;
}
.article-source--petfriendlycondominium .source-pet-table thead th {
  background: var(--navy);
  color: var(--white);
  text-align: center;
  font-weight: 700;
}
.article-source--petfriendlycondominium .source-pet-table tbody th {
  background: var(--ivory);
  color: var(--navy);
  text-align: left;
  font-weight: 700;
}
.article-source--petfriendlycondominium .source-pet-card {
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  background: var(--white);
  padding: 20px;
}
.article-source--petfriendlycondominium .source-pet-tip {
  background: var(--ivory);
  border: 1px solid var(--line);
  border-left: 5px solid var(--gold);
  padding: 20px 22px;
  margin: 22px 0;
}
.article-source--petfriendlycondominium .source-pet-icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--ivory);
  color: var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  .article-source--petfriendlycondominium .source-pet-guide {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }
  .article-source--petfriendlycondominium .source-pet-guide h2 {
    font-size: 21px;
    line-height: 1.5;
  }
  .article-source--petfriendlycondominium .source-pet-guide h3 {
    font-size: 18px;
  }
  .article-source--petfriendlycondominium .source-pet-guide p,
  .article-source--petfriendlycondominium .source-pet-guide li {
    font-size: 16px;
    line-height: 1.85;
  }
  .article-source--petfriendlycondominium .source-pet-guide .source-grid2,
  .article-source--petfriendlycondominium .source-pet-guide .source-grid3 {
    grid-template-columns: 1fr !important;
  }
  .article-source--petfriendlycondominium .source-pet-table th,
  .article-source--petfriendlycondominium .source-pet-table td {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }
  .article-source--petfriendlycondominium .source-pet-guide svg {
    flex: 0 0 auto;
  }
}

/* https://klfudousan.com/areacomparison/ */

.article-source--areacomparison .source-area-compare {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.85;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 18px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source--areacomparison .source-area-compare * {
  box-sizing: border-box;
}
.article-source--areacomparison .source-area-compare p {
  margin: 0 0 18px;
}
.article-source--areacomparison .source-area-compare a {
  color: var(--red);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.article-source--areacomparison .source-area-compare h2 {
  font-size: 24px;
  line-height: 1.45;
  color: var(--navy);
  border-left: 5px solid var(--gold);
  padding-left: 14px;
  margin: 44px 0 20px;
}
.article-source--areacomparison .source-area-compare h3 {
  font-size: 19px;
  line-height: 1.55;
  color: var(--navy);
  margin: 28px 0 12px;
}
.article-source--areacomparison .source-area-compare .source-lead {
  font-size: 16px;
  line-height: 1.9;
}
.article-source--areacomparison .source-area-compare .source-eyebrow {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: var(--gold);
  margin-bottom: 5px;
}
.article-source--areacomparison .source-area-compare .source-quick {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin: 24px 0;
}
.article-source--areacomparison .source-area-compare .source-quick > div {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 16px;
}
.article-source--areacomparison .source-area-compare .source-quick > div:last-child {
  border-right: 1px solid var(--line);
}
.article-source--areacomparison .source-area-compare .source-quick small {
  display: block;
  color: var(--ink);
  font-size: 12px;
  margin-bottom: 3px;
}
.article-source--areacomparison .source-area-compare .source-quick strong {
  display: block;
  color: var(--navy);
  font-size: 15px;
  line-height: 1.55;
}
.article-source--areacomparison .source-area-compare .source-grid2,
.article-source--areacomparison .source-area-compare .source-grid3 {
  display: grid;
  gap: 14px;
  margin: 18px 0 24px;
}
.article-source--areacomparison .source-area-compare .source-grid2 {
  grid-template-columns: repeat(2, 1fr);
}
.article-source--areacomparison .source-area-compare .source-grid3 {
  grid-template-columns: repeat(3, 1fr);
}
.article-source--areacomparison .source-area-compare .source-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 19px;
}
.article-source--areacomparison .source-area-compare .source-card strong {
  display: block;
  color: var(--navy);
  font-size: 17px;
  margin-bottom: 6px;
}
.article-source--areacomparison .source-area-compare .source-card p {
  font-size: 15px;
  line-height: 1.7;
}
.article-source--areacomparison .source-area-compare .source-tip {
  background: var(--ivory);
  border-left: 4px solid var(--gold);
  padding: 18px 20px;
  margin: 22px 0;
  font-size: 15px;
  line-height: 1.8;
}
.article-source--areacomparison .source-area-compare .source-tip strong {
  color: var(--navy);
}
.article-source--areacomparison .source-area-compare .source-zone-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0 24px;
}
.article-source--areacomparison .source-area-compare .source-zone {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 19px;
}
.article-source--areacomparison .source-area-compare .source-zone-name {
  color: var(--navy);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.5;
  margin-bottom: 7px;
}
.article-source--areacomparison .source-area-compare .source-zone-tag {
  display: inline-block;
  background: var(--ivory);
  color: var(--gold);
  font-size: 12px;
  font-weight: 800;
  padding: 4px 8px;
  margin: 0 5px 8px 0;
}
.article-source--areacomparison .source-area-compare .source-zone p {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
}
.article-source--areacomparison .source-area-compare .source-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 18px 0 24px;
}
.article-source--areacomparison .source-area-compare table {
  border-collapse: collapse;
  width: 100%;
  min-width: 720px;
  font-size: 15px;
  line-height: 1.65;
}
.article-source--areacomparison .source-area-compare th,
.article-source--areacomparison .source-area-compare td {
  border: 1px solid var(--line);
  padding: 13px 14px;
  vertical-align: top;
}
.article-source--areacomparison .source-area-compare thead th {
  background: var(--navy);
  color: var(--white);
  text-align: left;
}
.article-source--areacomparison .source-area-compare tbody th {
  background: var(--ivory);
  color: var(--navy);
  text-align: left;
  font-weight: 800;
}
.article-source--areacomparison .source-area-compare .source-scroll-note {
  display: none;
  font-size: 12px;
  color: var(--ink);
  margin: -10px 0 8px;
}
.article-source--areacomparison .source-area-compare .source-cta {
  margin: 42px 0 18px;
  border: 1px solid var(--line);
  background: var(--ivory);
}
.article-source--areacomparison .source-area-compare .source-cta-head {
  background: var(--navy);
  padding: 20px 22px;
}
.article-source--areacomparison .source-area-compare .source-cta-title {
  color: var(--white);
  font-size: 22px;
  font-weight: 800;
  line-height: 1.5;
}
.article-source--areacomparison .source-area-compare .source-cta-body {
  padding: 22px;
}
.article-source--areacomparison .source-area-compare .source-cta-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.article-source--areacomparison .source-area-compare .source-btn,
.article-source--areacomparison .source-area-compare .source-btn-sub {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 220px;
  min-height: 50px;
  text-decoration: none !important;
  font-weight: 700;
  padding: 11px 18px;
  border-radius: 3px;
  margin: 0;
  border: 1px solid var(--red);
}
.article-source--areacomparison .source-area-compare .source-btn {
  background: var(--red);
  color: var(--white) !important;
  font-size: 16px;
  min-width: 240px;
}
.article-source--areacomparison .source-area-compare .source-btn-sub {
  background: var(--white);
  color: var(--red) !important;
  font-size: 15px;
}
@media (max-width: 700px) {
  .article-source--areacomparison .source-area-compare {
    padding: 0 14px;
  }
  .article-source--areacomparison .source-area-compare h2 {
    font-size: 21px;
    margin-top: 36px;
  }
  .article-source--areacomparison .source-area-compare .source-quick,
  .article-source--areacomparison .source-area-compare .source-grid2,
  .article-source--areacomparison .source-area-compare .source-grid3,
  .article-source--areacomparison .source-area-compare .source-zone-grid {
    grid-template-columns: 1fr;
  }
  .article-source--areacomparison .source-area-compare .source-quick > div {
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }
  .article-source--areacomparison .source-area-compare .source-scroll-note {
    display: block;
  }
  .article-source--areacomparison .source-area-compare .source-cta-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .article-source--areacomparison .source-area-compare .source-btn,
  .article-source--areacomparison .source-area-compare .source-btn-sub {
    width: 100%;
  }
  .article-source--areacomparison .source-area-compare th,
  .article-source--areacomparison .source-area-compare td {
    font-size: 15px;
    line-height: 1.65;
  }
}

/* https://klfudousan.com/incometax/ */

@media (max-width: 767px) {
  .article-source--incometax .source-kl-income {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  .article-source--incometax .source-kl-income h1 {
    font-size: 28px !important;
    line-height: 1.45 !important;
  }
  .article-source--incometax .source-kl-income h2 {
    font-size: 21px !important;
    line-height: 1.5 !important;
  }
  .article-source--incometax .source-kl-income h3 {
    font-size: 18px !important;
    line-height: 1.55 !important;
  }
  .article-source--incometax .source-kl-income p,
  .article-source--incometax .source-kl-income li {
    font-size: 16px !important;
    line-height: 1.85 !important;
  }
  .article-source--incometax .source-kl-income table,
  .article-source--incometax .source-kl-income th,
  .article-source--incometax .source-kl-income td {
    font-size: 15px !important;
    line-height: 1.65 !important;
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
  }
  .article-source--incometax .source-kl-income-grid {
    grid-template-columns: 1fr !important;
  }
}

/* https://klfudousan.com/montkiara/ */

.article-source--montkiara .source-mk-area {
  max-width: 1000px;
  margin: 0 auto;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.85;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source--montkiara .source-mk-area * {
  box-sizing: border-box;
}
.article-source--montkiara .source-mk-area h2 {
  color: var(--navy);
  border-left: 5px solid var(--gold);
  padding-left: 14px;
  margin: 48px 0 20px;
  font-size: 26px;
  line-height: 1.5;
}
.article-source--montkiara .source-mk-area h3 {
  color: var(--navy);
  margin: 28px 0 12px;
  font-size: 20px;
  line-height: 1.55;
}
.article-source--montkiara .source-mk-area p {
  margin: 0 0 18px;
}
.article-source--montkiara .source-mk-area a {
  color: var(--red);
  font-weight: 700;
}
.article-source--montkiara .source-mk-area .source-lead {
  font-size: 16px;
  line-height: 1.85;
  color: var(--ink);
}
.article-source--montkiara .source-mk-area .source-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 26px 0;
}
.article-source--montkiara .source-mk-area .source-summary > div {
  background: var(--ivory);
  border-top: 4px solid var(--gold);
  padding: 17px 16px;
}
.article-source--montkiara .source-mk-area .source-label {
  display: block;
  color: var(--gold);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.05em;
  margin-bottom: 5px;
}
.article-source--montkiara .source-mk-area .source-value {
  display: block;
  color: var(--navy);
  font-size: 16px;
  font-weight: 800;
  line-height: 1.55;
}
.article-source--montkiara .source-mk-area .source-grid2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.article-source--montkiara .source-mk-area .source-grid3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.article-source--montkiara .source-mk-area .source-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 20px;
}
.article-source--montkiara .source-mk-area .source-card strong {
  display: block;
  color: var(--navy);
  font-size: 18px;
  line-height: 1.55;
  margin-bottom: 7px;
}
.article-source--montkiara .source-mk-area .source-tip {
  background: var(--ivory);
  border: 1px solid var(--line);
  border-left: 5px solid var(--gold);
  padding: 20px 22px;
  margin: 22px 0;
}
.article-source--montkiara .source-mk-area .source-tip strong {
  color: var(--navy);
}
.article-source--montkiara .source-mk-area .source-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 12px 0 28px;
}
.article-source--montkiara .source-mk-area table {
  width: 100%;
  border-collapse: collapse;
  background: var(--white);
}
.article-source--montkiara .source-mk-area th,
.article-source--montkiara .source-mk-area td {
  border: 1px solid var(--line);
  padding: 13px 14px;
  vertical-align: top;
  font-size: 15px;
  line-height: 1.65;
  text-align: left;
}
.article-source--montkiara .source-mk-area thead th {
  background: var(--navy);
  color: var(--white);
  font-weight: 700;
}
.article-source--montkiara .source-mk-area tbody th {
  background: var(--ivory);
  color: var(--navy);
  font-weight: 700;
  width: 25%;
}
.article-source--montkiara .source-mk-area .source-proscons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.article-source--montkiara .source-mk-area .source-proscons > div {
  border: 1px solid var(--line);
  background: var(--white);
  padding: 20px;
}
.article-source--montkiara .source-mk-area .source-proscons h3 {
  margin: 0 0 10px;
  font-size: 19px;
}
.article-source--montkiara .source-mk-area .source-proscons ul {
  margin: 0;
  padding-left: 1.25em;
}
.article-source--montkiara .source-mk-area .source-route {
  display: flex;
  gap: 14px;
  padding: 15px 0;
  border-bottom: 1px solid var(--line);
}
.article-source--montkiara .source-mk-area .source-route:last-child {
  border-bottom: 0;
}
.article-source--montkiara .source-mk-area .source-num {
  min-width: 32px;
  color: var(--gold);
  font-weight: 800;
}
.article-source--montkiara .source-mk-area .source-zone-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0 24px;
}
.article-source--montkiara .source-mk-area .source-zone {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 19px;
}
.article-source--montkiara .source-mk-area .source-zone.source-wide {
  grid-column: 1/-1;
}
.article-source--montkiara .source-mk-area .source-zone-name {
  color: var(--navy);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.5;
  margin-bottom: 7px;
}
.article-source--montkiara .source-mk-area .source-zone-tag {
  display: inline-block;
  background: var(--ivory);
  color: var(--gold);
  font-size: 12px;
  font-weight: 800;
  padding: 4px 8px;
  margin: 0 5px 8px 0;
}
.article-source--montkiara .source-mk-area .source-zone p {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
}
.article-source--montkiara .source-mk-area .source-cta {
  width: 100%;
  margin: 44px 0 10px;
  background: var(--ivory);
  border: 1px solid var(--line);
  border-left: 6px solid var(--gold);
  border-radius: 10px;
  box-shadow: 0 5px 18px color-mix(in srgb, var(--navy) 7%, transparent);
  overflow: hidden;
}
.article-source--montkiara .source-mk-area .source-cta-head {
  padding: 22px 20px 19px;
  background: var(--ivory);
  border-bottom: 1px solid var(--line);
}
.article-source--montkiara .source-mk-area .source-eyebrow {
  color: var(--gold);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin-bottom: 8px;
}
.article-source--montkiara .source-mk-area .source-cta-title {
  color: var(--navy);
  font-size: 21px;
  line-height: 1.55;
  font-weight: 800;
}
.article-source--montkiara .source-mk-area .source-cta-body {
  padding: 22px 20px 23px;
}
.article-source--montkiara .source-mk-area .source-cta-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.article-source--montkiara .source-mk-area .source-btn,
.article-source--montkiara .source-mk-area .source-btn-sub {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 210px;
  min-height: 48px;
  text-decoration: none;
  font-weight: 700;
  padding: 11px 18px;
  border-radius: 3px;
  margin: 0;
  border: 1px solid var(--red);
}
.article-source--montkiara .source-mk-area .source-btn {
  background: var(--red);
  color: var(--white) !important;
  font-size: 16px;
  min-width: 230px;
}
.article-source--montkiara .source-mk-area .source-btn-sub {
  background: var(--white);
  color: var(--red) !important;
  font-size: 15px;
}
@media (max-width: 767px) {
  .article-source--montkiara .source-mk-area {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }
  .article-source--montkiara .source-mk-area h2 {
    font-size: 21px;
  }
  .article-source--montkiara .source-mk-area h3 {
    font-size: 18px;
  }
  .article-source--montkiara .source-mk-area p,
  .article-source--montkiara .source-mk-area li {
    font-size: 16px;
  }
  .article-source--montkiara .source-mk-area .source-lead {
    font-size: 16px;
  }
  .article-source--montkiara .source-mk-area .source-summary {
    grid-template-columns: 1fr 1fr;
  }
  .article-source--montkiara .source-mk-area .source-grid2,
  .article-source--montkiara .source-mk-area .source-grid3,
  .article-source--montkiara .source-mk-area .source-proscons,
  .article-source--montkiara .source-mk-area .source-zone-grid {
    grid-template-columns: 1fr;
  }
  .article-source--montkiara .source-mk-area .source-zone.source-wide {
    grid-column: auto;
  }
  .article-source--montkiara .source-mk-area .source-cta-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .article-source--montkiara .source-mk-area .source-btn,
  .article-source--montkiara .source-mk-area .source-btn-sub {
    width: 100%;
  }
  .article-source--montkiara .source-mk-area th,
  .article-source--montkiara .source-mk-area td {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }
}

/* https://klfudousan.com/moveout/ */

@media (max-width: 767px) {
  .article-source--moveout .source-kl-moveout {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  .article-source--moveout .source-kl-moveout h2 {
    font-size: 21px !important;
    line-height: 1.5 !important;
  }
  .article-source--moveout .source-kl-moveout h3 {
    font-size: 18px !important;
    line-height: 1.55 !important;
  }
  .article-source--moveout .source-kl-moveout p,
  .article-source--moveout .source-kl-moveout li {
    font-size: 16px !important;
    line-height: 1.85 !important;
  }
  .article-source--moveout .source-kl-moveout table,
  .article-source--moveout .source-kl-moveout th,
  .article-source--moveout .source-kl-moveout td {
    font-size: 15px !important;
    line-height: 1.65 !important;
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
  }
  .article-source--moveout .source-kl-moveout .source-flow,
  .article-source--moveout .source-kl-moveout .source-grid {
    grid-template-columns: 1fr !important;
  }
}

/* https://klfudousan.com/tenancyagreement/ */

@media (max-width: 767px) {
  .article-source--tenancyagreement .source-kl-ta {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  .article-source--tenancyagreement .source-kl-ta h2 {
    font-size: 21px !important;
    line-height: 1.5 !important;
  }
  .article-source--tenancyagreement .source-kl-ta h3 {
    font-size: 18px !important;
  }
  .article-source--tenancyagreement .source-kl-ta p,
  .article-source--tenancyagreement .source-kl-ta li {
    font-size: 16px !important;
    line-height: 1.85 !important;
  }
  .article-source--tenancyagreement .source-kl-ta .source-grid {
    grid-template-columns: 1fr !important;
  }
  .article-source--tenancyagreement .source-kl-ta svg {
    flex: 0 0 auto !important;
  }
}

/* https://klfudousan.com/malaysia-property-guide/ */

.article-source--malaysia-property-guide .source-dpc-area {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.85;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 18px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source--malaysia-property-guide .source-dpc-area * {
  box-sizing: border-box;
}
.article-source--malaysia-property-guide .source-dpc-area p {
  margin: 0 0 18px;
}
.article-source--malaysia-property-guide .source-dpc-area a {
  color: var(--red);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.article-source--malaysia-property-guide .source-dpc-area h2 {
  font-size: 24px;
  line-height: 1.45;
  color: var(--navy);
  border-left: 5px solid var(--gold);
  padding-left: 14px;
  margin: 44px 0 20px;
}
.article-source--malaysia-property-guide .source-dpc-area h3 {
  font-size: 19px;
  line-height: 1.55;
  color: var(--navy);
  margin: 28px 0 12px;
}
.article-source--malaysia-property-guide .source-dpc-area .source-lead {
  font-size: 16px;
  line-height: 1.9;
}
.article-source--malaysia-property-guide .source-dpc-area .source-eyebrow {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: var(--gold);
  margin-bottom: 5px;
}
.article-source--malaysia-property-guide .source-dpc-area .source-quick {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin: 24px 0;
}
.article-source--malaysia-property-guide .source-dpc-area .source-quick > div {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 16px;
}
.article-source--malaysia-property-guide .source-dpc-area .source-quick > div:last-child {
  border-right: 1px solid var(--line);
}
.article-source--malaysia-property-guide .source-dpc-area .source-quick small {
  display: block;
  color: var(--ink);
  font-size: 12px;
  margin-bottom: 3px;
}
.article-source--malaysia-property-guide .source-dpc-area .source-quick strong {
  display: block;
  color: var(--navy);
  font-size: 15px;
  line-height: 1.55;
}
.article-source--malaysia-property-guide .source-dpc-area .source-grid2,
.article-source--malaysia-property-guide .source-dpc-area .source-grid3 {
  display: grid;
  gap: 14px;
  margin: 18px 0 24px;
}
.article-source--malaysia-property-guide .source-dpc-area .source-grid2 {
  grid-template-columns: repeat(2, 1fr);
}
.article-source--malaysia-property-guide .source-dpc-area .source-grid3 {
  grid-template-columns: repeat(3, 1fr);
}
.article-source--malaysia-property-guide .source-dpc-area .source-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 19px;
}
.article-source--malaysia-property-guide .source-dpc-area .source-card strong {
  display: block;
  color: var(--navy);
  font-size: 17px;
  margin-bottom: 6px;
}
.article-source--malaysia-property-guide .source-dpc-area .source-card p {
  font-size: 15px;
  line-height: 1.7;
}
.article-source--malaysia-property-guide .source-dpc-area .source-tip {
  background: var(--ivory);
  border-left: 4px solid var(--gold);
  padding: 18px 20px;
  margin: 22px 0;
  font-size: 15px;
  line-height: 1.8;
}
.article-source--malaysia-property-guide .source-dpc-area .source-tip strong {
  color: var(--navy);
}
.article-source--malaysia-property-guide .source-dpc-area .source-zone-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0 24px;
}
.article-source--malaysia-property-guide .source-dpc-area .source-zone {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 19px;
}
.article-source--malaysia-property-guide .source-dpc-area .source-zone-name {
  color: var(--navy);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.5;
  margin-bottom: 7px;
}
.article-source--malaysia-property-guide .source-dpc-area .source-zone-tag {
  display: inline-block;
  background: var(--ivory);
  color: var(--gold);
  font-size: 12px;
  font-weight: 800;
  padding: 4px 8px;
  margin: 0 5px 8px 0;
}
.article-source--malaysia-property-guide .source-dpc-area .source-zone p {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
}
.article-source--malaysia-property-guide .source-dpc-area .source-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 18px 0 24px;
}
.article-source--malaysia-property-guide .source-dpc-area table {
  border-collapse: collapse;
  width: 100%;
  min-width: 720px;
  font-size: 15px;
  line-height: 1.65;
}
.article-source--malaysia-property-guide .source-dpc-area th,
.article-source--malaysia-property-guide .source-dpc-area td {
  border: 1px solid var(--line);
  padding: 13px 14px;
  vertical-align: top;
}
.article-source--malaysia-property-guide .source-dpc-area thead th {
  background: var(--navy);
  color: var(--white);
  text-align: left;
}
.article-source--malaysia-property-guide .source-dpc-area tbody th {
  background: var(--ivory);
  color: var(--navy);
  text-align: left;
  font-weight: 800;
}
.article-source--malaysia-property-guide .source-dpc-area .source-scroll-note {
  display: none;
  font-size: 12px;
  color: var(--ink);
  margin: -10px 0 8px;
}
.article-source--malaysia-property-guide .source-dpc-area .source-cta {
  margin: 42px 0 18px;
  border: 1px solid var(--line);
  background: var(--ivory);
}
.article-source--malaysia-property-guide .source-dpc-area .source-cta-head {
  background: var(--navy);
  padding: 20px 22px;
}
.article-source--malaysia-property-guide .source-dpc-area .source-cta-title {
  color: var(--white);
  font-size: 22px;
  font-weight: 800;
  line-height: 1.5;
}
.article-source--malaysia-property-guide .source-dpc-area .source-cta-body {
  padding: 22px;
}
.article-source--malaysia-property-guide .source-dpc-area .source-cta-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.article-source--malaysia-property-guide .source-dpc-area .source-btn,
.article-source--malaysia-property-guide .source-dpc-area .source-btn-sub {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 220px;
  min-height: 50px;
  text-decoration: none !important;
  font-weight: 700;
  padding: 11px 18px;
  border-radius: 3px;
  margin: 0;
  border: 1px solid var(--red);
}
.article-source--malaysia-property-guide .source-dpc-area .source-btn {
  background: var(--red);
  color: var(--white) !important;
  font-size: 16px;
  min-width: 240px;
}
.article-source--malaysia-property-guide .source-dpc-area .source-btn-sub {
  background: var(--white);
  color: var(--red) !important;
  font-size: 15px;
}
@media (max-width: 700px) {
  .article-source--malaysia-property-guide .source-dpc-area {
    padding: 0 14px;
  }
  .article-source--malaysia-property-guide .source-dpc-area h2 {
    font-size: 21px;
    margin-top: 36px;
  }
  .article-source--malaysia-property-guide .source-dpc-area .source-quick,
  .article-source--malaysia-property-guide .source-dpc-area .source-grid2,
  .article-source--malaysia-property-guide .source-dpc-area .source-grid3,
  .article-source--malaysia-property-guide .source-dpc-area .source-zone-grid {
    grid-template-columns: 1fr;
  }
  .article-source--malaysia-property-guide .source-dpc-area .source-quick > div {
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }
  .article-source--malaysia-property-guide .source-dpc-area .source-scroll-note {
    display: block;
  }
  .article-source--malaysia-property-guide .source-dpc-area .source-cta-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .article-source--malaysia-property-guide .source-dpc-area .source-btn,
  .article-source--malaysia-property-guide .source-dpc-area .source-btn-sub {
    width: 100%;
  }
  .article-source--malaysia-property-guide .source-dpc-area th,
  .article-source--malaysia-property-guide .source-dpc-area td {
    font-size: 15px;
    line-height: 1.65;
  }
}

/* https://klfudousan.com/desaparkcity/ */

.article-source--desaparkcity .source-dpc-area {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.85;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 18px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source--desaparkcity .source-dpc-area * {
  box-sizing: border-box;
}
.article-source--desaparkcity .source-dpc-area p {
  margin: 0 0 18px;
}
.article-source--desaparkcity .source-dpc-area a {
  color: var(--red);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.article-source--desaparkcity .source-dpc-area h2 {
  font-size: 24px;
  line-height: 1.45;
  color: var(--navy);
  border-left: 5px solid var(--gold);
  padding-left: 14px;
  margin: 44px 0 20px;
}
.article-source--desaparkcity .source-dpc-area h3 {
  font-size: 19px;
  line-height: 1.55;
  color: var(--navy);
  margin: 28px 0 12px;
}
.article-source--desaparkcity .source-dpc-area .source-lead {
  font-size: 16px;
  line-height: 1.9;
}
.article-source--desaparkcity .source-dpc-area .source-eyebrow {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: var(--gold);
  margin-bottom: 5px;
}
.article-source--desaparkcity .source-dpc-area .source-quick {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin: 24px 0;
}
.article-source--desaparkcity .source-dpc-area .source-quick > div {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 16px;
}
.article-source--desaparkcity .source-dpc-area .source-quick > div:last-child {
  border-right: 1px solid var(--line);
}
.article-source--desaparkcity .source-dpc-area .source-quick small {
  display: block;
  color: var(--ink);
  font-size: 12px;
  margin-bottom: 3px;
}
.article-source--desaparkcity .source-dpc-area .source-quick strong {
  display: block;
  color: var(--navy);
  font-size: 15px;
  line-height: 1.55;
}
.article-source--desaparkcity .source-dpc-area .source-grid2,
.article-source--desaparkcity .source-dpc-area .source-grid3 {
  display: grid;
  gap: 14px;
  margin: 18px 0 24px;
}
.article-source--desaparkcity .source-dpc-area .source-grid2 {
  grid-template-columns: repeat(2, 1fr);
}
.article-source--desaparkcity .source-dpc-area .source-grid3 {
  grid-template-columns: repeat(3, 1fr);
}
.article-source--desaparkcity .source-dpc-area .source-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 19px;
}
.article-source--desaparkcity .source-dpc-area .source-card strong {
  display: block;
  color: var(--navy);
  font-size: 17px;
  margin-bottom: 6px;
}
.article-source--desaparkcity .source-dpc-area .source-card p {
  font-size: 15px;
  line-height: 1.7;
}
.article-source--desaparkcity .source-dpc-area .source-tip {
  background: var(--ivory);
  border-left: 4px solid var(--gold);
  padding: 18px 20px;
  margin: 22px 0;
  font-size: 15px;
  line-height: 1.8;
}
.article-source--desaparkcity .source-dpc-area .source-tip strong {
  color: var(--navy);
}
.article-source--desaparkcity .source-dpc-area .source-zone-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0 24px;
}
.article-source--desaparkcity .source-dpc-area .source-zone {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 19px;
}
.article-source--desaparkcity .source-dpc-area .source-zone-name {
  color: var(--navy);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.5;
  margin-bottom: 7px;
}
.article-source--desaparkcity .source-dpc-area .source-zone-tag {
  display: inline-block;
  background: var(--ivory);
  color: var(--gold);
  font-size: 12px;
  font-weight: 800;
  padding: 4px 8px;
  margin: 0 5px 8px 0;
}
.article-source--desaparkcity .source-dpc-area .source-zone p {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
}
.article-source--desaparkcity .source-dpc-area .source-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 18px 0 24px;
}
.article-source--desaparkcity .source-dpc-area table {
  border-collapse: collapse;
  width: 100%;
  min-width: 720px;
  font-size: 15px;
  line-height: 1.65;
}
.article-source--desaparkcity .source-dpc-area th,
.article-source--desaparkcity .source-dpc-area td {
  border: 1px solid var(--line);
  padding: 13px 14px;
  vertical-align: top;
}
.article-source--desaparkcity .source-dpc-area thead th {
  background: var(--navy);
  color: var(--white);
  text-align: left;
}
.article-source--desaparkcity .source-dpc-area tbody th {
  background: var(--ivory);
  color: var(--navy);
  text-align: left;
  font-weight: 800;
}
.article-source--desaparkcity .source-dpc-area .source-scroll-note {
  display: none;
  font-size: 12px;
  color: var(--ink);
  margin: -10px 0 8px;
}
.article-source--desaparkcity .source-dpc-area .source-cta {
  margin: 42px 0 18px;
  border: 1px solid var(--line);
  background: var(--ivory);
}
.article-source--desaparkcity .source-dpc-area .source-cta-head {
  background: var(--navy);
  padding: 20px 22px;
}
.article-source--desaparkcity .source-dpc-area .source-cta-title {
  color: var(--white);
  font-size: 22px;
  font-weight: 800;
  line-height: 1.5;
}
.article-source--desaparkcity .source-dpc-area .source-cta-body {
  padding: 22px;
}
.article-source--desaparkcity .source-dpc-area .source-cta-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.article-source--desaparkcity .source-dpc-area .source-btn,
.article-source--desaparkcity .source-dpc-area .source-btn-sub {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 220px;
  min-height: 50px;
  text-decoration: none !important;
  font-weight: 700;
  padding: 11px 18px;
  border-radius: 3px;
  margin: 0;
  border: 1px solid var(--red);
}
.article-source--desaparkcity .source-dpc-area .source-btn {
  background: var(--red);
  color: var(--white) !important;
  font-size: 16px;
  min-width: 240px;
}
.article-source--desaparkcity .source-dpc-area .source-btn-sub {
  background: var(--white);
  color: var(--red) !important;
  font-size: 15px;
}
@media (max-width: 700px) {
  .article-source--desaparkcity .source-dpc-area {
    padding: 0 14px;
  }
  .article-source--desaparkcity .source-dpc-area h2 {
    font-size: 21px;
    margin-top: 36px;
  }
  .article-source--desaparkcity .source-dpc-area .source-quick,
  .article-source--desaparkcity .source-dpc-area .source-grid2,
  .article-source--desaparkcity .source-dpc-area .source-grid3,
  .article-source--desaparkcity .source-dpc-area .source-zone-grid {
    grid-template-columns: 1fr;
  }
  .article-source--desaparkcity .source-dpc-area .source-quick > div {
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }
  .article-source--desaparkcity .source-dpc-area .source-scroll-note {
    display: block;
  }
  .article-source--desaparkcity .source-dpc-area .source-cta-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .article-source--desaparkcity .source-dpc-area .source-btn,
  .article-source--desaparkcity .source-dpc-area .source-btn-sub {
    width: 100%;
  }
  .article-source--desaparkcity .source-dpc-area th,
  .article-source--desaparkcity .source-dpc-area td {
    font-size: 15px;
    line-height: 1.65;
  }
}

/* https://klfudousan.com/wise-transfer/ */

.article-source--wise-transfer .source-dpc-area {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.85;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 18px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source--wise-transfer .source-dpc-area * {
  box-sizing: border-box;
}
.article-source--wise-transfer .source-dpc-area p {
  margin: 0 0 18px;
}
.article-source--wise-transfer .source-dpc-area a {
  color: var(--red);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.article-source--wise-transfer .source-dpc-area h2 {
  font-size: 24px;
  line-height: 1.45;
  color: var(--navy);
  border-left: 5px solid var(--gold);
  padding-left: 14px;
  margin: 44px 0 20px;
}
.article-source--wise-transfer .source-dpc-area h3 {
  font-size: 19px;
  line-height: 1.55;
  color: var(--navy);
  margin: 28px 0 12px;
}
.article-source--wise-transfer .source-dpc-area .source-lead {
  font-size: 16px;
  line-height: 1.9;
}
.article-source--wise-transfer .source-dpc-area .source-eyebrow {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: var(--gold);
  margin-bottom: 5px;
}
.article-source--wise-transfer .source-dpc-area .source-quick {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 24px 0;
}
.article-source--wise-transfer .source-dpc-area .source-quick > div {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 16px;
}
.article-source--wise-transfer .source-dpc-area .source-quick small {
  display: block;
  color: var(--ink);
  font-size: 12px;
  margin-bottom: 3px;
}
.article-source--wise-transfer .source-dpc-area .source-quick strong {
  display: block;
  color: var(--navy);
  font-size: 15px;
  line-height: 1.55;
}
.article-source--wise-transfer .source-dpc-area .source-grid2,
.article-source--wise-transfer .source-dpc-area .source-grid3 {
  display: grid;
  gap: 14px;
  margin: 18px 0 24px;
}
.article-source--wise-transfer .source-dpc-area .source-grid2 {
  grid-template-columns: repeat(2, 1fr);
}
.article-source--wise-transfer .source-dpc-area .source-grid3 {
  grid-template-columns: repeat(3, 1fr);
}
.article-source--wise-transfer .source-dpc-area .source-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 19px;
}
.article-source--wise-transfer .source-dpc-area .source-card strong {
  display: block;
  color: var(--navy);
  font-size: 17px;
  margin-bottom: 6px;
}
.article-source--wise-transfer .source-dpc-area .source-card p {
  font-size: 15px;
  line-height: 1.7;
}
.article-source--wise-transfer .source-dpc-area .source-tip {
  background: var(--ivory);
  border-left: 4px solid var(--gold);
  padding: 18px 20px;
  margin: 22px 0;
  font-size: 15px;
  line-height: 1.8;
}
.article-source--wise-transfer .source-dpc-area .source-tip strong {
  color: var(--navy);
}
.article-source--wise-transfer .source-dpc-area .source-step {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 14px;
  align-items: start;
  border-bottom: 1px solid var(--line);
  padding: 20px 0;
}
.article-source--wise-transfer .source-dpc-area .source-step:last-child {
  border-bottom: 0;
}
.article-source--wise-transfer .source-dpc-area .source-step-num {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--navy);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 16px;
}
.article-source--wise-transfer .source-dpc-area .source-step-title {
  font-size: 18px;
  font-weight: 800;
  color: var(--navy);
  margin-bottom: 5px;
}
.article-source--wise-transfer .source-dpc-area .source-step p {
  margin: 0;
  font-size: 15px;
  line-height: 1.75;
}
.article-source--wise-transfer .source-dpc-area .source-checklist {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 20px 22px;
  margin: 18px 0 24px;
}
.article-source--wise-transfer .source-dpc-area .source-checklist ul {
  margin: 0;
  padding-left: 22px;
}
.article-source--wise-transfer .source-dpc-area .source-checklist li {
  margin: 7px 0;
}
.article-source--wise-transfer .source-dpc-area .source-faq {
  border-top: 1px solid var(--line);
  margin-top: 18px;
}
.article-source--wise-transfer .source-dpc-area .source-faq-item {
  border-bottom: 1px solid var(--line);
  padding: 19px 0;
}
.article-source--wise-transfer .source-dpc-area .source-faq-q {
  font-weight: 800;
  color: var(--navy);
  margin-bottom: 7px;
}
.article-source--wise-transfer .source-dpc-area .source-faq-a {
  font-size: 15px;
  line-height: 1.8;
  margin: 0;
}
.article-source--wise-transfer .source-dpc-area .source-cta {
  margin: 42px 0 18px;
  border: 1px solid var(--line);
  background: var(--ivory);
}
.article-source--wise-transfer .source-dpc-area .source-cta-head {
  background: var(--navy);
  padding: 20px 22px;
}
.article-source--wise-transfer .source-dpc-area .source-cta-title {
  color: var(--white);
  font-size: 22px;
  font-weight: 800;
  line-height: 1.5;
}
.article-source--wise-transfer .source-dpc-area .source-cta-body {
  padding: 22px;
}
.article-source--wise-transfer .source-dpc-area .source-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 240px;
  min-height: 50px;
  text-decoration: none !important;
  font-weight: 700;
  padding: 11px 18px;
  border-radius: 3px;
  background: var(--red);
  color: var(--white) !important;
  border: 1px solid var(--red);
}
@media (max-width: 700px) {
  .article-source--wise-transfer .source-dpc-area {
    padding: 0 14px;
  }
  .article-source--wise-transfer .source-dpc-area h2 {
    font-size: 21px;
    margin-top: 36px;
  }
  .article-source--wise-transfer .source-dpc-area .source-quick,
  .article-source--wise-transfer .source-dpc-area .source-grid2,
  .article-source--wise-transfer .source-dpc-area .source-grid3 {
    grid-template-columns: 1fr;
  }
  .article-source--wise-transfer .source-dpc-area .source-step {
    grid-template-columns: 46px 1fr;
    gap: 10px;
  }
  .article-source--wise-transfer .source-dpc-area .source-step-num {
    width: 40px;
    height: 40px;
    font-size: 14px;
  }
  .article-source--wise-transfer .source-dpc-area .source-btn {
    width: 100%;
  }
}

/* https://klfudousan.com/rpgt/ */

@media (max-width: 767px) {
  .article-source--rpgt .source-kl-rpgt-page {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  .article-source--rpgt .source-kl-rpgt-page h1 {
    font-size: 28px !important;
    line-height: 1.45 !important;
  }
  .article-source--rpgt .source-kl-rpgt-page h2 {
    font-size: 21px !important;
    line-height: 1.5 !important;
  }
  .article-source--rpgt .source-kl-rpgt-page h3 {
    font-size: 18px !important;
    line-height: 1.55 !important;
  }
  .article-source--rpgt .source-kl-rpgt-page p,
  .article-source--rpgt .source-kl-rpgt-page li {
    font-size: 16px !important;
    line-height: 1.85 !important;
  }
  .article-source--rpgt .source-kl-rpgt-page table,
  .article-source--rpgt .source-kl-rpgt-page th,
  .article-source--rpgt .source-kl-rpgt-page td {
    font-size: 15px !important;
    line-height: 1.65 !important;
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
  }
  .article-source--rpgt .source-kl-rpgt-grid {
    grid-template-columns: 1fr !important;
  }
}

.article-source .source-style-ab79ea2b85.source-style-ab79ea2b85 {
  margin: 0;
}
.article-source .source-style-7e96f730b0.source-style-7e96f730b0 {
  margin: 0 0 18px;
  font-size: 15px;
  line-height: 1.9;
}
.article-source .source-style-e0632ea7fd.source-style-e0632ea7fd {
  margin: 12px 0 0;
}
.article-source .source-style-d6ccb85d79.source-style-d6ccb85d79 {
  max-width: 1000px;
  margin: 0 auto;
  color: var(--ink);
  line-height: 1.85;
  font-size: 16px;
}
.article-source .source-style-b76f1213ff.source-style-b76f1213ff {
  font-size: 17px;
  margin: 0 0 18px;
}
.article-source .source-style-a9a38e16f2.source-style-a9a38e16f2 {
  background: var(--ivory);
  border: 1px solid var(--line);
  border-left: 4px solid var(--gold);
  padding: 15px 18px;
  margin: 22px 0 38px;
  font-size: 13px;
}
.article-source .source-style-2eeaae9adb.source-style-2eeaae9adb {
  color: var(--navy);
}
.article-source .source-style-dbf89c6d06.source-style-dbf89c6d06 {
  background: var(--white);
  color: var(--navy);
  border-left: 5px solid var(--gold);
  padding: 3px 0 3px 14px;
  margin: 50px 0 22px;
  font-size: 24px;
}
.article-source .source-style-debd579d17.source-style-debd579d17 {
  background: var(--ivory);
  border: 1px solid var(--line);
  border-left: 4px solid var(--gold);
  padding: 18px 20px;
  margin: 20px 0 26px;
}
.article-source .source-style-886c2d68f7.source-style-886c2d68f7 {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.article-source .source-style-e8485adb25.source-style-e8485adb25 {
  font-size: 22px;
  line-height: 1;
  color: var(--gold);
}
.article-source .source-style-eb2a29d46f.source-style-eb2a29d46f {
  display: block;
  color: var(--navy);
  margin-bottom: 5px;
}
.article-source .source-style-32197baf6b.source-style-32197baf6b {
  font-size: 14px;
  color: var(--ink);
  margin: 0 0 8px;
  text-align: right;
}
.article-source .source-style-89b7104ea1.source-style-89b7104ea1 {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 20px 0 28px;
}
.article-source .source-style-46811e98b9.source-style-46811e98b9 {
  width: 100%;
  min-width: 900px;
  border-collapse: collapse;
  background: var(--white);
  font-size: 15px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-9f82958bd8.source-style-9f82958bd8 {
  width: 28%;
  border: 1px solid var(--line);
  background: var(--navy);
  color: var(--white);
  padding: 12px 14px;
  text-align: left;
  font-size: 15px;
  line-height: 1.65;
}
.article-source .source-style-5e131922f2.source-style-5e131922f2 {
  width: 29%;
  border: 1px solid var(--line);
  background: var(--navy);
  color: var(--white);
  padding: 12px 14px;
  text-align: left;
  font-size: 15px;
  line-height: 1.65;
}
.article-source .source-style-e5d4d3b3da.source-style-e5d4d3b3da {
  border: 1px solid var(--line);
  background: var(--navy);
  color: var(--white);
  padding: 12px 14px;
  text-align: left;
  font-size: 15px;
  line-height: 1.65;
}
.article-source .source-style-008052c460.source-style-008052c460 {
  border: 1px solid var(--line);
  padding: 12px 14px;
  font-size: 15px;
  line-height: 1.65;
}
.article-source .source-style-1e42c2de69.source-style-1e42c2de69 {
  background: var(--ivory);
}
.article-source .source-style-eb382321d8.source-style-eb382321d8 {
  color: var(--red);
  font-weight: 700;
  text-decoration: underline;
}
.article-source .source-style-070aa9331d.source-style-070aa9331d {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
  margin: 26px 0;
}
.article-source .source-style-f76ec9f749.source-style-f76ec9f749 {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 22px;
}
.article-source .source-style-7850688acb.source-style-7850688acb {
  font-size: 24px;
  margin-bottom: 8px;
}
.article-source .source-style-872db5d028.source-style-872db5d028 {
  display: block;
  color: var(--navy);
  font-size: 17px;
  margin-bottom: 8px;
}
.article-source .source-style-42b677f27a.source-style-42b677f27a {
  font-size: 15px;
  line-height: 1.75;
}
.article-source .source-style-4bde3e9efe.source-style-4bde3e9efe {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--red);
  padding: 22px;
}
.article-source .source-style-047cd14dd4.source-style-047cd14dd4 {
  background: var(--ivory);
  border: 1px solid var(--line);
  border-left: 4px solid var(--red);
  padding: 18px 20px;
  margin: 24px 0;
}
.article-source .source-style-4dae88a123.source-style-4dae88a123 {
  display: block;
  color: var(--red);
  font-size: 17px;
  margin-bottom: 8px;
}
.article-source .source-style-ae65203098.source-style-ae65203098 {
  color: var(--navy);
  font-size: 20px;
  margin: 32px 0 14px;
}
.article-source .source-style-414812b6a8.source-style-414812b6a8 {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  background: var(--white);
  font-size: 15px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-0bf1da1ed3.source-style-0bf1da1ed3 {
  border: 1px solid var(--line);
  background: var(--navy);
  color: var(--white);
  padding: 12px 14px;
  text-align: left;
  font-size: 15px;
}
.article-source .source-style-923a06a524.source-style-923a06a524 {
  border: 1px solid var(--line);
  padding: 12px 14px;
  font-size: 15px;
}
.article-source .source-style-f459cec8c4.source-style-f459cec8c4 {
  font-size: 13px;
  color: var(--ink);
}
.article-source .source-style-66716c78e0.source-style-66716c78e0 {
  background: var(--white);
  color: var(--navy);
  border-left: 5px solid var(--gold);
  padding: 3px 0 3px 14px;
  margin: 50px 0 22px;
  font-size: 24px;
  scroll-margin-top: 100px;
}
.article-source .source-style-89ec727ea1.source-style-89ec727ea1 {
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 32px 0 38px !important;
  padding: 0 !important;
  background: var(--ivory) !important;
  border: 1px solid var(--line) !important;
  border-left: 6px solid var(--gold) !important;
  border-radius: 10px !important;
  box-shadow: 0 5px 18px color-mix(in srgb, var(--navy) 7%, transparent) !important;
  text-align: left !important;
  font-family: inherit !important;
  overflow: hidden !important;
}
.article-source .source-style-a3aa00dae8.source-style-a3aa00dae8 {
  padding: 22px 20px 19px !important;
  background: var(--ivory) !important;
  border-bottom: 1px solid var(--line) !important;
}
.article-source .source-style-39d5f2a7e3.source-style-39d5f2a7e3 {
  display: flex !important;
  align-items: center !important;
  margin: 0 0 11px 0 !important;
}
.article-source .source-style-fc01c563ea.source-style-fc01c563ea {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  margin-right: 11px !important;
  background: var(--gold) !important;
  border-radius: 50% !important;
  color: var(--white) !important;
  font-size: 19px !important;
}
.article-source .source-style-19f1863782.source-style-19f1863782 {
  color: var(--gold) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
}
.article-source .source-style-35ac695089.source-style-35ac695089 {
  color: var(--navy) !important;
  font-size: 21px !important;
  line-height: 1.55 !important;
  font-weight: 800 !important;
}
.article-source .source-style-b87b936ef6.source-style-b87b936ef6 {
  width: 54px !important;
  height: 3px !important;
  margin: 14px 0 0 !important;
  background: var(--gold) !important;
}
.article-source .source-style-2dbf7877d1.source-style-2dbf7877d1 {
  padding: 22px 20px 23px !important;
  color: var(--ink) !important;
}
.article-source .source-style-0843a6fb81.source-style-0843a6fb81 {
  margin: 0 0 16px !important;
  font-size: 15px !important;
  line-height: 1.95 !important;
}
.article-source .source-style-85e3a3a4a0.source-style-85e3a3a4a0 {
  color: var(--navy) !important;
  font-weight: 800 !important;
}
.article-source .source-style-9158075921.source-style-9158075921 {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
  gap: 12px !important;
  margin: 20px 0 !important;
}
.article-source .source-style-6650fdca24.source-style-6650fdca24 {
  background: var(--white) !important;
  border: 1px solid var(--line) !important;
  padding: 16px !important;
}
.article-source .source-style-8f536e1501.source-style-8f536e1501 {
  display: block !important;
  color: var(--navy) !important;
  margin-bottom: 5px !important;
}
.article-source .source-style-ce0c44c1c6.source-style-ce0c44c1c6 {
  font-size: 14px !important;
  line-height: 1.8 !important;
}
.article-source .source-style-0a673e1283.source-style-0a673e1283 {
  margin: 20px 0 !important;
  padding: 17px 18px !important;
  background: var(--white) !important;
  border-left: 4px solid var(--gold) !important;
}
.article-source .source-style-62d8d36a7f.source-style-62d8d36a7f {
  color: var(--navy) !important;
  font-size: 15px !important;
  line-height: 1.85 !important;
}
.article-source .source-style-4db77b5199.source-style-4db77b5199 {
  margin: 22px 0 0 !important;
  padding: 19px !important;
  background: var(--navy) !important;
  border-left: 4px solid var(--red) !important;
  color: var(--white) !important;
}
.article-source .source-style-7dfbd2133c.source-style-7dfbd2133c {
  margin: 0 0 7px !important;
  color: var(--gold) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.07em !important;
}
.article-source .source-style-8b3a5aaa91.source-style-8b3a5aaa91 {
  font-size: 15px !important;
  line-height: 1.9 !important;
}
.article-source .source-style-b109533ca9.source-style-b109533ca9 {
  color: var(--white) !important;
}
.article-source .source-style-bcee5832ae.source-style-bcee5832ae {
  width: 28%;
  border: 1px solid var(--line);
  background: var(--navy);
  color: var(--white);
  padding: 12px 14px;
  text-align: left;
  font-size: 15px;
}
.article-source .source-style-9ead7f852b.source-style-9ead7f852b {
  width: 30%;
  border: 1px solid var(--line);
  background: var(--navy);
  color: var(--white);
  padding: 12px 14px;
  text-align: left;
  font-size: 15px;
}
.article-source .source-style-c8365f8249.source-style-c8365f8249 {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 24px;
  margin: 26px 0;
}
.article-source .source-style-865fdbecd3.source-style-865fdbecd3 {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.article-source .source-style-069358afc4.source-style-069358afc4 {
  font-size: 28px;
  line-height: 1;
}
.article-source .source-style-25de78bfbe.source-style-25de78bfbe {
  display: block;
  color: var(--navy);
  font-size: 18px;
  margin-bottom: 8px;
}
.article-source .source-style-65ad06e4d9.source-style-65ad06e4d9 {
  font-size: 15px;
  line-height: 1.8;
}
.article-source .source-style-da8c6fc414.source-style-da8c6fc414 {
  width: 27%;
  border: 1px solid var(--line);
  background: var(--navy);
  color: var(--white);
  padding: 12px 14px;
  text-align: left;
  font-size: 15px;
}
.article-source .source-style-075017ff7d.source-style-075017ff7d {
  width: 31%;
  border: 1px solid var(--line);
  background: var(--navy);
  color: var(--white);
  padding: 12px 14px;
  text-align: left;
  font-size: 15px;
}
.article-source .source-style-2cad97611b.source-style-2cad97611b {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 17px 5px;
}
.article-source .source-style-a2f13a5e84.source-style-a2f13a5e84 {
  display: block;
  color: var(--navy);
  margin-bottom: 6px;
}
.article-source .source-style-e9461782c5.source-style-e9461782c5 {
  border-bottom: 1px solid var(--line);
  padding: 17px 5px;
}
.article-source .source-style-b3cea1cd90.source-style-b3cea1cd90 {
  background: var(--ivory);
  border: 1px solid var(--line);
  padding: 35px 25px;
  margin: 58px 0 10px;
  text-align: center;
}
.article-source .source-style-032b006748.source-style-032b006748 {
  background: transparent;
  border: 0;
  color: var(--navy);
  padding: 0;
  margin: 0 0 14px;
  font-size: 24px;
}
.article-source .source-style-cfa9471249.source-style-cfa9471249 {
  max-width: 720px;
  margin: 0 auto 22px;
}
.article-source .source-style-b08c5d8c62.source-style-b08c5d8c62 {
  display: inline-block;
  background: var(--red);
  color: var(--white);
  text-decoration: none;
  padding: 14px 28px;
  font-weight: 700;
}
.article-source .source-style-74fc24cecd.source-style-74fc24cecd {
  background: var(--ivory);
  border: 1px solid var(--line);
  border-left: 4px solid var(--gold);
  padding: 18px 20px;
  margin: 24px 0;
}
.article-source .source-style-508685d52f.source-style-508685d52f {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  background: var(--white);
  font-size: 15px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-4089002982.source-style-4089002982 {
  width: 30%;
  border: 1px solid var(--line);
  background: var(--navy);
  color: var(--white);
  padding: 12px 14px;
  text-align: left;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-6d5d8dad60.source-style-6d5d8dad60 {
  border: 1px solid var(--line);
  background: var(--navy);
  color: var(--white);
  padding: 12px 14px;
  text-align: left;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-8c94672285.source-style-8c94672285 {
  border: 1px solid var(--line);
  padding: 12px 14px;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-d7eab870f3.source-style-d7eab870f3 {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
  background: var(--white);
  font-size: 15px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-cb1d9482ff.source-style-cb1d9482ff {
  width: 34%;
  border: 1px solid var(--line);
  background: var(--navy);
  color: var(--white);
  padding: 12px 14px;
  text-align: left;
  font-size: 15px;
  line-height: 1.65;
}
.article-source .source-style-9f2af785c2.source-style-9f2af785c2 {
  background: var(--ivory);
  border: 1px solid var(--line);
  border-left: 4px solid var(--gold);
  padding: 18px 20px;
  margin: 18px 0;
}
.article-source .source-style-6a30557445.source-style-6a30557445 {
  background: var(--ivory);
  border: 1px solid var(--line);
  border-left: 4px solid var(--gold);
  padding: 18px 20px;
  margin: 18px 0 28px;
}
.article-source .source-style-4a887f5a9c.source-style-4a887f5a9c {
  background: var(--ivory);
  border: 1px solid var(--line);
  border-left: 4px solid var(--red);
  padding: 18px 20px;
  margin: 26px 0 34px;
}
.article-source .source-style-5f6eaf551c.source-style-5f6eaf551c {
  font-size: 13px;
  line-height: 1.7;
  color: var(--ink);
  margin: 18px 0;
}
.article-source .source-style-640eef6de7.source-style-640eef6de7 {
  font-size: 13px;
  color: var(--ink);
  margin: 0 0 18px;
}
.article-source .source-style-07f4b9f3e9.source-style-07f4b9f3e9 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 28px 0 34px;
}
.article-source .source-style-483c94612b.source-style-483c94612b {
  display: block;
  color: var(--navy);
}
.article-source .source-style-a3970b9f8a.source-style-a3970b9f8a {
  font-size: 15px;
}
.article-source .source-style-9129dd9fdd.source-style-9129dd9fdd {
  display: block;
  color: var(--navy);
  font-size: 18px;
  margin-bottom: 7px;
}
.article-source .source-style-af0a9915e5.source-style-af0a9915e5 {
  font-size: 13px;
  color: var(--ink);
  margin: 10px 0 4px;
}
.article-source .source-style-7830271636.source-style-7830271636 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 20px;
}
.article-source .source-style-ba784339f6.source-style-ba784339f6 {
  font-size: 12px;
  color: var(--gold);
  font-weight: 800;
  letter-spacing: 0.06em;
}
.article-source .source-style-0098c1b0ae.source-style-0098c1b0ae {
  margin: 5px 0 10px;
}
.article-source .source-style-18ec0f554c.source-style-18ec0f554c {
  margin: 0;
  padding-left: 1.25em;
}
.article-source .source-style-e11f7335a3.source-style-e11f7335a3 {
  display: inline-block;
  margin-top: 12px;
}
.article-source .source-style-3f7e609f5d.source-style-3f7e609f5d {
  display: block;
  color: var(--navy);
  font-size: 17px;
  margin-bottom: 7px;
}
.article-source .source-style-21105a3272.source-style-21105a3272 {
  margin: 18px 0 26px;
}
.article-source .source-style-209a05a249.source-style-209a05a249 {
  margin: 5px 0 8px;
}
.article-source .source-style-f1356cf70f.source-style-f1356cf70f {
  border: 1px solid var(--line);
  background: var(--white);
  margin: 18px 0 28px;
}
.article-source .source-style-2f9e31d4e2.source-style-2f9e31d4e2 {
  display: flex;
  gap: 14px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
}
.article-source .source-style-121e063fdb.source-style-121e063fdb {
  color: var(--gold);
  min-width: 28px;
}
.article-source .source-style-45fa8fec95.source-style-45fa8fec95 {
  display: flex;
  gap: 14px;
  padding: 16px 18px;
}
.article-source .source-style-b91665bc69.source-style-b91665bc69 {
  width: 100%;
  margin: 38px 0 10px;
  background: var(--ivory);
  border: 1px solid var(--line);
  border-left: 6px solid var(--gold);
  border-radius: 10px;
  box-shadow: 0 5px 18px color-mix(in srgb, var(--navy) 7%, transparent);
  overflow: hidden;
}
.article-source .source-style-1a96610623.source-style-1a96610623 {
  padding: 22px 20px 19px;
  background: var(--ivory);
  border-bottom: 1px solid var(--line);
}
.article-source .source-style-927c08d04d.source-style-927c08d04d {
  color: var(--gold);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin-bottom: 8px;
}
.article-source .source-style-a928f253e8.source-style-a928f253e8 {
  color: var(--navy);
  font-size: 21px;
  line-height: 1.55;
  font-weight: 800;
}
.article-source .source-style-c7d65c8075.source-style-c7d65c8075 {
  padding: 22px 20px 23px;
}
.article-source .source-style-de58553c18.source-style-de58553c18 {
  margin: 0 0 18px;
  font-size: 15px;
  line-height: 1.95;
}
.article-source .source-style-ddea3ce9b7.source-style-ddea3ce9b7 {
  display: inline-block;
  background: var(--red);
  color: var(--white);
  text-decoration: none;
  font-weight: 700;
  padding: 12px 20px;
  border-radius: 3px;
}
.article-source .source-style-e08ce50bd1.source-style-e08ce50bd1 {
  margin: 30px 0;
  text-align: center;
}
.article-source .source-style-ba9d4a7d27.source-style-ba9d4a7d27 {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
.article-source .source-style-bbbb15bf57.source-style-bbbb15bf57 {
  font-size: 13px;
  color: var(--ink);
  margin-top: 10px;
}
.article-source .source-style-47097cf503.source-style-47097cf503 {
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 38px 0 !important;
  padding: 0 !important;
  background: var(--ivory) !important;
  border: 1px solid var(--line) !important;
  border-left: 6px solid var(--gold) !important;
  border-radius: 10px !important;
  box-shadow: 0 5px 18px color-mix(in srgb, var(--navy) 7%, transparent) !important;
  text-align: left !important;
  font-family: inherit !important;
  overflow: hidden !important;
}
.article-source .source-style-c1d0cb228c.source-style-c1d0cb228c {
  margin: 0 0 18px !important;
  font-size: 14px !important;
  line-height: 1.95 !important;
}
.article-source .source-style-8300ae3bc0.source-style-8300ae3bc0 {
  margin: 20px 0 !important;
  padding: 18px !important;
  background: var(--white) !important;
  border: 1px solid var(--line) !important;
  border-radius: 7px !important;
}
.article-source .source-style-0414b7a44b.source-style-0414b7a44b {
  margin: 0 0 5px !important;
  color: var(--gold) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
}
.article-source .source-style-5e3b24f8b6.source-style-5e3b24f8b6 {
  color: var(--navy) !important;
  font-size: 22px !important;
  line-height: 1.45 !important;
  font-weight: 800 !important;
}
.article-source .source-style-a4724e8faa.source-style-a4724e8faa {
  margin: 0 0 21px !important;
  padding: 18px !important;
  background: var(--white) !important;
  border: 1px solid var(--line) !important;
  border-radius: 7px !important;
}
.article-source .source-style-a2f8cafa5c.source-style-a2f8cafa5c {
  margin: 0 0 19px !important;
  font-size: 14px !important;
  line-height: 1.95 !important;
}
.article-source .source-style-1f879e21de.source-style-1f879e21de {
  margin: 17px 0 0 !important;
  color: var(--ink) !important;
  font-size: 11px !important;
  line-height: 1.75 !important;
}
.article-source .source-style-8abc294740.source-style-8abc294740 {
  overflow-x: auto;
  margin: 24px 0 30px;
}
.article-source .source-style-359cfc150f.source-style-359cfc150f {
  width: 27%;
  border: 1px solid var(--line);
  padding: 12px;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  background: var(--navy);
  color: var(--white);
  text-align: center;
}
.article-source .source-style-a6f00ecccb.source-style-a6f00ecccb {
  width: 38%;
  border: 1px solid var(--line);
  padding: 12px;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  background: var(--navy);
  color: var(--white);
  text-align: center;
}
.article-source .source-style-c15c1f8493.source-style-c15c1f8493 {
  border: 1px solid var(--line);
  padding: 12px;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  background: var(--navy);
  color: var(--white);
  text-align: center;
}
.article-source .source-style-625633bfd1.source-style-625633bfd1 {
  border: 1px solid var(--line);
  padding: 12px;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-38e13e098d.source-style-38e13e098d {
  margin: 0 0 16px !important;
  font-size: 14px !important;
  line-height: 1.95 !important;
}
.article-source .source-style-9869621900.source-style-9869621900 {
  margin: 20px 0 !important;
  padding: 16px 18px !important;
  background: var(--white) !important;
  border-left: 4px solid var(--gold) !important;
}
.article-source .source-style-25578eac5c.source-style-25578eac5c {
  color: var(--navy) !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}
.article-source .source-style-69cea157b8.source-style-69cea157b8 {
  margin: 22px 0 0 !important;
  padding: 18px !important;
  background: var(--ivory) !important;
  border-left: 4px solid var(--navy) !important;
}
.article-source .source-style-410082330d.source-style-410082330d {
  margin: 0 0 6px !important;
  color: var(--gold) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.07em !important;
}
.article-source .source-style-6a5de50503.source-style-6a5de50503 {
  color: var(--navy) !important;
  font-size: 14px !important;
  line-height: 1.9 !important;
}
.article-source .source-style-12b5d04cb2.source-style-12b5d04cb2 {
  background: var(--ivory);
  border: 1px solid var(--line);
  border-left: 4px solid var(--gold);
  padding: 18px 20px;
  margin: 16px 0;
}
.article-source .source-style-bf21cb63d8.source-style-bf21cb63d8 {
  background: var(--ivory);
  border: 1px solid var(--line);
  border-left: 4px solid var(--gold);
  padding: 18px 20px;
  margin: 16px 0 28px;
}
.article-source .source-style-226444d366.source-style-226444d366 {
  font-size: 14px;
}
.article-source .source-style-1c7c1d8107.source-style-1c7c1d8107 {
  margin: 21px 0 !important;
  padding: 18px !important;
  background: var(--white) !important;
  border: 1px solid var(--line) !important;
  border-left: 5px solid var(--gold) !important;
}
.article-source .source-style-559f52cf4c.source-style-559f52cf4c {
  color: var(--navy) !important;
  font-size: 20px !important;
  line-height: 1.5 !important;
  font-weight: 800 !important;
}
.article-source .source-style-c77bb8abb2.source-style-c77bb8abb2 {
  margin: 22px 0 !important;
  padding: 18px !important;
  background: var(--ivory) !important;
  border-left: 4px solid var(--navy) !important;
}
.article-source .source-style-c469e61ccd.source-style-c469e61ccd {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin: 24px 0 36px;
}
.article-source .source-style-3b3edd50f2.source-style-3b3edd50f2 {
  font-size: 12px;
  font-weight: 500;
  color: var(--ink);
}
.article-source .source-style-7883c4ee8d.source-style-7883c4ee8d {
  max-width: 1000px;
  margin: 0 auto;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.85;
}
.article-source .source-style-bb77799ce1.source-style-bb77799ce1 {
  background: var(--ivory);
  border: 1px solid var(--line);
  border-left: 5px solid var(--gold);
  padding: 20px 22px;
  margin: 24px 0;
}
.article-source .source-style-70b4739c0a.source-style-70b4739c0a {
  color: var(--navy);
  border-left: 5px solid var(--gold);
  padding-left: 14px;
  margin: 46px 0 18px;
}
.article-source .source-style-caccfc414c.source-style-caccfc414c {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 20px 0 8px;
}
.article-source .source-style-5bb86029f3.source-style-5bb86029f3 {
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
  background: var(--white);
}
.article-source .source-style-3317367166.source-style-3317367166 {
  background: var(--navy);
  color: var(--white);
}
.article-source .source-style-4033863d00.source-style-4033863d00 {
  border: 1px solid var(--line);
  padding: 13px 14px;
  text-align: left;
}
.article-source .source-style-d4a7f42323.source-style-d4a7f42323 {
  border: 1px solid var(--line);
  padding: 13px 14px;
  font-weight: 700;
}
.article-source .source-style-a67d858420.source-style-a67d858420 {
  border: 1px solid var(--line);
  padding: 13px 14px;
}
.article-source .source-style-73cb2565d3.source-style-73cb2565d3 {
  color: var(--red);
}
.article-source .source-style-b519f71c0c.source-style-b519f71c0c {
  font-size: 13px;
  color: var(--ink);
  margin-top: 5px;
}
.article-source .source-style-88b57a1997.source-style-88b57a1997 {
  background: var(--navy);
  color: var(--white);
  padding: 23px;
  margin: 22px 0;
  text-align: center;
}
.article-source .source-style-b102ecb991.source-style-b102ecb991 {
  font-size: 13px;
  color: var(--gold);
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-bottom: 7px;
}
.article-source .source-style-48deae333c.source-style-48deae333c {
  font-size: 19px;
  font-weight: 800;
}
.article-source .source-style-c5a5f1fa0a.source-style-c5a5f1fa0a {
  color: var(--navy);
  margin: 28px 0 13px;
}
.article-source .source-style-c0e8b59597.source-style-c0e8b59597 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0 26px;
}
.article-source .source-style-5edeebdfcd.source-style-5edeebdfcd {
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 18px;
  background: var(--white);
}
.article-source .source-style-2778f529a5.source-style-2778f529a5 {
  background: var(--ivory);
  border: 1px solid var(--line);
  border-left: 5px solid var(--gold);
  padding: 22px;
  margin: 20px 0;
}
.article-source .source-style-50033e66b3.source-style-50033e66b3 {
  display: block;
  color: var(--navy);
  font-size: 18px;
  margin-bottom: 10px;
}
.article-source .source-style-3e47b193f8.source-style-3e47b193f8 {
  margin: 0 0 8px;
}
.article-source .source-style-b61891e9bc.source-style-b61891e9bc {
  width: 100%;
  box-sizing: border-box;
  margin: 38px 0 10px;
  background: var(--ivory);
  border: 1px solid var(--line);
  border-left: 6px solid var(--gold);
  border-radius: 10px;
  box-shadow: 0 5px 18px color-mix(in srgb, var(--navy) 7%, transparent);
  overflow: hidden;
}
.article-source .source-style-cb3945b513.source-style-cb3945b513 {
  width: 54px;
  height: 3px;
  margin: 14px 0 0;
  background: var(--gold);
}
.article-source .source-style-b5f23c702d.source-style-b5f23c702d {
  font-size: 13px;
  color: var(--ink);
  margin-top: 22px;
}
.article-source .source-style-c899343728.source-style-c899343728 {
  width: 30%;
  border: 1px solid var(--line);
  padding: 12px;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  background: var(--navy);
  color: var(--white);
  text-align: left;
}
.article-source .source-style-e7e974c75a.source-style-e7e974c75a {
  border: 1px solid var(--line);
  padding: 12px;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  background: var(--navy);
  color: var(--white);
  text-align: left;
}
.article-source .source-style-a49cca52be.source-style-a49cca52be {
  font-size: 12px;
}
.article-source .source-style-82754fd8a4.source-style-82754fd8a4 {
  overflow-x: auto;
  margin: 20px 0 28px;
}
.article-source .source-style-a57c0e31c1.source-style-a57c0e31c1 {
  border: 1px solid var(--line);
  background: var(--navy);
  color: var(--white);
  padding: 12px;
  text-align: left;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-2f5f120fdf.source-style-2f5f120fdf {
  background: var(--ivory);
  border: 1px solid var(--line);
  border-left: 4px solid var(--gold);
  padding: 18px 20px;
  margin: 22px 0;
}
.article-source .source-style-961bd1e43a.source-style-961bd1e43a {
  width: 38%;
  border: 1px solid var(--line);
  padding: 12px;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  background: var(--navy);
  color: var(--white);
  text-align: left;
}
.article-source .source-style-0d69b62d00.source-style-0d69b62d00 {
  width: 24%;
  border: 1px solid var(--line);
  background: var(--navy);
  color: var(--white);
  padding: 12px;
  text-align: left;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-00c20d1fc4.source-style-00c20d1fc4 {
  background: var(--ivory);
  border: 1px solid var(--line);
  border-left: 4px solid var(--red);
  padding: 18px 20px;
  margin: 22px 0;
}
.article-source .source-style-ec0bfd646e.source-style-ec0bfd646e {
  margin: 28px 0 22px;
  text-align: center;
}
.article-source .source-style-0e515c823b.source-style-0e515c823b {
  margin: 0 0 17px !important;
  font-size: 14px !important;
  line-height: 1.95 !important;
}
.article-source .source-style-98733da06c.source-style-98733da06c {
  color: var(--navy) !important;
  font-size: 15px !important;
}
.article-source .source-style-6e8465b415.source-style-6e8465b415 {
  background: var(--ivory);
  border: 1px solid var(--line);
  border-left: 4px solid var(--gold);
  padding: 15px 18px;
  margin: 22px 0 40px;
  font-size: 13px;
}
.article-source .source-style-b7b6aafb78.source-style-b7b6aafb78 {
  background: var(--white);
  color: var(--navy);
  border-left: 5px solid var(--gold);
  padding: 3px 0 3px 14px;
  margin: 50px 0 22px;
  font-size: 24px;
  line-height: 1.45;
}
.article-source .source-style-634fb95c15.source-style-634fb95c15 {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 28px;
}
.article-source .source-style-42bc027f8b.source-style-42bc027f8b {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  background: var(--white);
  font-size: 15px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-8d719df637.source-style-8d719df637 {
  width: 25%;
  border: 1px solid var(--line);
  background: var(--ivory);
  color: var(--navy);
  padding: 12px 14px;
  text-align: left;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-11097f30d8.source-style-11097f30d8 {
  width: 25%;
  border: 1px solid var(--line);
  background: var(--ink);
  color: var(--white);
  padding: 12px;
  text-align: center;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-dcbb0509bc.source-style-dcbb0509bc {
  font-size: 12px;
  font-weight: 400;
}
.article-source .source-style-01a226c5db.source-style-01a226c5db {
  width: 25%;
  border: 1px solid var(--line);
  background: var(--gold);
  color: var(--white);
  padding: 12px;
  text-align: center;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-fad77ad461.source-style-fad77ad461 {
  width: 25%;
  border: 1px solid var(--line);
  background: var(--navy);
  color: var(--white);
  padding: 12px;
  text-align: center;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-11f597275b.source-style-11f597275b {
  border: 1px solid var(--line);
  padding: 11px 14px;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-1963a33bfa.source-style-1963a33bfa {
  border: 1px solid var(--line);
  padding: 11px;
  text-align: center;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-4762726c92.source-style-4762726c92 {
  border: 1px solid var(--line);
  padding: 11px;
  text-align: center;
  color: var(--red);
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-86df85ee36.source-style-86df85ee36 {
  border: 1px solid var(--line);
  padding: 11px;
  text-align: center;
}
.article-source .source-style-3b7c01516c.source-style-3b7c01516c {
  padding: 22px 20px 19px !important;
  background: var(--ivory) !important;
  border-bottom: 1px solid var(--line) !important;
  text-align: left !important;
}
.article-source .source-style-8af3ed8815.source-style-8af3ed8815 {
  padding: 22px 20px 23px !important;
  color: var(--ink) !important;
  text-align: left !important;
}
.article-source .source-style-d17157a403.source-style-d17157a403 {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 20px 0 25px;
}
.article-source .source-style-166053f7b4.source-style-166053f7b4 {
  width: 100%;
  min-width: 600px;
  border-collapse: collapse;
  background: var(--white);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-b8648446e5.source-style-b8648446e5 {
  border: 1px solid var(--line);
  background: var(--ink);
  color: var(--white);
  padding: 12px;
  text-align: center;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-0dbf44db2b.source-style-0dbf44db2b {
  border: 1px solid var(--line);
  background: var(--gold);
  color: var(--white);
  padding: 12px;
  text-align: center;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-936e9e0efd.source-style-936e9e0efd {
  border: 1px solid var(--line);
  background: var(--navy);
  color: var(--white);
  padding: 12px;
  text-align: center;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-503ca78385.source-style-503ca78385 {
  border: 1px solid var(--line);
  padding: 16px;
  text-align: center;
  color: var(--red);
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-080d3d75c5.source-style-080d3d75c5 {
  margin-top: 6px !important;
  color: var(--ink) !important;
  font-size: 12px !important;
  line-height: 1.7 !important;
}
.article-source .source-style-9c19ddbffd.source-style-9c19ddbffd {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 20px 0 14px;
}
.article-source .source-style-71b66f2b42.source-style-71b66f2b42 {
  width: 100%;
  min-width: 820px;
  border-collapse: collapse;
  background: var(--white);
  font-size: 15px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-429cfb0f61.source-style-429cfb0f61 {
  width: 28%;
  border: 1px solid var(--line);
  background: var(--ivory);
  color: var(--navy);
  padding: 12px 14px;
  text-align: left;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-2cebc1a640.source-style-2cebc1a640 {
  width: 24%;
  border: 1px solid var(--line);
  background: var(--ink);
  color: var(--white);
  padding: 12px;
  text-align: center;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-e873c6097d.source-style-e873c6097d {
  width: 24%;
  border: 1px solid var(--line);
  background: var(--gold);
  color: var(--white);
  padding: 12px;
  text-align: center;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-c11341c442.source-style-c11341c442 {
  width: 24%;
  border: 1px solid var(--line);
  background: var(--navy);
  color: var(--white);
  padding: 12px;
  text-align: center;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-8a95bb7b49.source-style-8a95bb7b49 {
  border: 1px solid var(--line);
  padding: 12px;
  text-align: center;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-50e183ffd3.source-style-50e183ffd3 {
  border: 1px solid var(--line);
  padding: 12px;
  text-align: center;
  color: var(--red);
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-67ae3b9007.source-style-67ae3b9007 {
  font-size: 13px;
  color: var(--ink);
  margin-top: 18px;
}
.article-source .source-style-0437b5fa73.source-style-0437b5fa73 {
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
  background: var(--white);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-56014d5662.source-style-56014d5662 {
  width: 30%;
  border: 1px solid var(--line);
  background: var(--ivory);
  color: var(--navy);
  padding: 12px 14px;
  text-align: left;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-dcd35a0c08.source-style-dcd35a0c08 {
  border: 1px solid var(--line);
  background: var(--ivory);
  color: var(--navy);
  padding: 12px 14px;
  text-align: left;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-1a1403564f.source-style-1a1403564f {
  background: var(--ivory);
  border: 1px solid var(--line);
  padding: 15px 18px;
  text-align: center;
  color: var(--red);
  margin: 20px 0;
}
.article-source .source-style-efe8d3b769.source-style-efe8d3b769 {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 25px 0;
}
.article-source .source-style-89c5d0c534.source-style-89c5d0c534 {
  width: 100%;
  min-width: 700px;
  border-collapse: collapse;
  background: var(--white);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-569ab5c3e4.source-style-569ab5c3e4 {
  width: 11%;
  border: 1px solid var(--line);
  background: var(--ivory);
  color: var(--navy);
  padding: 11px;
  text-align: center;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-6750f5ae9d.source-style-6750f5ae9d {
  width: 27%;
  border: 1px solid var(--line);
  background: var(--ivory);
  color: var(--navy);
  padding: 11px;
  text-align: left;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-4ed644b6ba.source-style-4ed644b6ba {
  border: 1px solid var(--line);
  background: var(--ivory);
  color: var(--navy);
  padding: 11px;
  text-align: left;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-0835a84fe1.source-style-0835a84fe1 {
  border: 1px solid var(--line);
  padding: 10px;
  text-align: center;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-eb39598215.source-style-eb39598215 {
  border: 1px solid var(--line);
  padding: 10px;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-038957804b.source-style-038957804b {
  width: 100%;
  min-width: 650px;
  border-collapse: collapse;
  background: var(--white);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-d0a17b4dcb.source-style-d0a17b4dcb {
  background: var(--ivory);
  border-left: 4px solid var(--gold);
  padding: 16px 18px;
  margin: 20px 0;
}
.article-source .source-style-82e0983260.source-style-82e0983260 {
  color: var(--navy);
  font-size: 19px;
  margin: 28px 0 10px;
}
.article-source .source-style-87e4babe6c.source-style-87e4babe6c {
  padding-left: 22px;
}
.article-source .source-style-9631223723.source-style-9631223723 {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 20px 0;
}
.article-source .source-style-ea9b4d7fe0.source-style-ea9b4d7fe0 {
  width: 100%;
  min-width: 580px;
  border-collapse: collapse;
  background: var(--white);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.article-source .source-style-2bdf8e45fd.source-style-2bdf8e45fd {
  margin-top: 18px;
}
.article-source .source-style-1361e00473.source-style-1361e00473 {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin: 25px 0 30px;
}
.article-source .source-style-392c560174.source-style-392c560174 {
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 16px 12px;
  background: var(--white);
  text-align: center;
}
.article-source .source-style-87037f43a6.source-style-87037f43a6 {
  width: 44px;
  height: 44px;
  margin: 0 auto 10px;
  border-radius: 50%;
  background: var(--ivory);
  color: var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
}
.article-source .source-style-ac2598aed4.source-style-ac2598aed4 {
  color: var(--gold);
  font-size: 12px;
  font-weight: 800;
}
.article-source .source-style-f377868ebc.source-style-f377868ebc {
  display: block;
  color: var(--navy);
  margin-top: 4px;
}
.article-source .source-style-17cd29f86c.source-style-17cd29f86c {
  color: var(--navy);
  border-left: 5px solid var(--gold);
  padding-left: 14px;
  margin: 46px 0 20px;
}
.article-source .source-style-e94a553e0d.source-style-e94a553e0d {
  background: var(--ivory);
  border: 1px solid var(--line);
  border-left: 5px solid var(--gold);
  padding: 20px 22px;
  margin: 22px 0;
}
.article-source .source-style-5e8aa06ea1.source-style-5e8aa06ea1 {
  background: var(--ivory);
  border: 1px solid var(--line);
  border-left: 5px solid var(--gold);
  padding: 20px 22px;
  margin: 20px 0;
}
.article-source .source-style-2084f78b06.source-style-2084f78b06 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 20px 0;
}
.article-source .source-style-7c04049049.source-style-7c04049049 {
  width: 100%;
  box-sizing: border-box;
  margin: 34px 0;
  background: var(--ivory);
  border: 1px solid var(--line);
  border-left: 6px solid var(--gold);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 5px 18px color-mix(in srgb, var(--navy) 7%, transparent);
}
.article-source .source-style-a859f9d073.source-style-a859f9d073 {
  padding: 24px;
}
.article-source .source-style-94be53e128.source-style-94be53e128 {
  color: var(--gold);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin-bottom: 7px;
}
.article-source .source-style-6e4008ddda.source-style-6e4008ddda {
  display: block;
  color: var(--navy);
  font-size: 20px;
  line-height: 1.55;
  margin-bottom: 9px;
}
.article-source .source-style-9098ec3eaf.source-style-9098ec3eaf {
  margin: 0;
  font-size: 15px;
  line-height: 1.9;
  color: var(--ink);
}
.article-source .source-style-c6962c1bce.source-style-c6962c1bce {
  width: 100%;
  box-sizing: border-box;
  margin: 22px 0 30px;
  background: var(--ivory);
  border: 1px solid var(--line);
  border-left: 6px solid var(--gold);
  border-radius: 10px;
  box-shadow: 0 5px 18px color-mix(in srgb, var(--navy) 7%, transparent);
  overflow: hidden;
}
.article-source .source-style-6bfaec8746.source-style-6bfaec8746 {
  padding: 21px 20px 18px;
  background: var(--ivory);
  border-bottom: 1px solid var(--line);
}
.article-source .source-style-820ece7577.source-style-820ece7577 {
  color: var(--navy);
  font-size: 20px;
  line-height: 1.55;
  font-weight: 800;
}
.article-source .source-style-46e678a98a.source-style-46e678a98a {
  padding: 20px;
}
.article-source .source-style-a573ccaea9.source-style-a573ccaea9 {
  margin: 0 0 12px;
  font-size: 15px;
  line-height: 1.9;
}
.article-source .source-style-ab68d2bf40.source-style-ab68d2bf40 {
  margin: 0 0 17px;
  font-size: 15px;
  line-height: 1.9;
}
.article-source .source-style-8337411792.source-style-8337411792 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px 24px;
  background: var(--ivory);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 22px;
}
.article-source .source-style-1d40a98ee8.source-style-1d40a98ee8 {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 8px 0;
}
.article-source .source-style-ce25a376e8.source-style-ce25a376e8 {
  font-size: 14px;
  color: var(--ink);
  margin-top: -4px;
}
.article-source .source-style-8159160a1d.source-style-8159160a1d {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin: 26px 0 32px;
}
.article-source .source-style-003d393280.source-style-003d393280 {
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 16px 12px;
  text-align: center;
  background: var(--white);
}
.article-source .source-style-0fbf4294fc.source-style-0fbf4294fc {
  width: 44px;
  height: 44px;
  margin: 0 auto 9px;
  border-radius: 50%;
  background: var(--ivory);
  color: var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
}
.article-source .source-style-a78cef18a1.source-style-a78cef18a1 {
  display: block;
  color: var(--navy);
  margin-top: 6px;
}
.article-source .source-style-0c06597abf.source-style-0c06597abf {
  display: flex;
  gap: 11px;
  align-items: flex-start;
  color: var(--gold);
}
.article-source .source-style-56bde7a736.source-style-56bde7a736 {
  display: block;
  color: var(--navy);
  font-size: 17px;
  margin-bottom: 6px;
}
.article-source .source-style-052323d633.source-style-052323d633 {
  margin: 0;
  color: var(--ink);
}
.article-source .source-style-ab1a9a5042.source-style-ab1a9a5042 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0 20px;
}
.article-source .source-style-6f7d91172d.source-style-6f7d91172d {
  background: var(--ivory);
  border: 1px solid var(--line);
  padding: 15px;
}
.article-source .source-style-aff06b8167.source-style-aff06b8167 {
  padding-left: 1.4em;
}
.article-source .source-style-b92df8cd2a.source-style-b92df8cd2a {
  display: flex;
  align-items: center;
  gap: 14px;
  background: var(--ivory);
  border: 1px solid var(--line);
  border-left: 5px solid var(--gold);
  padding: 18px 20px;
  margin: 18px 0;
}
.article-source .source-style-b8d2345215.source-style-b8d2345215 {
  min-width: 58px;
  text-align: center;
  color: var(--gold);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
}
.article-source .source-style-2939d5b7a6.source-style-2939d5b7a6 {
  display: block;
  font-size: 25px;
  color: var(--navy);
}
.article-source .source-style-0138fdcde6.source-style-0138fdcde6 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin: 20px 0;
}
.article-source .source-style-ba134f1970.source-style-ba134f1970 {
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  padding: 19px;
  background: var(--white);
}
.article-source .source-style-bbfd936104.source-style-bbfd936104 {
  margin: 0;
  padding-left: 1.3em;
}
.article-source .source-style-606cbb548b.source-style-606cbb548b {
  background: var(--ivory);
  border: 1px solid var(--line);
  border-left: 5px solid var(--gold);
  padding: 20px 22px;
  margin: 25px 0;
}
.article-source .source-style-111f99d14a.source-style-111f99d14a {
  margin: 0 0 9px;
}
.article-source .source-style-c4cb0879ed.source-style-c4cb0879ed {
  display: flex;
  gap: 11px;
  align-items: flex-start;
  margin-top: 13px;
  color: var(--gold);
}
.article-source .source-style-62666a658e.source-style-62666a658e {
  margin: 0 0 14px;
  font-size: 15px;
  line-height: 1.9;
}
.article-source .source-style-a1136365bd.source-style-a1136365bd {
  margin-top: 32px;
  font-size: 13px;
  color: var(--ink);
}
.article-source .source-style-b6de7b877a.source-style-b6de7b877a {
  color: var(--navy);
  font-size: 17px;
}
.article-source .source-style-c0d2ab8cd4.source-style-c0d2ab8cd4 {
  font-size: 23px;
  color: var(--gold);
}
.article-source .source-style-371799ac82.source-style-371799ac82 {
  display: block;
  color: var(--navy);
  font-size: 18px;
  margin-bottom: 6px;
}
.article-source .source-style-d685127bdf.source-style-d685127bdf {
  background: var(--white);
  color: var(--navy);
  border-left: 5px solid var(--gold);
  padding: 3px 0 3px 14px;
  margin: 48px 0 20px;
  font-size: 24px;
}
.article-source .source-style-c31d1f15b8.source-style-c31d1f15b8 {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  background: var(--white);
}
.article-source .source-style-39083fe8bc.source-style-39083fe8bc {
  border: 1px solid var(--line);
  padding: 13px 14px;
  font-size: 15px;
  text-align: left;
}
.article-source .source-style-06ddf8c59b.source-style-06ddf8c59b {
  border: 1px solid var(--line);
  padding: 13px 14px;
  font-size: 15px;
  text-align: center;
}
.article-source .source-style-739cbd1003.source-style-739cbd1003 {
  border: 1px solid var(--line);
  padding: 13px 14px;
  font-size: 15px;
  font-weight: 700;
}
.article-source .source-style-4baaeae636.source-style-4baaeae636 {
  font-size: 19px;
  color: var(--red);
}
.article-source .source-style-07a59b0823.source-style-07a59b0823 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 26px 0;
}
.article-source .source-style-4efd414f28.source-style-4efd414f28 {
  font-size: 25px;
  margin-bottom: 8px;
}
.article-source .source-style-c8533e1423.source-style-c8533e1423 {
  background: var(--navy);
  color: var(--white);
  padding: 24px;
  margin: 24px 0;
  text-align: center;
}
.article-source .source-style-33da14daa3.source-style-33da14daa3 {
  font-size: 13px;
  color: var(--gold);
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-bottom: 8px;
}
.article-source .source-style-b691b341ad.source-style-b691b341ad {
  font-size: 19px;
  font-weight: 800;
  line-height: 1.7;
}
.article-source .source-style-26cef33b96.source-style-26cef33b96 {
  color: var(--navy);
  font-size: 20px;
  margin: 30px 0 14px;
}
.article-source .source-style-ac3ac00732.source-style-ac3ac00732 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0 28px;
}
.article-source .source-style-7dcb06dc27.source-style-7dcb06dc27 {
  font-size: 20px;
  color: var(--red);
}
.article-source .source-style-0f0c2071ca.source-style-0f0c2071ca {
  font-size: 20px;
  color: var(--navy);
}
.article-source .source-style-9bb9401ddc.source-style-9bb9401ddc {
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 38px 0 10px !important;
  padding: 0 !important;
  background: var(--ivory) !important;
  border: 1px solid var(--line) !important;
  border-left: 6px solid var(--gold) !important;
  border-radius: 10px !important;
  box-shadow: 0 5px 18px color-mix(in srgb, var(--navy) 7%, transparent) !important;
  overflow: hidden !important;
}
.article-source .source-style-79423ffe73.source-style-79423ffe73 {
  margin: 0 0 18px !important;
  font-size: 15px !important;
  line-height: 1.95 !important;
}
.article-source .source-style-1f021639ec.source-style-1f021639ec {
  border-collapse: collapse;
}
.article-source .source-style-3d4473e67a.source-style-3d4473e67a {
  border: 1px solid var(--ink);
  background-color: var(--gold);
}
.article-source .source-style-a5eb254c25.source-style-a5eb254c25 {
  border: 1px solid var(--ink);
  text-align: center;
}
.article-source .source-style-d1085b3c7b.source-style-d1085b3c7b {
  color: var(--white);
}
.article-source .source-style-a6fc2bd272.source-style-a6fc2bd272 {
  background: var(--gold);
  padding: 5px 10px;
  color: var(--white);
  border-radius: 10px 10px 0 0;
}
.article-source .source-style-48decd8855.source-style-48decd8855 {
  background: var(--white);
  padding: 10px;
  border: 2px solid var(--gold);
  border-radius: 0 0 10px 10px;
}
.article-source .source-style-e4a99358eb.source-style-e4a99358eb {
  color: var(--red);
}
.article-source .source-style-5817ecb992.source-style-5817ecb992 {
  text-decoration: underline;
}
.article-source .source-style-5345389232.source-style-5345389232 {
  background: linear-gradient(transparent 90%, var(--gold) 0%);
}
.article-source .source-style-63dbf5319a.source-style-63dbf5319a {
  text-align: center;
}

/* Shared article layout approved from the TRX presentation. */
.article-main .article-source .article-table-scroll-hint {
  display: block;
}
.article-main .article-source .article-table-scroll-hint[hidden] {
  display: none;
}
/* Preserve complete years in the four-column condominium comparison. */
.article-source--desaparkcity
  table:has(> thead > tr > th:nth-child(4):last-child)
  tr
  > :nth-child(2) {
  min-width: 6.5em;
  white-space: nowrap;
}
.article-redesign-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--navy);
  color: var(--white);
}
.article-redesign-hero-inner {
  display: flex;
  align-items: center;
  min-height: 360px;
  max-width: 960px;
  margin-inline: auto;
}
.article-redesign-heading {
  position: relative;
  z-index: 1;
  width: 60%;
  padding: 48px 24px 48px 0;
}
.article-redesign-heading h1 {
  color: var(--white);
  font-size: clamp(30px, 3vw, 40px);
  line-height: 1.5;
  text-wrap: balance;
}
.article-redesign-title-tail {
  display: block;
  max-width: 100%;
}
.article-redesign-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  align-items: center;
  margin-top: 24px;
  font-size: 13px;
}
.article-redesign-meta .share-link {
  padding: 8px 12px;
  background: transparent;
  color: var(--white);
  border: 1px solid var(--gold);
  font: inherit;
  cursor: pointer;
}
.article-redesign-hero .article-redesign-photo {
  position: absolute;
  z-index: 0;
  inset: 0 0 0 auto;
  display: block;
  width: 64%;
  height: 100%;
  object-fit: cover;
  object-position: center 18%;
  margin: 0;
  mask-image: linear-gradient(to right, transparent, black 48%);
}
/* Keep both sentences on the original pet-rules sign inside the header crop. */
.article-redesign-hero .article-redesign-photo[src*='desapark-pet-fd369112'] {
  max-width: 840px;
  object-position: center;
}
.article-redesign-hero-inner--text .article-redesign-heading {
  width: 100%;
}
.article-redesign-hero-inner--text {
  min-height: 260px;
}
.article-redesign-hero--graphic .article-redesign-photo {
  inset: 32px max(16px, calc((100% - 960px) / 2)) auto auto;
  width: min(38%, 384px);
  height: calc(100% - 64px);
  padding: 24px;
  background: var(--white);
  object-fit: contain;
  object-position: center;
  mask-image: none;
}
.article-redesign-section {
  padding-block: 40px 56px;
}
.article-redesign-section .source-article-layout,
.article-redesign > .imported-content {
  max-width: 960px;
  margin-inline: auto;
}
.article-main.article-redesign .article-source,
.article-main.article-redesign .article-source > :where(div, section, article) {
  font-size: 17px;
  line-height: 1.9;
}
.article-main.article-redesign .article-source > :where(div, section, article) {
  padding: 0;
}
.article-main.article-redesign .article-source > p,
.article-main.article-redesign .article-source > :where(div, section, article) > p {
  font-size: inherit;
  line-height: inherit;
}
.article-main.article-redesign .article-source .source-lead {
  font-size: 17px;
  line-height: 1.9;
  margin-bottom: 24px;
}
.article-main.article-redesign .article-source h2 {
  font-size: 25px;
  line-height: 1.6;
  border-left-width: 3px;
  padding-left: 16px;
  margin: 48px 0 24px;
  text-wrap: balance;
}
.klf-v3 .article-main.article-redesign .article-source h2 {
  font-family: inherit;
  font-weight: 700;
}
.article-main.article-redesign .article-source .toc {
  width: 100%;
  padding: 20px 24px;
  margin: 24px 0;
  border: 1px solid var(--line);
  border-radius: 2px;
}
.article-main.article-redesign .article-source .toc h2 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 12px;
  padding: 0;
  border: 0;
  /* Imported mobile styles force heading sizes; the contents keeps its own type scale. */
  font-size: 16px !important;
  line-height: 1.6 !important;
}
.article-main.article-redesign .article-source .toc:has(> ol[hidden]) h2 {
  margin-bottom: 0;
}
.article-redesign .toc > ol:not([hidden]) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  padding-left: 22px;
}
.article-main.article-redesign .article-source .toc a {
  color: var(--navy);
  font-weight: 400;
  text-decoration-line: underline;
  text-decoration-color: var(--gold);
}
.article-main.article-redesign .article-source .toc li {
  font-size: 14px !important;
  line-height: 1.85 !important;
}
.article-redesign .toc .toc-toggle {
  flex: 0 0 auto;
  padding: 8px 12px;
  margin: 0;
  color: var(--navy);
  border: 1px solid var(--line);
  background: var(--white);
}
.article-main.article-redesign .article-source :is(.source-quick, .source-summary) {
  gap: 16px;
  margin: 28px 0 40px;
}
.article-main.article-redesign .article-source :is(.source-quick, .source-summary) > div {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 2px solid var(--gold);
  border-radius: 2px;
  padding: 18px;
}
.article-main.article-redesign .article-source .source-grid2,
.article-main.article-redesign .article-source .source-grid3 {
  gap: 18px;
  margin-block: 24px;
}
.article-main.article-redesign .article-source .source-card {
  border: 1px solid var(--line);
  border-radius: 2px;
  padding: 24px;
}
.article-main.article-redesign .article-source .source-tip {
  padding: 22px 24px;
  margin-block: 28px;
  border-left-width: 3px;
  font-size: 16px;
}
.article-main.article-redesign .article-source .source-cta {
  margin: 48px 0 0;
  border-left: 3px solid var(--gold);
  border-radius: 2px;
  padding: 32px;
}
.article-main.article-redesign .article-source .source-cta-head {
  background: none;
  padding: 0;
}
.article-main.article-redesign .article-source .source-cta-title {
  color: var(--navy);
  font-size: 25px;
  line-height: 1.6;
  font-weight: 600;
}
.article-main.article-redesign .article-source .source-cta-body {
  padding: 18px 0 0;
}
.article-main.article-redesign .article-source .source-cta-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
  margin-top: 24px;
}
.article-main.article-redesign .article-source .source-cta-actions br {
  display: none;
}
.article-main.article-redesign .article-source .source-cta-actions a {
  width: 100% !important;
  min-width: 0 !important;
  font-size: 15px !important;
  border-radius: 2px !important;
}
.article-main.article-redesign .article-source .source-cta-actions .source-btn-sub {
  border-color: var(--gold) !important;
  color: var(--navy) !important;
}
.article-redesign-meta .share-link:hover,
.article-redesign .toc .toc-toggle:hover {
  background: var(--gold);
  color: var(--navy);
}
.article-redesign .source-cta-actions a:hover {
  filter: brightness(0.95);
}
@media (max-width: 1030px) {
  .article-redesign-hero-inner {
    margin-inline: 35px;
  }
}
@media (max-width: 900px) {
  .article-redesign .toc .toc-toggle {
    min-height: 44px;
    min-width: 44px;
  }
  .article-redesign-hero-inner {
    margin-inline: 16px;
  }
}
@media (max-width: 850px) {
  .article-main.article-redesign .article-source :is(.source-quick, .source-summary) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .article-redesign-hero-inner {
    display: block;
    min-height: 0;
    margin-inline: 0;
  }
  .article-redesign-heading {
    width: auto;
    padding: 28px 16px;
  }
  .article-redesign-heading h1 {
    font-size: 30px;
    line-height: 1.55;
  }
  .article-redesign-meta {
    margin-top: 20px;
  }
  .article-redesign-hero .article-redesign-photo {
    position: static;
    width: 100%;
    height: clamp(200px, 50vw, 300px);
    object-position: center 18%;
    mask-image: none;
  }
  .article-redesign-hero--graphic .article-redesign-photo {
    width: calc(100% - 32px);
    height: 220px;
    margin: 0 16px 28px;
    object-position: center;
  }
  .article-redesign-section {
    padding-block: 28px 36px;
  }
  .article-main.article-redesign .article-source,
  .article-main.article-redesign .article-source > :where(div, section, article),
  .article-main.article-redesign .article-source .source-lead {
    font-size: 16px;
  }
  .article-main.article-redesign .article-source h2 {
    font-size: 22px;
    margin-top: 36px;
  }
  .article-main.article-redesign .article-source .toc {
    padding: 16px 18px;
  }
  .article-main.article-redesign .article-source :is(.source-quick, .source-summary) > div {
    padding: 14px;
  }
  .article-main.article-redesign .article-source .source-tip,
  .article-main.article-redesign .article-source .source-card {
    padding: 20px;
  }
  .article-main.article-redesign .article-source .source-cta {
    padding: 24px 20px;
  }
  .article-main.article-redesign .article-source .source-cta-title {
    font-size: 22px;
  }
  .article-main.article-redesign .article-source .source-cta-actions {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 360px) {
  .article-redesign-heading h1 {
    font-size: 26px;
    letter-spacing: 0.01em;
  }
  .article-main.article-redesign .article-source :is(.source-quick, .source-summary) {
    grid-template-columns: 1fr;
  }
}
