/*
 * GENERATED FILE - DO NOT EDIT DIRECTLY.
 * Bundle: lower-page.css
 * Sources: scripts/wordpress-theme-css-bundles.json
 * Build: node scripts/build-wordpress-theme-assets.mjs
 */

/* ===== BEGIN site-lower-page-specials.css ===== */

/* 404 page */
.not-found-page main {
  background:
    radial-gradient(circle at 14% 16%, rgba(255, 231, 191, 0.46) 0%, transparent 300px),
    radial-gradient(circle at 84% 10%, rgba(245, 130, 0, 0.1) 0%, transparent 340px),
    linear-gradient(180deg, #fffaf2 0%, #fff 54%, #fff6e6 100%);
}

.not-found-hero {
  position: relative;
  overflow: hidden;
  padding-block: clamp(82px, 9vw, 138px) clamp(68px, 7vw, 110px);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.86) 0%, rgba(255, 250, 242, 0.72) 100%);
  isolation: isolate;
}

.not-found-hero::before,
.not-found-hero::after {
  position: absolute;
  z-index: -1;
  content: "";
  pointer-events: none;
}

.not-found-hero::before {
  top: -130px;
  right: -110px;
  width: 430px;
  height: 430px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245, 130, 0, 0.14) 0%, rgba(255, 240, 215, 0.34) 42%, transparent 72%);
}

.not-found-hero::after {
  bottom: -180px;
  left: -120px;
  width: 560px;
  height: 360px;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(255, 229, 190, 0.5) 0%, transparent 70%);
}

.not-found-hero__inner {
  width: min(960px, calc(100% - 48px));
  margin-inline: auto;
}

.not-found-hero__panel {
  position: relative;
  padding: clamp(34px, 5vw, 64px);
  border: 1px solid rgba(244, 196, 125, 0.72);
  border-radius: 32px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 24px 56px rgba(96, 58, 21, 0.12);
  text-align: center;
}

.not-found-hero__decor {
  position: absolute;
  top: clamp(18px, 3vw, 30px);
  right: clamp(24px, 5vw, 70px);
  width: min(178px, 32vw);
  height: 54px;
  opacity: 0.8;
  pointer-events: none;
}

.not-found-hero__flight {
  position: absolute;
  top: 26px;
  right: 32px;
  width: 132px;
  height: 32px;
  border-top: 3px dotted rgba(245, 130, 0, 0.34);
  border-radius: 58% 42% 0 0;
  transform: translateY(-50%);
}

.not-found-hero__bee {
  position: absolute;
  top: 0;
  right: 0;
  width: 42px;
  transform: rotate(12deg);
}

.not-found-code {
  margin: 0;
  color: rgba(238, 118, 0, 0.78);
  font-family: Arial, "Noto Sans JP", sans-serif;
  font-size: clamp(4.6rem, 11vw, 8.2rem);
  font-weight: 900;
  line-height: 0.95;
}

.not-found-label {
  margin: 12px 0 0;
  color: var(--orange-deep);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.not-found-hero h1 {
  margin: 18px 0 0;
  color: var(--brown);
  font-size: clamp(1.9rem, 3.8vw, 3.15rem);
  line-height: 1.35;
}

.not-found-lead {
  max-width: 670px;
  margin: 18px auto 0;
  color: #604936;
  font-size: clamp(1rem, 1.45vw, 1.12rem);
  font-weight: 800;
  line-height: 1.95;
}

.not-found-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: clamp(28px, 4vw, 42px);
}

.not-found-action {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 13px 24px;
  border: 2px solid rgba(245, 130, 0, 0.52);
  border-radius: 999px;
  background: #fffaf2;
  color: var(--brown);
  font-weight: 900;
  line-height: 1.35;
  box-shadow: 0 12px 24px rgba(96, 58, 21, 0.08);
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.not-found-action--primary {
  border-color: var(--orange);
  background: linear-gradient(135deg, #ff9c2a 0%, var(--orange-deep) 100%);
  color: #fff;
  box-shadow: 0 14px 28px rgba(217, 95, 0, 0.2);
}

.not-found-action:hover,
.not-found-action:focus-visible {
  background: #fff4df;
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(96, 58, 21, 0.14);
}

.not-found-action--primary:hover,
.not-found-action--primary:focus-visible {
  background: linear-gradient(135deg, #ffa43b 0%, var(--orange-deep) 100%);
  box-shadow: 0 18px 34px rgba(217, 95, 0, 0.24);
}

.not-found-link-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

.not-found-link-card {
  display: grid;
  gap: 12px;
  min-height: 100%;
  padding: 24px 20px;
  border: 1px solid rgba(244, 196, 125, 0.72);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 16px 34px rgba(96, 58, 21, 0.08);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.not-found-link-card:hover,
.not-found-link-card:focus-visible {
  border-color: rgba(245, 130, 0, 0.62);
  transform: translateY(-3px);
  box-shadow: 0 22px 42px rgba(96, 58, 21, 0.12);
}

.not-found-link-card__title {
  color: var(--brown);
  font-size: 1.04rem;
  font-weight: 900;
  line-height: 1.45;
}

.not-found-link-card__text {
  color: #6d5643;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.75;
}

.not-found-contact__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 0.38fr);
  gap: clamp(22px, 4vw, 42px);
  align-items: center;
  padding: clamp(28px, 4vw, 44px);
  border: 1px solid rgba(244, 196, 125, 0.74);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 22px 46px rgba(96, 58, 21, 0.1);
}

.not-found-contact h2 {
  margin: 0;
  color: var(--brown);
  font-size: clamp(1.55rem, 3vw, 2.35rem);
  line-height: 1.42;
}

.not-found-contact p:not(.sub-section__label) {
  margin: 14px 0 0;
  color: #604936;
  font-weight: 800;
  line-height: 1.85;
}

.not-found-contact__time {
  color: #80654f !important;
  font-size: 0.92rem;
}

.not-found-contact__actions {
  display: grid;
  gap: 12px;
}

.not-found-contact__phone {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 11px 18px;
  border: 1px solid rgba(245, 130, 0, 0.24);
  border-radius: 999px;
  background: #fffaf2;
  color: var(--orange-deep);
  font-family: Arial, "Noto Sans JP", sans-serif;
  font-size: 1.18rem;
  font-weight: 900;
}

@media (max-width: 1180px) {
  .not-found-link-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .not-found-page {
    padding-bottom: calc(86px + env(safe-area-inset-bottom));
  }

  .not-found-hero {
    padding-block: 54px 58px;
  }

  .not-found-hero__inner {
    width: min(100% - 32px, 960px);
  }

  .not-found-hero__panel {
    border-radius: 24px;
  }

  .not-found-hero__decor {
    top: 14px;
    right: 18px;
    width: 128px;
    opacity: 0.58;
  }

  .not-found-hero__flight {
    width: 94px;
  }

  .not-found-hero__bee {
    width: 34px;
  }

  .not-found-link-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .not-found-contact__panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .not-found-hero__panel {
    padding: 32px 18px 26px;
  }

  .not-found-code {
    font-size: clamp(4rem, 24vw, 5.9rem);
  }

  .not-found-lead br {
    display: none;
  }

  .not-found-actions,
  .not-found-contact__actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .not-found-action,
  .not-found-contact__phone {
    width: 100%;
  }

  .not-found-link-grid {
    grid-template-columns: 1fr;
  }

  .not-found-link-card {
    padding: 22px 18px;
  }

  .not-found-contact__panel {
    padding: 24px 18px;
    border-radius: 22px;
  }
}

/* Property list/detail shared components */
.property-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.property-card {
  overflow: hidden;
  border: 1px solid rgba(244, 196, 125, 0.62);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 36px rgba(96, 58, 21, 0.08);
}

.property-card__media {
  position: relative;
  overflow: hidden;
  background: #fff6e6;
}

.property-card__media img,
.property-card__placeholder {
  width: 100%;
  aspect-ratio: 4 / 3;
}

.property-card__media img {
  object-fit: cover;
}

.property-card__placeholder,
.property-photo-card__placeholder,
.property-gallery__placeholder,
.property-gallery__fallback,
.property-map-placeholder {
  display: grid;
  place-items: center;
  border: 1px solid rgba(244, 196, 125, 0.68);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.66) 0%, rgba(255, 246, 230, 0.9) 100%),
    repeating-linear-gradient(45deg, rgba(245, 130, 0, 0.08) 0 1px, transparent 1px 20px);
  color: #8a725d;
  font-weight: 900;
  line-height: 1.6;
  text-align: center;
}

.property-card__status,
.property-status {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  justify-content: center;
  padding: 6px 12px;
  border-radius: 999px;
  background: #fff7ea;
  color: var(--orange-deep);
  font-size: 0.78rem;
  font-weight: 900;
  line-height: 1.25;
}

.property-card__status {
  position: absolute;
  top: 12px;
  left: 12px;
  box-shadow: 0 8px 18px rgba(96, 58, 21, 0.12);
}

.property-card__status--pending,
.property-status--pending {
  background: #fff8ec;
  color: #7d6048;
}

.property-card__status--available,
.property-status--available,
.property-tag--available {
  border-color: rgba(39, 143, 98, 0.24);
  background: #eaf8f1;
  color: #247451;
}

.property-card__status--full,
.property-card__status--occupied,
.property-card__status--closed,
.property-status--full,
.property-status--occupied,
.property-status--closed,
.property-tag--muted {
  background: #f2eee8;
  color: #74695f;
}

/* Detail page status badge: larger, and colour-coded per availability */
.property-summary .property-status {
  gap: 10px;
  min-height: 48px;
  padding: 11px 18px;
  border: 1.5px solid rgba(226, 189, 135, 0.62);
  border-radius: 12px;
  font-size: clamp(1.02rem, 1.5vw, 1.2rem);
  letter-spacing: 0.04em;
}

.property-summary .property-status::before {
  content: "";
  flex: none;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: currentColor;
}

.property-summary .property-status--available {
  border-color: rgba(36, 116, 81, 0.42);
  background: #e4f6ec;
  color: #1c6446;
}

.property-summary .property-status--pending {
  border-color: rgba(199, 137, 39, 0.44);
  background: #fdf1dc;
  color: #8a6218;
}

.property-summary .property-status--full,
.property-summary .property-status--occupied,
.property-summary .property-status--closed {
  border-color: rgba(122, 106, 92, 0.42);
  background: #eae4dd;
  color: #5f5348;
}

.property-card__body {
  display: grid;
  gap: 14px;
  padding: 22px;
}

.property-card__tags,
.property-summary__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.property-tag {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  padding: 5px 10px;
  border: 1px solid rgba(244, 196, 125, 0.7);
  border-radius: 999px;
  background: #fffaf2;
  color: #6d5643;
  font-size: 0.76rem;
  font-weight: 900;
  line-height: 1.25;
}

.property-tag--fee {
  border-color: rgba(245, 130, 0, 0.34);
  background: #fff0d7;
  color: var(--orange-deep);
}

.property-tag--soft {
  background: #fff;
  color: #8a725d;
}

.property-card__prototype-note,
.property-summary__prototype,
.property-detail-note {
  margin: 0;
  color: #80654f;
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.75;
}

.property-card h3 {
  margin: 0;
  color: var(--brown);
  font-size: 1.25rem;
  line-height: 1.45;
}

.property-card__summary {
  display: grid;
  gap: 8px;
  margin: 0;
}

.property-card__summary > div {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 12px;
  color: #604936;
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1.65;
}

.property-card__summary dt {
  color: #8a725d;
}

.property-card__summary dd {
  margin: 0;
}

.property-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.property-card__button,
.property-summary__button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  border: 2px solid var(--orange);
  border-radius: 999px;
  background: linear-gradient(135deg, #ff9c2a 0%, var(--orange-deep) 100%);
  color: #fff;
  font-size: 0.88rem;
  font-weight: 900;
  line-height: 1.35;
  text-align: center;
  box-shadow: 0 12px 22px rgba(217, 95, 0, 0.16);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.property-card__button:hover,
.property-card__button:focus-visible,
.property-summary__button:hover,
.property-summary__button:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 16px 28px rgba(217, 95, 0, 0.22);
}

.property-card__button--secondary,
.property-summary__button--soft {
  border-color: rgba(245, 130, 0, 0.58);
  background: #fff;
  color: var(--orange-deep);
  box-shadow: 0 8px 18px rgba(217, 95, 0, 0.09);
}

.property-card__button--secondary:hover,
.property-card__button--secondary:focus-visible,
.property-summary__button--soft:hover,
.property-summary__button--soft:focus-visible {
  border-color: var(--orange);
  background: #fff3df;
  color: var(--orange-deep);
}

.property-detail-hero {
  min-height: clamp(230px, 22vw, 320px);
  background:
    radial-gradient(circle at 84% 12%, rgba(245, 130, 0, 0.1) 0%, transparent 300px),
    linear-gradient(120deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 250, 242, 0.92) 52%, rgba(255, 238, 215, 0.74) 100%);
}

.property-detail-hero .sub-hero__inner {
  padding-block: clamp(52px, 6vw, 76px) clamp(44px, 5vw, 70px);
}

.property-detail-hero .sub-hero__lead {
  margin-top: 14px;
}

.property-detail-alert {
  padding: 0 clamp(18px, 5vw, 48px);
  background: #fff;
}

.property-detail-alert__inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  max-width: 1180px;
  margin: clamp(20px, 3vw, 32px) auto 0;
  padding: 15px 18px;
  border: 1px solid rgba(244, 196, 125, 0.68);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 250, 242, 0.96), rgba(255, 255, 255, 0.96));
  color: #604936;
  box-shadow: 0 14px 30px rgba(96, 58, 21, 0.06);
}

.property-detail-alert__inner span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 5px 11px;
  border-radius: 999px;
  background: #fff0d7;
  color: var(--orange-deep);
  font-size: 0.78rem;
  font-weight: 900;
}

.property-detail-alert__inner p {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1.75;
}

.property-hero {
  padding-top: clamp(32px, 4vw, 58px);
}

.property-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(330px, 0.72fr);
  gap: clamp(24px, 4.4vw, 56px);
  align-items: start;
}

.property-gallery {
  display: grid;
  gap: 14px;
}

.property-gallery__main {
  position: relative;
  overflow: hidden;
  margin: 0;
  border: 1px solid rgba(244, 196, 125, 0.62);
  border-radius: 8px;
  background: #fff6e6;
  box-shadow: 0 20px 44px rgba(96, 58, 21, 0.1);
}

.property-gallery__main img,
.property-gallery__fallback {
  width: 100%;
  height: clamp(280px, 42vw, 520px);
}

.property-gallery__main img {
  display: block;
  object-fit: contain;
  background: #fffaf2;
}

.property-gallery__fallback {
  min-height: 0;
}

.property-gallery__main [hidden],
.property-gallery__fallback[hidden] {
  display: none;
}

.property-gallery__main figcaption {
  position: absolute;
  right: 14px;
  bottom: 14px;
  left: 14px;
  padding: 10px 12px;
  border-radius: 8px;
  background: rgba(61, 45, 37, 0.72);
  color: #fff;
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.55;
}

.property-gallery__thumbs {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(clamp(96px, 10vw, 132px), 1fr));
  gap: 12px 10px;
  padding: 2px;
}

.property-gallery__thumb {
  display: grid;
  gap: 7px;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #6d5643;
  font-size: 0.78rem;
  font-weight: 900;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
}

.property-gallery__thumb-label {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.property-gallery__thumb img,
.property-gallery__placeholder {
  width: 100%;
  height: clamp(76px, 7vw, 92px);
  overflow: hidden;
  border: 2px solid rgba(244, 196, 125, 0.56);
  border-radius: 8px;
}

.property-gallery__thumb img {
  display: block;
  object-fit: contain;
  background: #fffaf2;
}

.property-gallery__thumb.is-active img,
.property-gallery__thumb.is-active .property-gallery__placeholder {
  border-color: var(--orange);
  box-shadow: 0 0 0 3px rgba(245, 130, 0, 0.16);
}

.property-gallery__fit-note {
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  border: 1px solid rgba(244, 196, 125, 0.6);
  border-radius: 8px;
  background: #fffaf2;
  color: #604936;
  box-shadow: 0 12px 26px rgba(96, 58, 21, 0.05);
}

.property-gallery__fit-note span {
  display: inline-flex;
  width: fit-content;
  min-height: 26px;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: #fff0d7;
  color: var(--orange-deep);
  font-size: 0.76rem;
  font-weight: 900;
  line-height: 1.25;
}

.property-gallery__fit-note p {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1.75;
}

.property-summary {
  position: sticky;
  top: 112px;
  display: grid;
  gap: 14px;
  padding: clamp(18px, 2.4vw, 26px);
  border: 1px solid rgba(244, 196, 125, 0.66);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 250, 242, 0.96) 100%);
  box-shadow: 0 22px 46px rgba(96, 58, 21, 0.1);
}

.property-summary__head {
  display: grid;
  gap: 10px;
}

.property-summary h2 {
  margin: 0;
  color: var(--brown);
  font-size: clamp(1.55rem, 2.25vw, 2.15rem);
  line-height: 1.28;
  overflow-wrap: anywhere;
}

.property-summary__facts {
  display: grid;
  gap: 0;
  margin: 0;
  border-top: 1px solid rgba(244, 196, 125, 0.54);
}

.property-summary__fact {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(244, 196, 125, 0.54);
  color: #604936;
  font-weight: 800;
  line-height: 1.7;
}

.property-summary__fact dt {
  color: #8a725d;
  font-size: 0.88rem;
}

.property-summary__fact dd {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}

.property-summary__fact--price dd {
  display: grid;
  gap: 3px;
}

.property-summary__fact--price strong {
  color: var(--orange-deep);
  font-size: clamp(1.7rem, 2.8vw, 2.4rem);
  line-height: 1.15;
}

.property-summary__fact--price .property-summary__pending-value {
  color: var(--brown);
  font-size: clamp(1rem, 1.4vw, 1.18rem);
  line-height: 1.5;
}

.property-summary__fact--price span {
  color: #8a725d;
  font-size: 0.82rem;
}

.property-summary__catch {
  margin: 0;
  color: var(--brown);
  font-size: clamp(0.96rem, 1.25vw, 1.05rem);
  font-weight: 900;
  line-height: 1.65;
}

.property-summary__notice {
  margin: 0;
  padding: 10px 12px;
  border-left: 4px solid rgba(245, 130, 0, 0.42);
  border-radius: 0 8px 8px 0;
  background: rgba(255, 248, 236, 0.92);
  color: #604936;
  font-size: 0.84rem;
  font-weight: 800;
  line-height: 1.6;
}

.property-summary__fee-note {
  margin: 0;
  padding: 10px 12px;
  border: 1px solid rgba(245, 130, 0, 0.24);
  border-radius: 8px;
  background: #fffaf2;
  color: var(--brown);
  font-size: 0.86rem;
  font-weight: 900;
  line-height: 1.65;
}

.property-summary__actions {
  display: grid;
  gap: 9px;
}

.property-summary__button {
  width: 100%;
}

/*
 * Follows the header's phone button: a white pill outlined in orange, an orange
 * glyph and number, on one row at the height of the 内見を予約する button above
 * it. The card keeps its 電話で相談する lead because it sits among
 * other actions, and it leaves the reception hours to the header and the CTA
 * rather than repeating that literal in a third template.
 */
.property-summary__phone {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 44px;
  padding: 6px 18px;
  border: 1px solid rgba(245, 130, 0, 0.68);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  color: var(--orange);
  box-shadow: 0 8px 20px rgba(245, 130, 0, 0.12);
  text-decoration: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.property-summary__phone:hover,
.property-summary__phone:focus-visible {
  border-color: var(--orange);
  background: #fffdf9;
  box-shadow: 0 12px 26px rgba(245, 130, 0, 0.2);
}

.property-summary__phone-label {
  color: #80654f;
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.2;
}

.property-summary__phone-number {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  white-space: nowrap;
}

.property-summary__phone-number svg {
  width: 18px;
  fill: currentColor;
}

.property-summary__phone-number strong {
  color: inherit;
  font-family: Arial, "Noto Sans JP", sans-serif;
  font-size: 1.08rem;
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1.1;
}

.property-point-list,
.property-condition-tags {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.property-point-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.property-point-list li {
  min-height: 138px;
  align-content: start;
}

.property-point-list li,
.property-condition-tags li {
  display: grid;
  gap: 7px;
  min-height: 106px;
  align-content: center;
  padding: 18px 20px;
  border: 1px solid rgba(244, 196, 125, 0.62);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 14px 30px rgba(96, 58, 21, 0.06);
}

.property-point-list span,
.property-condition-tags span {
  color: var(--brown);
  font-weight: 900;
  line-height: 1.45;
}

.property-point-list small,
.property-condition-tags small {
  color: #80654f;
  font-weight: 800;
  line-height: 1.55;
}

.property-point-list li {
  min-height: 138px;
  align-content: start;
}

.property-fit-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.property-fit-list li {
  position: relative;
  display: grid;
  gap: 5px;
  min-height: 0;
  padding: 14px 16px 14px 42px;
  border: 1px solid rgba(244, 196, 125, 0.62);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 22px rgba(96, 58, 21, 0.04);
}

.property-fit-list li::before {
  position: absolute;
  top: 19px;
  left: 16px;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: var(--orange);
  box-shadow: 0 0 0 4px rgba(245, 130, 0, 0.14);
  content: "";
}

.property-fit-list li::after {
  position: absolute;
  top: 21px;
  left: 21px;
  width: 4px;
  height: 8px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: "";
  transform: rotate(45deg);
}

.property-fit-list li:last-child {
  grid-column: 1 / -1;
}

.property-fit-list span {
  color: var(--brown);
  font-weight: 900;
  line-height: 1.5;
}

.property-fit-list small {
  color: #80654f;
  font-weight: 800;
  line-height: 1.65;
}

.property-photo-grid {
  display: block;
  column-count: 4;
  column-gap: 14px;
}

.property-photo-card {
  display: inline-block;
  width: 100%;
  break-inside: avoid;
  overflow: hidden;
  margin: 0 0 14px;
  border: 1px solid rgba(244, 196, 125, 0.62);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 30px rgba(96, 58, 21, 0.06);
}

.property-photo-card img,
.property-photo-card__placeholder {
  width: 100%;
}

.property-photo-card img {
  display: block;
  height: auto;
  object-fit: contain;
  background: #fffaf2;
}

.property-photo-card__placeholder {
  aspect-ratio: 4 / 3;
}

.property-photo-card--floorplan img {
  object-fit: contain;
  background: #fffaf2;
}

.property-photo-card figcaption {
  padding: 12px 14px;
  color: var(--brown);
  font-size: 0.9rem;
  font-weight: 900;
}

.property-overview__table-wrap {
  overflow: hidden;
  border: 1px solid rgba(244, 196, 125, 0.66);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 34px rgba(96, 58, 21, 0.06);
}

.property-overview__table {
  width: 100%;
  border-collapse: collapse;
}

.property-overview__table th,
.property-overview__table td {
  padding: 16px 18px;
  border-bottom: 1px solid rgba(244, 196, 125, 0.46);
  text-align: left;
  vertical-align: top;
  line-height: 1.75;
}

.property-overview__table tr:last-child th,
.property-overview__table tr:last-child td {
  border-bottom: 0;
}

.property-overview__table th {
  width: 28%;
  min-width: 180px;
  background: #fff8ec;
  color: #7a5d45;
  font-weight: 900;
}

.property-overview__table td {
  color: #4d3a2d;
  font-weight: 800;
  overflow-wrap: anywhere;
  word-break: normal;
}

.property-catch__box {
  padding: clamp(22px, 3.4vw, 32px) clamp(22px, 3.8vw, 36px);
  border: 1px solid rgba(244, 196, 125, 0.66);
  border-radius: 12px;
  background: var(--cream);
  box-shadow: 0 16px 34px rgba(96, 58, 21, 0.06);
}

.property-catch__title {
  margin: 0 0 12px;
  color: var(--brown-soft);
  font-size: 0.95rem;
  font-weight: 900;
  letter-spacing: 0.14em;
}

.property-catch__body {
  margin: 0;
  color: #4d3a2d;
  font-weight: 700;
  line-height: 1.9;
  overflow-wrap: anywhere;
  word-break: normal;
}

.property-overview__note {
  margin-top: 14px;
}

.property-conditions__grid,
.property-access__grid,
.property-fee-free__grid {
  display: grid;
  grid-template-columns: minmax(240px, 0.72fr) minmax(0, 1fr);
  gap: clamp(26px, 4.5vw, 58px);
  align-items: start;
}

.property-condition-tags {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.property-condition-tags li {
  min-height: 82px;
}

.property-access__list {
  display: grid;
  gap: 0;
  margin: 0 0 18px;
  border-top: 1px solid rgba(244, 196, 125, 0.54);
}

.property-access__list > div {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(244, 196, 125, 0.54);
  font-weight: 800;
  line-height: 1.75;
}

.property-access__list dt {
  color: #8a725d;
}

.property-access__list dd {
  margin: 0;
  color: #604936;
  min-width: 0;
  overflow-wrap: anywhere;
}

.property-map-placeholder {
  min-height: 320px;
  border-radius: 8px;
}

.property-map-embed {
  display: grid;
  min-width: 0;
  gap: 14px;
}

.property-map-embed iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  height: clamp(240px, 32vw, 360px);
  min-height: 320px;
  border: 1px solid rgba(244, 196, 125, 0.68);
  border-radius: 8px;
  background: #fff7e8;
  box-shadow: 0 18px 36px rgba(96, 58, 21, 0.08);
}

.property-fee-free__body {
  display: grid;
  gap: 16px;
  padding: clamp(22px, 3vw, 30px);
  border: 1px solid rgba(244, 196, 125, 0.62);
  border-radius: 8px;
  background: #fffaf2;
}

.property-fee-free__body p {
  margin: 0;
  color: #604936;
  font-weight: 800;
  line-height: 1.95;
}

.property-fee-free__checks {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 2px 0 0;
  padding: 0;
  list-style: none;
}

.property-fee-free__checks li {
  min-height: 54px;
  padding: 12px 14px;
  border: 1px solid rgba(244, 196, 125, 0.54);
  border-radius: 8px;
  background: #fff;
  color: var(--brown);
  font-size: 0.88rem;
  font-weight: 900;
  line-height: 1.55;
}

.property-cta {
  background:
    radial-gradient(circle at 16% 16%, rgba(255, 255, 255, 0.64) 0%, transparent 320px),
    linear-gradient(135deg, #fff4df 0%, #f5a142 100%);
}

body.property-detail-page :is(.property-summary__button, .common-cta__button, .property-detail-note, .property-faq__item summary, .property-faq__item p) {
  overflow-wrap: anywhere;
}

.property-faq__list {
  display: grid;
  gap: 12px;
  max-width: 920px;
  margin-inline: auto;
}

.property-faq__item {
  overflow: hidden;
  border: 1px solid rgba(244, 196, 125, 0.62);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 14px 30px rgba(96, 58, 21, 0.06);
}

.property-faq__item summary {
  display: flex;
  min-height: 64px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 22px;
  color: var(--brown);
  font-weight: 900;
  line-height: 1.55;
  cursor: pointer;
}

.property-faq__item summary::-webkit-details-marker {
  display: none;
}

.property-faq__item summary::after {
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--orange-deep);
  border-bottom: 2px solid var(--orange-deep);
  content: "";
  transform: rotate(45deg);
  transition: transform 180ms ease;
}

.property-faq__item[open] summary::after {
  transform: rotate(225deg);
}

.property-faq__item p {
  margin: 0;
  padding: 0 22px 20px;
  color: var(--brown-soft);
  font-weight: 800;
  line-height: 1.85;
}

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

.property-related-consult__inner {
  display: grid;
  gap: 24px;
}

.property-related-consult__panel {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(220px, 0.85fr) minmax(220px, 0.72fr);
  gap: clamp(18px, 3vw, 32px);
  align-items: center;
  padding: clamp(22px, 3vw, 32px);
  border: 1px solid rgba(244, 196, 125, 0.66);
  border-radius: 8px;
  background:
    radial-gradient(circle at 12% 18%, rgba(255, 246, 229, 0.92) 0%, transparent 260px),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 250, 242, 0.96) 100%);
  box-shadow: 0 18px 38px rgba(96, 58, 21, 0.08);
}

.property-related-consult__body {
  display: grid;
  gap: 10px;
}

.property-related-consult__eyebrow {
  margin: 0;
  color: var(--orange-deep);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.property-related-consult__body h3 {
  margin: 0;
  color: var(--brown);
  font-size: clamp(1.35rem, 2vw, 1.9rem);
  line-height: 1.35;
}

.property-related-consult__body p {
  margin: 0;
  color: #604936;
  font-weight: 800;
  line-height: 1.85;
}

.property-related-consult__checks {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.property-related-consult__checks li {
  padding: 10px 12px;
  border: 1px solid rgba(244, 196, 125, 0.54);
  border-radius: 8px;
  background: #fff;
  color: var(--brown);
  font-size: 0.88rem;
  font-weight: 900;
  line-height: 1.5;
}

.property-related-consult__actions {
  display: grid;
  gap: 10px;
}

.property-related .property-card__summary > div {
  grid-template-columns: 70px minmax(0, 1fr);
}

.property-back-link .sub-section__inner {
  display: flex;
  justify-content: center;
}

@media (max-width: 1180px) {
  .property-related__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .property-related-consult__panel {
    grid-template-columns: 1fr;
  }

  .property-photo-grid {
    column-count: 2;
  }

  .property-point-list,
  .property-condition-tags {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .property-hero__grid,
  .property-conditions__grid,
  .property-access__grid,
  .property-fee-free__grid {
    grid-template-columns: 1fr;
  }

  .property-summary {
    position: static;
  }

  .property-detail-hero .sub-hero__inner {
    padding-block: 40px 46px;
  }
}

@media (max-width: 780px) {
  .property-overview__table,
  .property-overview__table tbody,
  .property-overview__table tr,
  .property-overview__table th,
  .property-overview__table td {
    display: block;
    width: 100%;
  }

  .property-overview__table tr {
    border-bottom: 1px solid rgba(244, 196, 125, 0.46);
  }

  .property-overview__table tr:last-child {
    border-bottom: 0;
  }

  .property-overview__table th {
    min-width: 0;
    padding: 14px 16px 6px;
    border-bottom: 0;
  }

  .property-overview__table td {
    padding: 0 16px 14px;
    border-bottom: 0;
  }
}

@media (max-width: 700px) {
  .property-grid,
  .property-related__grid,
  .property-point-list,
  .property-condition-tags,
  .property-fit-list,
  .property-fee-free__checks {
    grid-template-columns: 1fr;
  }

  .property-gallery__thumbs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 2px 2px 10px;
    -webkit-overflow-scrolling: touch;
    scrollbar-color: rgba(245, 130, 0, 0.42) rgba(255, 246, 230, 0.72);
    scrollbar-width: thin;
  }

  .property-gallery__thumb {
    flex: 0 0 88px;
  }

  .property-photo-grid {
    column-count: 1;
  }

  .property-gallery__main figcaption {
    position: static;
    border-radius: 0;
    background: #fffaf2;
    color: #80654f;
  }

  .property-summary__fact,
  .property-access__list > div {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}

@media (max-width: 520px) {
  .property-summary,
  .property-fee-free__body {
    padding: 20px 16px;
  }

  .property-detail-alert__inner {
    grid-template-columns: 1fr;
  }

  .property-card__body {
    padding: 18px;
  }

  .property-card__summary > div,
  .property-related .property-card__summary > div {
    grid-template-columns: 1fr;
    gap: 2px;
  }

  .property-summary__phone-number strong {
    font-size: 1rem;
  }
}

/* Privacy policy page */
.privacy-document-section {
  background:
    radial-gradient(circle at 12% 12%, rgba(255, 240, 215, 0.68) 0%, transparent 320px),
    linear-gradient(180deg, #fff 0%, #fffaf2 100%);
}

.privacy-layout {
  max-width: 940px;
}

.privacy-heading {
  max-width: 820px;
}

.privacy-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: clamp(18px, 2.4vw, 24px);
  color: #7a624e;
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1.7;
}

.privacy-meta p {
  margin: 0;
}

.privacy-toc {
  padding: clamp(22px, 3.5vw, 30px);
  margin: clamp(28px, 4vw, 42px) 0 clamp(24px, 3.6vw, 34px);
  border: 1px solid rgba(244, 196, 125, 0.54);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(255, 250, 242, 0.96) 0%, rgba(255, 244, 229, 0.86) 100%);
  box-shadow: 0 14px 32px rgba(96, 58, 21, 0.07);
}

.privacy-toc__label {
  display: inline-flex;
  align-items: center;
  margin: 0 0 8px;
  color: var(--orange-deep);
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1;
}

.privacy-toc__lead {
  margin: 0 0 18px;
  color: #7a624e;
  font-size: 0.92rem;
  font-weight: 650;
  line-height: 1.7;
}

.privacy-toc__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 14px;
  padding: 0;
  margin: 0;
  list-style: none;
  counter-reset: privacy-toc;
}

.privacy-toc__list li {
  counter-increment: privacy-toc;
  min-width: 0;
}

.privacy-toc__list a {
  display: grid;
  grid-template-columns: 2.2em minmax(0, 1fr);
  gap: 8px 10px;
  align-items: start;
  min-height: 42px;
  padding: 10px 12px;
  border-radius: 12px;
  color: #5b4737;
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1.55;
  text-decoration: none;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease;
}

.privacy-toc__list a::before {
  color: var(--orange-deep);
  font-size: 0.75rem;
  font-weight: 900;
  line-height: 1.95;
  content: counter(privacy-toc, decimal-leading-zero);
}

.privacy-toc__list a:hover,
.privacy-toc__list a:focus-visible {
  background: rgba(245, 130, 0, 0.095);
  color: var(--orange-deep);
  box-shadow: inset 0 0 0 1px rgba(245, 130, 0, 0.22);
  text-decoration: underline;
  text-underline-offset: 0.22em;
}

.privacy-toc__list a:focus-visible {
  outline: 3px solid rgba(245, 130, 0, 0.28);
  outline-offset: 2px;
}

.privacy-content {
  padding: clamp(30px, 5vw, 58px) clamp(30px, 5vw, 58px) clamp(36px, 5.4vw, 66px);
  border: 1px solid rgba(244, 196, 125, 0.7);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 18px 42px rgba(96, 58, 21, 0.08);
}

.privacy-lead,
.privacy-section p {
  margin: 0;
  color: #5d4735;
  font-size: 1rem;
  font-weight: 600;
  line-height: 2;
}

.privacy-lead + .privacy-lead {
  margin-top: 1.25em;
}

.privacy-section {
  margin-top: clamp(38px, 4.8vw, 58px);
  padding-top: clamp(32px, 4.2vw, 46px);
  border-top: 1px solid rgba(244, 196, 125, 0.44);
  scroll-margin-top: 112px;
}

.privacy-section h3 {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin: 0 0 18px;
  padding: 14px 16px;
  border-left: 4px solid var(--orange);
  border-radius: 14px;
  background: linear-gradient(90deg, rgba(255, 246, 230, 0.92) 0%, rgba(255, 250, 242, 0.64) 100%);
  color: var(--brown);
  font-size: clamp(1.08rem, 1.55vw, 1.28rem);
  line-height: 1.5;
  scroll-margin-top: 112px;
}

.privacy-section__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4.8em;
  padding: 0.46em 0.82em;
  border-radius: 999px;
  background: rgba(245, 130, 0, 0.16);
  color: var(--orange-deep);
  font-size: 0.76rem;
  font-weight: 900;
  line-height: 1.2;
  white-space: nowrap;
}

.privacy-section p + p {
  margin-top: 1.38em;
}

.privacy-content ul {
  display: grid;
  gap: 11px;
  padding-left: 1.25em;
  margin: 20px 0 0;
}

.privacy-content li {
  padding-left: 0.15em;
  color: #5d4735;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.88;
}

.privacy-content :is(a, li, dd, h3, p) {
  overflow-wrap: anywhere;
  word-break: normal;
}

.privacy-note {
  margin-top: 22px;
  padding: 20px 24px 20px 26px;
  border: 1px solid rgba(244, 196, 125, 0.46);
  border-left: 4px solid rgba(245, 130, 0, 0.72);
  border-radius: 16px;
  background: #fff7eb;
  color: #745b45 !important;
  font-size: 0.95rem;
  line-height: 1.88 !important;
}

.privacy-note a {
  color: #7f5736;
  font-weight: 750;
  text-decoration: none;
  transition:
    color 0.2s ease,
    text-decoration-color 0.2s ease;
}

.privacy-note a:hover,
.privacy-note a:focus-visible {
  color: #9b4d08;
  text-decoration: underline;
  text-decoration-color: rgba(155, 77, 8, 0.58);
  text-underline-offset: 0.22em;
}

.privacy-note a:focus-visible {
  outline: 2px solid rgba(245, 130, 0, 0.26);
  outline-offset: 3px;
  border-radius: 4px;
}

.privacy-note p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: 650;
  line-height: inherit;
}

.privacy-note p + p {
  margin-top: 0.8em;
}

.privacy-note__links {
  color: #6d5846;
  font-size: 0.92rem;
  font-weight: 600;
}

.privacy-contact-list {
  overflow: hidden;
  margin: 20px 0 0;
  border: 1px solid rgba(244, 196, 125, 0.6);
  border-radius: 18px;
  background: #fff;
}

.privacy-contact-list div {
  display: grid;
  grid-template-columns: minmax(140px, 0.34fr) minmax(0, 1fr);
  gap: 0;
  border-bottom: 1px solid rgba(244, 196, 125, 0.45);
}

.privacy-contact-list div:last-child {
  border-bottom: 0;
}

.privacy-contact-list dt {
  display: flex;
  align-items: center;
  min-width: 0;
  padding: 17px 18px;
  background: #fff6e6;
  color: var(--brown);
  font-weight: 900;
  line-height: 1.7;
}

.privacy-contact-list dd {
  margin: 0;
  min-width: 0;
  padding: 17px 20px;
  background: #fff;
  color: #604936;
  font-weight: 650;
  line-height: 1.8;
  overflow-wrap: anywhere;
}

.privacy-contact-list a {
  color: #9b4d08;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 0.22em;
}

.privacy-contact-section {
  padding-block: clamp(48px, 6vw, 82px);
}

.privacy-contact-section .privacy-contact-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(22px, 4vw, 42px);
  align-items: center;
  max-width: 940px;
  padding: clamp(24px, 4vw, 38px);
  margin-inline: auto;
  border: 1px solid rgba(244, 196, 125, 0.68);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 248, 238, 0.9) 100%);
  box-shadow: 0 14px 30px rgba(96, 58, 21, 0.08);
}

.privacy-contact-section .privacy-contact-cta h2 {
  margin: 0;
  color: var(--brown);
  font-size: clamp(1.28rem, 2.2vw, 1.74rem);
  line-height: 1.45;
}

.privacy-contact-section .privacy-contact-cta p:not(.sub-section__label) {
  margin: 12px 0 0;
  color: #6d5643;
  font-weight: 650;
  line-height: 1.9;
}

/* News detail lower page */
.news-detail-page .news-detail-hero {
  min-height: clamp(250px, 24vw, 340px);
  background:
    radial-gradient(circle at 82% 10%, rgba(245, 130, 0, 0.1) 0%, transparent 300px),
    linear-gradient(120deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 250, 242, 0.94) 52%, rgba(255, 240, 220, 0.76) 100%);
}

.news-detail-hero .news-detail-hero__inner {
  display: block;
  max-width: 980px;
  padding-block: clamp(58px, 6vw, 86px) clamp(56px, 6vw, 82px);
}

.news-detail-hero h1 {
  max-width: 900px;
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1.28;
}

.news-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  color: #80654f;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.45;
}

.news-detail-hero .news-meta {
  margin-top: 20px;
}

.news-label {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  justify-content: center;
  padding: 5px 12px;
  border: 1px solid rgba(245, 130, 0, 0.26);
  border-radius: 999px;
  background: #fff3df;
  color: #8a4500;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.35;
}

.news-article {
  background:
    linear-gradient(180deg, #fff 0%, #fffaf2 100%);
}

.news-article__inner {
  max-width: 920px;
}

.news-article__header {
  margin-bottom: clamp(24px, 4vw, 38px);
  padding-bottom: clamp(22px, 3vw, 32px);
  border-bottom: 1px solid rgba(244, 196, 125, 0.52);
}

.news-taxonomy {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

.news-article__header h2 {
  margin: 0;
  color: var(--brown);
  font-size: clamp(1.55rem, 3vw, 2.35rem);
  line-height: 1.45;
}

.news-article__header p {
  margin: 14px 0 0;
  color: #6d5643;
  font-weight: 500;
  line-height: 1.9;
}

.news-eyecatch {
  position: relative;
  overflow: hidden;
  margin: 0 0 clamp(32px, 5vw, 52px);
  border: 1px solid rgba(244, 196, 125, 0.58);
  border-radius: 8px;
  background: #fff4df;
  box-shadow: 0 18px 38px rgba(96, 58, 21, 0.08);
}

.news-eyecatch img,
.news-eyecatch__placeholder {
  width: 100%;
  aspect-ratio: 16 / 7;
}

.news-eyecatch img {
  object-fit: cover;
}

.news-eyecatch figcaption {
  padding: 10px 14px;
  margin: 0;
  color: #80654f;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.6;
  background: rgba(255, 250, 242, 0.96);
}

.news-eyecatch__placeholder {
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  isolation: isolate;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.74), rgba(255, 246, 230, 0.92)),
    repeating-linear-gradient(45deg, rgba(245, 130, 0, 0.12) 0 1px, transparent 1px 18px);
  color: #8a725d;
  font-weight: 700;
}

.news-eyecatch__placeholder-bee,
.blog-eyecatch__placeholder-bee {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  width: clamp(46px, 7.5vw, 82px);
  height: auto;
  opacity: 0.085;
  pointer-events: none;
  filter: saturate(0.62) brightness(1.08);
  transform: translate(-50%, -50%) rotate(-6deg);
}

.news-eyecatch__placeholder img.news-eyecatch__placeholder-bee,
.blog-eyecatch__placeholder img.blog-eyecatch__placeholder-bee {
  width: clamp(40px, 6vw, 72px);
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
}

.news-eyecatch__placeholder span,
.blog-eyecatch__placeholder span {
  position: relative;
  z-index: 2;
}

.news-eyecatch__placeholder[hidden] {
  display: none;
}

.news-content {
  color: #4f3a2e;
  font-size: clamp(1rem, 1.3vw, 1.08rem);
  font-weight: 500;
  line-height: 2.08;
}

.news-content > * {
  margin-top: 0;
  margin-bottom: 0;
}

.news-content > * + * {
  margin-top: 1.35em;
}

.news-content h2 {
  margin-top: clamp(2.2em, 6vw, 3em);
  padding-left: 16px;
  border-left: 5px solid rgba(245, 130, 0, 0.72);
  color: var(--brown);
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  line-height: 1.55;
}

.news-content h3 {
  margin-top: 2em;
  color: var(--brown);
  font-size: clamp(1.12rem, 1.9vw, 1.35rem);
  line-height: 1.6;
}

.news-content ul,
.news-content ol {
  display: grid;
  gap: 8px;
  padding-left: 1.35em;
}

.news-content li {
  padding-left: 0.1em;
}

.news-content a {
  color: var(--orange-deep);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.news-content strong {
  color: var(--brown);
  font-weight: 700;
}

.news-content small {
  display: inline-block;
  color: #80654f;
  font-size: 0.86rem;
  font-weight: 500;
  line-height: 1.8;
}

.news-content img {
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

.news-content blockquote {
  margin-inline: 0;
  padding: 20px 22px;
  border-left: 5px solid rgba(245, 130, 0, 0.46);
  border-radius: 0 8px 8px 0;
  background: rgba(255, 246, 230, 0.9);
  color: #604936;
}

.news-content blockquote p {
  margin: 0;
}

.news-table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(244, 196, 125, 0.6);
  border-radius: 8px;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.62);
}

.news-table-wrap table {
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
}

.news-table-wrap th,
.news-table-wrap td {
  padding: 15px 16px;
  border-bottom: 1px solid rgba(244, 196, 125, 0.42);
  text-align: left;
  vertical-align: top;
}

.news-table-wrap tr:last-child th,
.news-table-wrap tr:last-child td {
  border-bottom: 0;
}

.news-table-wrap th {
  width: 168px;
  background: #fff8ec;
  color: var(--brown);
  font-weight: 700;
}

.news-table-wrap td {
  color: #604936;
}

.news-article__footer {
  display: grid;
  gap: clamp(24px, 4vw, 38px);
  margin-top: clamp(36px, 6vw, 62px);
  padding-top: clamp(26px, 4vw, 42px);
  border-top: 1px solid rgba(244, 196, 125, 0.52);
}

.news-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: center;
}

.news-tags__title {
  color: var(--brown);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.news-tags a {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 5px 11px;
  border: 1px solid rgba(244, 196, 125, 0.54);
  border-radius: 999px;
  background: #fff;
  color: #6d5643;
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.35;
}

.post-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.post-nav__item {
  display: grid;
  gap: 8px;
  min-height: 108px;
  align-content: center;
  padding: 20px;
  border: 1px solid rgba(244, 196, 125, 0.62);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(96, 58, 21, 0.07);
}

.post-nav__item:not(.post-nav__item--empty):hover,
.post-nav__item:not(.post-nav__item--empty):focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(96, 58, 21, 0.1);
}

.post-nav__item--empty {
  background: rgba(255, 250, 242, 0.72);
  color: #9a8470;
}

.post-nav__label {
  color: var(--orange-deep);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.post-nav__title {
  color: var(--brown);
  font-weight: 700;
  line-height: 1.55;
}

.post-nav__item--empty .post-nav__title {
  color: #8a7565;
}

.news-back {
  display: flex;
  justify-content: center;
}

.news-related__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.news-related-card {
  display: grid;
  gap: 14px;
  align-content: start;
  min-height: 220px;
  padding: 22px;
  border: 1px solid rgba(244, 196, 125, 0.62);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 36px rgba(96, 58, 21, 0.08);
}

.news-related-card h3 {
  margin: 0;
  color: var(--brown);
  font-size: clamp(1.08rem, 1.8vw, 1.25rem);
  line-height: 1.6;
}

.news-related-card a {
  width: fit-content;
  margin-top: auto;
  color: var(--orange-deep);
  font-size: 0.9rem;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.news-detail-cta .common-cta__inner {
  max-width: 1120px;
}

@media (max-width: 980px) {
  .news-detail-hero .news-detail-hero__inner {
    padding-block: 44px 54px;
  }

  .news-article__inner {
    max-width: 100%;
  }

  .news-related__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .news-detail-hero h1 {
    font-size: clamp(1.75rem, 9vw, 2.45rem);
  }

  .news-eyecatch img,
  .news-eyecatch__placeholder {
    aspect-ratio: 4 / 3;
  }

  .news-content {
    font-size: 1rem;
    line-height: 2;
  }

  .news-content h2 {
    padding-left: 12px;
    border-left-width: 4px;
  }

  .news-content blockquote {
    padding: 18px;
  }

  .post-nav {
    grid-template-columns: 1fr;
  }

  .post-nav__item {
    min-height: 0;
    padding: 18px;
  }
}

.owner-card-grid--support {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.owner-mini-card {
  display: grid;
  min-height: 138px;
  align-content: start;
  gap: 18px;
  padding: 24px;
  border-radius: 18px;
}

.owner-mini-card__icon {
  display: inline-grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 50%;
  background: #fff0d7;
  color: var(--orange-deep);
  font-size: 0.8rem;
  font-weight: 900;
}

.owner-service-card {
  padding: 26px;
  border-radius: 20px;
}

.owner-service-card__icon {
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  margin-bottom: 18px;
  border-radius: 18px;
  background: linear-gradient(135deg, #fff4df 0%, #ffe0ad 100%);
  color: var(--orange-deep);
}

.owner-reason-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.owner-reason-card {
  position: relative;
  padding: 24px 24px 24px 30px;
  overflow: hidden;
  border-radius: 18px;
}

.owner-reason-card::before {
  position: absolute;
  top: 24px;
  bottom: 24px;
  left: 0;
  width: 5px;
  border-radius: 999px;
  background: linear-gradient(180deg, #ffb35a 0%, var(--orange-deep) 100%);
  content: "";
}

.owner-flow__steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.owner-flow__steps li {
  position: relative;
  min-height: 230px;
  padding: 24px 20px;
  border: 1px solid rgba(244, 196, 125, 0.72);
  border-radius: 20px;
  background: linear-gradient(180deg, #fff 0%, #fffaf2 100%);
  box-shadow: 0 18px 36px rgba(96, 58, 21, 0.08);
}

.owner-flow__steps span {
  display: inline-grid;
  width: 46px;
  height: 46px;
  place-items: center;
  margin-bottom: 18px;
  border-radius: 50%;
  background: var(--orange);
  color: #fff;
  font-size: 0.86rem;
  font-weight: 900;
  box-shadow: 0 10px 18px rgba(245, 130, 0, 0.22);
}

.owner-faq__list {
  display: grid;
  gap: 12px;
  max-width: 900px;
  margin-inline: auto;
}

.owner-faq__item {
  border-radius: 16px;
  overflow: hidden;
}

.owner-faq__item summary {
  display: flex;
  min-height: 64px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 22px;
  color: var(--brown);
  font-weight: 900;
  line-height: 1.55;
  cursor: pointer;
}

.owner-faq__item summary::-webkit-details-marker {
  display: none;
}

.owner-faq__item summary::after {
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--orange-deep);
  border-bottom: 2px solid var(--orange-deep);
  content: "";
  transform: rotate(45deg);
  transition: transform 180ms ease;
}

.owner-faq__item[open] summary::after {
  transform: rotate(225deg);
}

.owner-faq__item p {
  padding: 0 22px 20px;
}

@media (max-width: 1180px) {
  .site-footer__inner {
    width: min(900px, calc(100% - 48px));
    grid-template-columns: minmax(280px, 1fr) minmax(320px, 0.9fr);
    gap: clamp(22px, 4vw, 42px);
  }

  .site-footer__brand {
    transform: none;
  }

  .site-footer__info {
    grid-column: 1;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(244, 196, 125, 0.38);
  }

  .site-footer__nav {
    grid-column: 2;
    grid-row: 1 / span 2;
  }

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

@media (max-width: 1099px) {
  body.subpage {
    padding-bottom: calc(92px + env(safe-area-inset-bottom));
  }

  .subpage .site-header--subpage {
    display: flex;
    height: auto;
    min-height: 70px;
    padding: 9px 18px;
  }
}

@media (max-width: 980px) {
  body.subpage {
    padding-bottom: calc(86px + env(safe-area-inset-bottom));
  }

  .subpage .site-header--subpage {
    min-height: 54px;
    padding: 4px 10px;
    border-bottom: 0;
    background: #fff;
    box-shadow: 0 8px 22px rgba(96, 58, 21, 0.08);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  .site-footer {
    padding-bottom: calc(44px + env(safe-area-inset-bottom));
  }

  .subpage .site-header--subpage::before,
  .subpage .site-header--subpage::after {
    display: none;
  }

  .sub-hero {
    min-height: 0;
  }

  .sub-hero__inner {
    grid-template-columns: 1fr;
    gap: 18px;
    padding-block: 30px 34px;
  }

  .sub-hero__visual {
    justify-self: start;
    width: min(100%, 420px);
  }

  .sub-hero__visual img {
    border-width: 8px;
    border-radius: 24px 24px 12px;
  }

  .sub-hero__inner,
  .sub-section__inner,
  .sub-breadcrumb,
  .common-cta__inner,
  .site-footer__inner,
  .site-footer__copy {
    width: min(100% - 32px, 1120px);
  }

  .sub-section {
    padding-block: 54px;
  }

  .company-message__grid,
  .owner-intro__grid,
  .company-profile,
  .company-history,
  .staff-introduction__header,
  .common-cta__inner {
    grid-template-columns: 1fr;
  }

  .company-message__content {
    grid-template-columns: 1fr;
  }

  .company-message__visual {
    width: min(100%, 680px);
  }

  .common-cta__actions {
    width: 100%;
  }

  :is(.company-page, .reasons-page, .contact-page, .owner-support, .property-list-page, .blog-page, .news-detail-page) #support .common-cta__inner {
    width: min(100% - 32px, 1080px);
    grid-template-columns: 1fr;
  }

  .subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__inner {
    width: min(100% - 32px, 1080px);
    grid-template-columns: 1fr;
  }

  :is(.company-page, .reasons-page, .contact-page, .owner-support, .property-list-page, .blog-page, .news-detail-page) #support .common-cta__bee-flight,
  .subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__bee-flight {
    display: none;
  }

  :is(.company-page, .reasons-page, .contact-page, .owner-support, .property-list-page, .blog-page, .news-detail-page) #support .common-cta__actions {
    transform: none;
  }

  .subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__actions {
    transform: none;
  }

  .common-cta__phone,
  .common-cta__button {
    width: 100%;
  }

  .access-map {
    min-height: 300px;
    aspect-ratio: 16 / 7;
  }

  .property-map-embed iframe {
    height: 300px;
    min-height: 300px;
  }

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

  .about-cards,
  .staff-introduction__grid,
  .owner-card-grid--three,
  .owner-reason-list {
    grid-template-columns: 1fr;
  }

  .owner-flow__steps {
    grid-template-columns: 1fr;
  }

  .owner-flow__steps li {
    min-height: 0;
  }

  .privacy-contact-section .privacy-contact-cta {
    grid-template-columns: 1fr;
  }

  .site-footer__inner {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .site-footer__info,
  .site-footer__nav {
    grid-column: auto;
    grid-row: auto;
  }

  .site-footer__info {
    margin-top: 0;
    padding-top: 12px;
    border-top: 1px solid rgba(244, 196, 125, 0.38);
  }

  .site-footer__brand,
  .site-footer__info,
  .site-footer__nav {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .common-cta {
    padding-block: 48px;
  }

  .common-cta__inner {
    gap: 22px;
    padding: 24px 18px;
    border-radius: 22px;
  }

  #support.common-cta {
    padding-block: 44px 50px;
  }

  #support.common-cta::before {
    display: none;
  }

  #support.common-cta::after {
    top: 18px;
    right: 24px;
    left: 24px;
    opacity: 0.58;
  }

  #support.common-cta .common-cta__inner {
    gap: 20px;
    padding: 24px 20px 22px;
    border-radius: 22px;
    box-shadow:
      0 18px 42px rgba(96, 58, 21, 0.095),
      inset 0 1px 0 rgba(255, 255, 255, 0.92);
  }

  #support.common-cta .common-cta__label {
    gap: 10px;
  }

  #support.common-cta .common-cta__label::after {
    width: 24px;
  }

  #support.common-cta p:not(.common-cta__label):not(.image-note) {
    line-height: 1.82;
  }

  #support.common-cta .common-cta__button {
    min-height: 52px;
  }

  .subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__button {
    min-height: 52px;
  }

  .sub-hero h1 {
    font-size: clamp(1.95rem, 10vw, 2.7rem);
  }

  .privacy-page .sub-hero h1 {
    font-size: clamp(1.55rem, 8vw, 2.1rem);
    line-height: 1.2;
    white-space: nowrap;
  }

  .sub-hero__lead {
    margin-top: 10px;
    line-height: 1.62;
  }

  .sub-section__heading h2,
  .common-cta h2 {
    font-size: clamp(1.5rem, 6.2vw, 2rem);
  }

  .contact-intro .sub-section__heading h2 {
    font-size: clamp(1.42rem, 5.7vw, 1.86rem);
    line-height: 1.5;
  }

  .contact-page .contact-intro {
    padding-block: 26px 38px;
  }

  .contact-page #contact-methods {
    padding-top: 40px;
  }

  :is(.company-page, .reasons-page, .contact-page, .owner-support, .property-list-page, .blog-page, .news-detail-page) #support h2 {
    font-size: clamp(1.44rem, 5.9vw, 1.9rem);
  }

  .subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) h2 {
    font-size: clamp(1.44rem, 5.9vw, 1.9rem);
  }

  :is(.company-page, .reasons-page, .contact-page, .owner-support, .property-list-page, .blog-page, .news-detail-page) #support .common-cta__bee-flight,
  .subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__bee-flight {
    display: none;
  }

  .common-cta p:not(.common-cta__label):not(.image-note) {
    margin-top: 10px;
    line-height: 1.78;
  }

  .common-cta__actions {
    gap: 10px;
  }

  .common-cta__phone {
    padding: 15px 17px 15px 21px;
    border-radius: 18px;
  }

  .common-cta__phone::before {
    top: 15px;
    bottom: 15px;
    left: 11px;
    width: 2px;
  }

  :is(.company-page, .reasons-page, .contact-page, .owner-support, .property-list-page, .blog-page, .news-detail-page) #support .common-cta__phone {
    gap: 12px;
  }

  .subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__phone {
    gap: 12px;
  }

  :is(.company-page, .reasons-page, .contact-page, .owner-support, .property-list-page, .blog-page, .news-detail-page) #support .common-cta__phone-action {
    width: 36px;
    height: 36px;
  }

  .subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__phone-action {
    width: 36px;
    height: 36px;
  }

  :is(.company-page, .reasons-page, .contact-page, .owner-support, .property-list-page, .blog-page, .news-detail-page) #support .common-cta__phone-action svg {
    width: 13px;
    height: 13px;
  }

  .subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__phone-action svg {
    width: 13px;
    height: 13px;
  }

  #history-title {
    scroll-margin-top: 80px;
  }

  #history {
    scroll-margin-top: 80px;
  }

  .privacy-meta {
    gap: 4px 14px;
    font-size: 0.86rem;
  }

  .privacy-toc {
    padding: 20px 16px;
    border-radius: 18px;
  }

  .privacy-toc__lead {
    margin-bottom: 15px;
    font-size: 0.88rem;
  }

  .privacy-toc__list {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .privacy-toc__list a {
    min-height: 40px;
    padding: 9px 10px;
    font-size: 0.93rem;
  }

  .privacy-content {
    padding: 24px 18px 30px;
    border-radius: 18px;
  }

  .privacy-section {
    margin-top: 28px;
    padding-top: 26px;
    scroll-margin-top: 84px;
  }

  .privacy-section h3 {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 9px;
    align-items: start;
    padding: 13px 14px;
    border-radius: 13px;
    scroll-margin-top: 84px;
  }

  .privacy-section__number {
    justify-self: start;
  }

  .privacy-note {
    padding: 17px 16px;
  }

  .privacy-contact-list div {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .privacy-contact-list dt {
    padding: 13px 16px 5px;
  }

  .privacy-contact-list dd {
    padding: 4px 16px 15px;
  }

  .company-message__body {
    padding: 24px 20px 34px;
    border-radius: 22px;
  }

  .company-message__body p {
    font-size: 0.96rem;
    line-height: 1.9;
  }

  .company-message__lead {
    font-size: 1.08rem;
    line-height: 1.78;
  }

  .company-message__emphasis {
    padding: 14px 15px;
    border-radius: 16px;
  }

  .company-message__signature {
    margin-top: 26px !important;
    padding-bottom: 6px;
  }

  .company-message__visual {
    border-radius: 22px;
  }

  .company-message__visual figcaption {
    justify-content: flex-start;
    padding: 12px 15px 14px;
    font-size: 0.86rem;
    line-height: 1.74;
    text-align: left;
  }

  .staff-introduction__message {
    padding: 18px 16px;
    line-height: 1.86;
  }

  .staff-card__content {
    padding: 20px 18px 23px;
  }

  .staff-card p:not(.staff-card__role):not(.staff-card__kana) {
    line-height: 1.82;
  }

  .staff-mascot-card {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    margin-top: 16px;
  }

  .staff-mascot-card .staff-card__portrait {
    aspect-ratio: 4 / 3;
    border-right: 0;
    border-bottom: 1px solid rgba(244, 196, 125, 0.48);
  }

  .staff-mascot-card .staff-card__portrait img {
    padding: 16px;
  }

  .staff-mascot-card .staff-card__content {
    padding: 20px 18px 23px;
  }

  .staff-introduction__note {
    margin-top: 12px;
    font-size: 0.86rem;
    line-height: 1.72;
    text-align: left;
  }

  .access-guide {
    gap: 14px;
    padding: 18px;
    border-radius: 20px;
  }

  .access-guide__header {
    gap: 4px;
  }

  .access-guide__label {
    font-size: 0.72rem;
  }

  .access-guide h3 {
    font-size: 1.05rem;
  }

  .access-guide__items {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .access-guide__item {
    padding-left: 13px;
  }

  .access-guide__item h4,
  .access-guide__item p {
    font-size: 0.94rem;
  }

  .access-landmark-photos {
    grid-template-columns: minmax(0, 340px);
    justify-self: center;
    width: min(100%, 340px);
    gap: 18px;
  }

  .access-landmark-photo,
  .access-parking-photo {
    width: 100%;
    border-radius: 18px;
  }

  .privacy-contact-section .privacy-contact-cta {
    padding: 22px 18px;
  }

  .privacy-contact-section .privacy-contact-cta .sub-link-button {
    width: 100%;
  }

  .company-profile__table > div {
    grid-template-columns: 1fr;
    gap: 7px;
    align-items: start;
    padding: 16px 18px;
  }

  .company-profile__table-wrap {
    border-radius: 20px;
  }

  .company-profile__table dt {
    font-size: 0.94rem;
    line-height: 1.7;
  }

  .company-profile__table dd {
    font-size: 0.95rem;
    line-height: 1.84;
    overflow-wrap: break-word;
    word-break: keep-all;
  }

  .access-map {
    height: auto;
    min-height: 176px;
    aspect-ratio: 16 / 8;
    border-radius: 20px;
  }

  .property-map-embed iframe {
    height: 240px;
    min-height: 240px;
  }

  .company-profile .sub-section__heading h2 {
    font-size: clamp(1.48rem, 6.4vw, 1.96rem);
    scroll-margin-top: 80px;
  }

  .company-profile .sub-section__heading p:not(.sub-section__label) {
    max-width: none;
    line-height: 1.86;
  }

  .company-profile__table > div {
    padding: 15px 18px;
  }

  .history-list li {
    grid-template-columns: 1fr;
    gap: 2px;
    padding-block: 22px 23px;
  }

  .history-list {
    padding-left: 22px;
  }

  .company-history .history-list::before {
    top: 27px;
    bottom: 27px;
    left: 6px;
  }

  .company-history .history-list li::before {
    top: 30px;
    left: -22px;
  }

  .company-history__photo img {
    height: clamp(220px, 62vw, 280px);
    aspect-ratio: 4 / 3;
  }

  .common-cta__inner {
    padding: 24px 18px;
    border-radius: 22px;
  }

  .site-footer {
    padding-block: 30px calc(44px + env(safe-area-inset-bottom));
  }

  .site-footer__inner,
  .site-footer__copy {
    width: min(100% - 32px, 900px);
  }

  .site-footer__brand img {
    width: min(218px, 76vw);
    margin-bottom: -5px;
  }

  .site-footer__tagline {
    margin-top: 5px;
  }

  .site-footer__nav {
    grid-template-columns: 1fr;
    gap: 6px 12px;
    padding-top: 0;
  }

  .site-footer__brand p,
  .site-footer__info p,
  .site-footer__copy {
    font-size: 0.94rem;
    line-height: 1.85;
  }

  .site-footer__info p {
    margin-top: 10px;
  }

  .site-footer__contact {
    gap: 4px;
  }

  .site-footer__nav-column {
    gap: 3px;
  }

  .site-footer__nav a {
    min-height: 38px;
    align-items: center;
    padding-block: 5px;
    font-size: 0.92rem;
    line-height: 1.52;
  }

  .site-footer__nav-label {
    margin-bottom: 3px;
  }

  .common-cta__button,
  .sub-link-button {
    width: 100%;
  }
}

.room-search .sub-hero--image {
  background:
    radial-gradient(circle at 76% 20%, rgba(245, 130, 0, 0.1) 0%, transparent 320px),
    linear-gradient(180deg, #fff 0%, #fff8ec 56%, #fff 100%);
}

.room-search .sub-hero--image .sub-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 420px);
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
}

.room-search-hero__visual {
  position: relative;
  min-height: 330px;
}

.room-search-nowrap {
  display: inline-block;
  white-space: nowrap;
}

.room-search-hero__visual .room-search-hero__main-image {
  width: min(100%, 390px);
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 10px solid rgba(255, 255, 255, 0.86);
  border-radius: 8px 36px 8px 36px;
  box-shadow: 0 22px 44px rgba(96, 58, 21, 0.14);
}

.room-search-hero__visual .room-search-hero__sub-image {
  position: absolute;
  right: 0;
  bottom: 6px;
  width: min(42%, 172px);
  aspect-ratio: 1;
  object-fit: cover;
  border: 8px solid #fff;
  border-radius: 50%;
  box-shadow: 0 18px 34px rgba(96, 58, 21, 0.14);
}

.room-search-intro__grid {
  grid-template-columns: minmax(240px, 0.78fr) minmax(0, 1fr) minmax(240px, 0.64fr);
  align-items: start;
}

.room-search-intro__body {
  display: grid;
  gap: 18px;
}

.room-search-intro__body p,
.room-search-split__body p,
.room-search-media__body p {
  margin: 0;
  color: #594433;
  font-weight: 700;
  line-height: 1.95;
}

.room-search-claim {
  display: grid;
  gap: 8px;
  align-content: center;
  min-height: 190px;
  padding: 24px;
  border: 1px solid rgba(244, 196, 125, 0.72);
  border-radius: 8px 28px 8px 28px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 247, 232, 0.96) 58%, rgba(255, 231, 197, 0.88) 100%);
  box-shadow: 0 18px 40px rgba(96, 58, 21, 0.1);
}

.room-search-claim span {
  color: var(--brown-soft);
  font-size: 0.86rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.room-search-claim strong {
  color: var(--orange);
  font-size: clamp(28px, 3.6vw, 44px);
  font-weight: 900;
  line-height: 1.18;
}

.room-search-claim p {
  margin: 0;
  color: #6d5643;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.75;
}

.room-search-card-grid,
.room-search-check-grid {
  display: grid;
  gap: 18px;
}

.room-search-card-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.room-search-card,
.room-search-check-grid article,
.room-search-faq__item {
  border: 1px solid rgba(244, 196, 125, 0.6);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 16px 34px rgba(96, 58, 21, 0.07);
}

.room-search-card {
  display: grid;
  gap: 14px;
  align-content: start;
  min-height: 250px;
  padding: 28px;
}

.room-search-card--featured {
  background:
    linear-gradient(180deg, #fff 0%, #fff8ec 100%);
}

.room-search-card__icon {
  display: inline-grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border: 1px solid rgba(245, 130, 0, 0.18);
  border-radius: 50%;
  background: linear-gradient(180deg, #fff7ef 0%, #ffe6d5 100%);
  color: var(--orange);
}

.room-search-card__icon svg {
  width: 32px;
  height: 32px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.room-search-card h3 {
  margin: 0;
  color: var(--brown);
  font-size: 1.25rem;
  line-height: 1.45;
}

.room-search-card p {
  margin: 0;
  color: var(--brown-soft);
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.85;
}

.room-search-check-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.room-search-check-grid article {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 92px;
  padding: 20px;
}

.room-search-check-grid span {
  display: inline-grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  background: #fff3df;
  color: var(--orange);
  font-size: 0.78rem;
  font-weight: 900;
}

.room-search-check-grid p {
  margin: 0;
  color: #594433;
  font-weight: 800;
  line-height: 1.65;
}

.room-search-flow__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.room-search-flow__steps li {
  position: relative;
  min-height: 220px;
  padding: 26px 24px;
  border: 1px solid rgba(244, 196, 125, 0.6);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 34px rgba(96, 58, 21, 0.07);
}

.room-search-flow__steps span {
  display: inline-grid;
  width: 48px;
  height: 48px;
  place-items: center;
  margin-bottom: 18px;
  border-radius: 50%;
  background: var(--orange);
  color: #fff;
  font-size: 0.86rem;
  font-weight: 900;
  box-shadow: 0 10px 18px rgba(245, 130, 0, 0.22);
}

.room-search-flow__steps h3 {
  margin: 0;
  color: var(--brown);
  font-size: 1.12rem;
  line-height: 1.5;
}

.room-search-flow__steps p {
  margin: 12px 0 0;
  color: var(--brown-soft);
  font-weight: 700;
  line-height: 1.8;
}

.room-search-split,
.room-search-media {
  grid-template-columns: minmax(250px, 0.82fr) minmax(0, 1.18fr);
  align-items: center;
}

.room-search-split__body,
.room-search-media__body {
  display: grid;
  gap: 18px;
}

.room-search-note {
  padding: 16px 18px;
  border-left: 4px solid rgba(245, 130, 0, 0.46);
  background: #fff8ec;
  color: #6d5643 !important;
  font-size: 0.92rem;
}

.room-search-media__image {
  align-self: stretch;
}

.room-search-media__image img {
  width: 100%;
  height: min(420px, 100%);
  min-height: 300px;
  object-fit: cover;
  border: 10px solid rgba(255, 255, 255, 0.88);
  border-radius: 36px 8px 36px 8px;
  box-shadow: 0 22px 44px rgba(96, 58, 21, 0.14);
}

.room-search-faq__list {
  display: grid;
  gap: 12px;
  max-width: 920px;
  margin-inline: auto;
}

.room-search-faq__item {
  overflow: hidden;
}

.room-search-faq__item summary {
  display: flex;
  min-height: 64px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 22px;
  color: var(--brown);
  font-weight: 900;
  line-height: 1.55;
  cursor: pointer;
}

.room-search-faq__item summary::-webkit-details-marker {
  display: none;
}

.room-search-faq__item summary::after {
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--orange);
  border-bottom: 2px solid var(--orange);
  content: "";
  transform: rotate(45deg);
  transition: transform 180ms ease;
}

.room-search-faq__item[open] summary::after {
  transform: rotate(225deg);
}

.room-search-faq__item p {
  margin: 0;
  padding: 0 22px 20px;
  color: var(--brown-soft);
  font-weight: 700;
  line-height: 1.85;
}

.common-cta__actions--stacked {
  align-content: center;
}

.common-cta__button--ghost {
  border: 1px solid rgba(255, 230, 196, 0.52);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  box-shadow: none;
}

.property-cta .common-cta__button--ghost {
  border: 2px solid rgba(245, 130, 0, 0.62);
  background: #fff;
  color: var(--orange-deep);
  box-shadow: 0 8px 18px rgba(217, 95, 0, 0.09);
}

.property-cta .common-cta__button--ghost:hover,
.property-cta .common-cta__button--ghost:focus-visible {
  border-color: var(--orange);
  background: #fff3df;
  color: var(--orange-deep);
}

@media (max-width: 1099px) {
  .room-search .sub-hero--image .sub-hero__inner,
  .room-search-intro__grid,
  .room-search-split,
  .room-search-media {
    grid-template-columns: 1fr;
  }

  .room-search-card-grid--three,
  .room-search-check-grid,
  .room-search-flow__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .room-search-hero__visual {
    justify-self: start;
    width: min(100%, 440px);
  }
}

@media (max-width: 700px) {
  .room-search-card-grid--three,
  .room-search-check-grid,
  .room-search-flow__steps {
    grid-template-columns: 1fr;
  }

  .room-search-hero__visual {
    min-height: 268px;
  }

  .room-search-hero__visual .room-search-hero__main-image {
    width: min(86%, 340px);
    border-width: 7px;
  }

  .room-search-hero__visual .room-search-hero__sub-image {
    width: 128px;
    border-width: 6px;
  }

  .room-search-card,
  .room-search-flow__steps li {
    min-height: auto;
    padding: 22px;
  }

  .room-search-check-grid article {
    min-height: 82px;
  }
}

/* Owner support lower page */
.owner-support .sub-hero {
  min-height: clamp(170px, 15vw, 220px);
}

.owner-support .sub-hero h1 {
  max-width: 820px;
  font-size: clamp(2.08rem, 4vw, 3.9rem);
  overflow-wrap: normal;
  word-break: keep-all;
}

.owner-support .sub-hero__lead {
  max-width: 760px;
}

.owner-support .owner-intro {
  padding-block-start: clamp(48px, 5.8vw, 78px);
}

.owner-support .owner-intro__grid {
  grid-template-columns: 1fr;
  gap: clamp(18px, 2.4vw, 30px);
}

.owner-support .owner-intro .sub-section__heading {
  max-width: 920px;
  margin-bottom: 0;
}

.owner-support .owner-intro .sub-section__heading h2 {
  max-width: 900px;
  font-size: clamp(1.68rem, 2.65vw, 2.46rem);
  line-height: 1.42;
  letter-spacing: 0;
  line-break: strict;
  overflow-wrap: normal;
  text-wrap: balance;
  word-break: normal;
}

.owner-support .owner-intro__content {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(330px, 0.58fr);
  gap: clamp(20px, 3.2vw, 42px);
  align-items: start;
}

.owner-support .owner-intro__body,
.owner-support .owner-intro__visual {
  border-color: rgba(244, 196, 125, 0.54);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 14px 30px rgba(96, 58, 21, 0.075);
}

.owner-support .owner-intro__body {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  overflow: hidden;
  padding: clamp(23px, 2.9vw, 32px) clamp(26px, 3.6vw, 38px) clamp(26px, 3.4vw, 36px);
}

.owner-support .owner-intro__body::before {
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(90deg, rgba(247, 147, 30, 0.82) 0%, rgba(255, 196, 107, 0.62) 56%, rgba(255, 240, 215, 0.34) 100%);
  content: "";
}

.owner-support .owner-intro__body p {
  margin: 0;
  color: #6f5745;
  font-weight: 400;
  line-height: 1.9;
}

.owner-support .owner-intro__lead {
  color: var(--brown) !important;
  font-size: clamp(1.08rem, 1.35vw, 1.24rem);
  font-weight: 700 !important;
  line-height: 1.72 !important;
}

.owner-support .owner-intro__body p + p {
  margin-top: 15px;
}

.owner-support .owner-intro__points {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
  padding: 0;
  margin: clamp(16px, 2vw, 20px) 0 0;
  list-style: none;
}

.owner-support .owner-intro__points li {
  padding: 6px 10px 7px;
  border: 1px solid rgba(245, 130, 0, 0.18);
  border-radius: 999px;
  background: rgba(255, 246, 230, 0.86);
  color: var(--orange-deep);
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.45;
}

.owner-support .owner-intro__note {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-top: clamp(16px, 2vw, 21px) !important;
  padding: 13px 15px;
  border: 1px solid rgba(244, 196, 125, 0.34);
  border-radius: 15px;
  background: linear-gradient(135deg, rgba(255, 250, 242, 0.88) 0%, rgba(255, 255, 255, 0.96) 100%);
  color: #796554 !important;
  font-size: 0.92rem;
  font-weight: 500 !important;
  line-height: 1.74 !important;
  overflow-wrap: anywhere;
}

.owner-support .owner-intro__note::before {
  display: block;
  width: 1.08em;
  min-width: 1.08em;
  height: 1.08em;
  margin-top: 0.25em;
  background: var(--orange-deep);
  content: "";
  opacity: 0.72;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2a1 1 0 0 1 1 1v1h8V3a1 1 0 1 1 2 0v1h1.5A2.5 2.5 0 0 1 22 6.5v12A2.5 2.5 0 0 1 19.5 21h-15A2.5 2.5 0 0 1 2 18.5v-12A2.5 2.5 0 0 1 4.5 4H6V3a1 1 0 0 1 1-1Zm12.5 8h-15v8.5a.5.5 0 0 0 .5.5h14a.5.5 0 0 0 .5-.5V10ZM5 6a.5.5 0 0 0-.5.5V8h15V6.5A.5.5 0 0 0 19 6H5Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2a1 1 0 0 1 1 1v1h8V3a1 1 0 1 1 2 0v1h1.5A2.5 2.5 0 0 1 22 6.5v12A2.5 2.5 0 0 1 19.5 21h-15A2.5 2.5 0 0 1 2 18.5v-12A2.5 2.5 0 0 1 4.5 4H6V3a1 1 0 0 1 1-1Zm12.5 8h-15v8.5a.5.5 0 0 0 .5.5h14a.5.5 0 0 0 .5-.5V10ZM5 6a.5.5 0 0 0-.5.5V8h15V6.5A.5.5 0 0 0 19 6H5Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.owner-support .owner-intro__visual {
  display: grid;
  grid-template-rows: minmax(clamp(290px, 31vw, 410px), 1fr) auto;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(244, 196, 125, 0.54);
  border-radius: 26px;
}

.owner-support .owner-intro__visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 48% center;
}

.owner-support .owner-intro__caption {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 12px 18px 16px;
  border-top: 1px solid rgba(244, 196, 125, 0.38);
  background: linear-gradient(180deg, rgba(255, 250, 242, 0.82) 0%, rgba(255, 255, 255, 0.98) 100%);
  color: #6f5745;
  font-size: 0.8rem;
  font-weight: 500;
  line-height: 1.72;
}

.owner-support .owner-intro__caption > span {
  display: block;
}

.owner-support .owner-intro__caption .image-note {
  color: #b9afa4;
  font-size: 0.6rem;
  font-weight: 400 !important;
  line-height: 1.5;
}

.owner-support :is(.owner-mini-card, .owner-service-card, .owner-reason-card, .owner-flow__steps li, .owner-faq__item) {
  border-color: rgba(244, 196, 125, 0.62);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 18px 38px rgba(96, 58, 21, 0.09);
}

.owner-support :is(.owner-mini-card, .owner-service-card, .owner-reason-card) {
  position: relative;
  overflow: hidden;
  padding: 24px 24px 23px;
}

.owner-support :is(.owner-mini-card, .owner-service-card, .owner-reason-card)::before {
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--orange) 0%, #ffc46b 56%, #fff0d7 100%);
  content: "";
}

.owner-support .owner-card-grid {
  gap: clamp(14px, 1.8vw, 20px);
}

.owner-support .owner-card-grid--support {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.owner-support .owner-worries .sub-section__heading {
  max-width: 740px;
}

.owner-support .owner-worries .sub-section__heading h2 {
  max-width: 620px;
  margin-inline: auto;
  font-size: clamp(1.68rem, 3vw, 2.5rem);
  line-height: 1.42;
  letter-spacing: 0;
  overflow-wrap: normal;
  text-wrap: balance;
  word-break: keep-all;
}

.owner-support .owner-worries .sub-section__heading p:not(.sub-section__label) {
  max-width: 640px;
  margin-inline: auto;
  font-weight: 400;
}

.owner-support .owner-worries .owner-card-grid {
  gap: clamp(16px, 2vw, 22px);
}

.owner-support .owner-worries .owner-mini-card {
  gap: 9px;
  min-height: 214px;
  padding: 24px 24px 25px;
}

.owner-support .owner-worries .owner-mini-card::before {
  height: 3px;
  background: linear-gradient(90deg, rgba(245, 130, 0, 0.82) 0%, rgba(255, 196, 107, 0.58) 58%, rgba(255, 240, 215, 0.35) 100%);
}

.owner-support .owner-worries .owner-mini-card__category {
  width: fit-content;
  margin-top: -3px;
  padding: 3px 8px 4px;
  border: 1px solid rgba(245, 130, 0, 0.14);
  border-radius: 999px;
  background: rgba(255, 246, 230, 0.78);
  color: var(--orange-deep);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.35;
}

.owner-support .owner-worries .owner-mini-card h3 {
  margin-top: 3px;
}

.owner-support .owner-worries .owner-mini-card p {
  margin-top: 0;
  font-size: 0.94rem;
  font-weight: 400;
  line-height: 1.88;
}

.owner-support .owner-cause-map {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.46fr) minmax(420px, 0.54fr);
  gap: clamp(22px, 3vw, 38px);
  align-items: center;
  margin: clamp(22px, 3.2vw, 40px) 0 clamp(24px, 3.4vw, 42px);
  padding: clamp(24px, 3.2vw, 38px);
  overflow: hidden;
  border: 1px solid rgba(244, 196, 125, 0.55);
  border-radius: 26px;
  background:
    linear-gradient(135deg, rgba(255, 250, 242, 0.96) 0%, rgba(255, 255, 255, 0.96) 52%, rgba(255, 244, 226, 0.92) 100%);
  box-shadow: 0 18px 38px rgba(96, 58, 21, 0.085);
}

.owner-support .owner-cause-map::before {
  position: absolute;
  inset: 18px 18px auto auto;
  width: clamp(130px, 18vw, 220px);
  height: clamp(78px, 10vw, 124px);
  border: 1px solid rgba(245, 130, 0, 0.13);
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.72) 0%, rgba(255, 238, 211, 0.46) 100%);
  clip-path: polygon(0 34%, 44% 0, 100% 35%, 100% 100%, 0 100%);
  content: "";
  opacity: 0.46;
}

.owner-support .owner-cause-map__content,
.owner-support .owner-cause-map__diagram {
  position: relative;
  z-index: 1;
}

.owner-support .owner-cause-map__content {
  display: grid;
  gap: 12px;
}

.owner-support .owner-cause-map__content > span {
  width: fit-content;
  padding: 5px 10px 6px;
  border: 1px solid rgba(245, 130, 0, 0.16);
  border-radius: 999px;
  background: rgba(255, 246, 230, 0.82);
  color: var(--orange-deep);
  font-size: 0.76rem;
  font-weight: 800;
  line-height: 1.35;
}

.owner-support .owner-cause-map__content strong {
  color: var(--brown);
  font-size: clamp(1.38rem, 2.2vw, 2.1rem);
  font-weight: 800;
  line-height: 1.42;
  letter-spacing: 0;
  overflow-wrap: normal;
  word-break: keep-all;
}

.owner-support .owner-cause-map__content p {
  margin: 0;
  color: #6f5745;
  font-size: 0.96rem;
  font-weight: 500;
  line-height: 1.9;
}

.owner-support .owner-cause-map__diagram {
  overflow: hidden;
  min-height: 318px;
  padding: 22px;
  border: 1px solid rgba(244, 196, 125, 0.38);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.78) 0%, rgba(255, 250, 242, 0.8) 100%);
}

.owner-support .owner-cause-map__image {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0.16;
  filter: saturate(0.82) brightness(1.16);
  mix-blend-mode: multiply;
}

.owner-support .owner-cause-map__hub {
  position: absolute;
  top: 42%;
  left: 50%;
  z-index: 2;
  display: grid;
  width: clamp(156px, 18vw, 210px);
  min-height: 112px;
  place-items: center;
  padding: 18px 20px;
  border: 1px solid rgba(245, 130, 0, 0.25);
  border-radius: 999px;
  background: linear-gradient(180deg, #fff 0%, #fff4e6 100%);
  box-shadow: 0 16px 26px rgba(96, 58, 21, 0.1);
  text-align: center;
  transform: translate(-50%, -50%);
}

.owner-support .owner-cause-map__hub span {
  color: #a67235;
  font-size: 0.74rem;
  font-weight: 800;
  line-height: 1.35;
}

.owner-support .owner-cause-map__hub strong {
  color: var(--brown);
  font-size: clamp(1.02rem, 1.35vw, 1.18rem);
  font-weight: 800;
  line-height: 1.4;
}

.owner-support .owner-cause-map__factors {
  position: absolute;
  inset: 20px 20px 100px;
  z-index: 2;
  padding: 0;
  margin: 0;
  list-style: none;
}

.owner-support .owner-cause-map__factors li {
  position: absolute;
}

.owner-support .owner-cause-map__factors li:nth-child(1) {
  top: 2%;
  left: 4%;
}

.owner-support .owner-cause-map__factors li:nth-child(2) {
  top: 4%;
  right: 2%;
}

.owner-support .owner-cause-map__factors li:nth-child(3) {
  top: 44%;
  left: 0;
}

.owner-support .owner-cause-map__factors li:nth-child(4) {
  top: 42%;
  right: 0;
}

.owner-support .owner-cause-map__factors li:nth-child(5) {
  left: 26px;
  bottom: 4%;
}

.owner-support .owner-cause-map__factors span,
.owner-support .owner-cause-map__impact li {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid rgba(245, 130, 0, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: #7c5b3f;
  font-size: 0.86rem;
  font-weight: 800;
  line-height: 1.35;
  box-shadow: 0 10px 18px rgba(96, 58, 21, 0.065);
  white-space: nowrap;
}

.owner-support .owner-cause-map__factors span::before {
  display: inline-block;
  width: 8px;
  min-width: 8px;
  height: 8px;
  margin-right: 7px;
  border-radius: 50%;
  background: var(--orange);
  content: "";
}

.owner-support .owner-cause-map__impact {
  position: absolute;
  right: 22px;
  bottom: 22px;
  left: 22px;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.owner-support .owner-cause-map__impact li {
  position: relative;
  justify-content: center;
  min-height: 42px;
  border-color: rgba(245, 130, 0, 0.23);
  background: linear-gradient(180deg, #fff 0%, #fff7ed 100%);
  color: var(--orange-deep);
}

.owner-support .owner-cause-map__impact li:not(:last-child)::after {
  position: absolute;
  top: 50%;
  right: -17px;
  width: 12px;
  height: 12px;
  border-top: 2px solid rgba(245, 130, 0, 0.55);
  border-right: 2px solid rgba(245, 130, 0, 0.55);
  content: "";
  transform: translateY(-50%) rotate(45deg);
}

.owner-support .owner-mini-card {
  min-height: 190px;
}

.owner-support .owner-mini-card__icon {
  width: auto;
  height: auto;
  place-items: start;
  border-radius: 0;
  background: transparent;
  color: var(--orange-deep);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  line-height: 1.5;
}

.owner-support .owner-service-card__icon {
  width: 62px;
  height: 62px;
  margin-bottom: 18px;
  border: 1px solid rgba(245, 130, 0, 0.2);
  border-radius: 18px;
  background:
    linear-gradient(180deg, #fffaf2 0%, #ffe7d5 100%);
  color: var(--orange-deep);
  box-shadow: inset 0 0 0 6px rgba(255, 255, 255, 0.46);
}

.owner-support .owner-service-card__icon svg {
  width: 36px;
  height: 36px;
  stroke-width: 2.1;
}

.owner-support :is(.owner-mini-card h3, .owner-service-card h3, .owner-reason-card h3) {
  font-size: clamp(1.04rem, 1.3vw, 1.18rem);
  font-weight: 800;
  line-height: 1.55;
}

.owner-support :is(.owner-mini-card p, .owner-service-card p, .owner-reason-card p) {
  color: #6f5745;
  font-size: 0.96rem;
  font-weight: 500;
  line-height: 1.9;
}

.owner-support .owner-reason-list {
  gap: clamp(14px, 1.8vw, 20px);
}

.owner-support .owner-reason-card {
  padding-left: 24px;
}

.owner-support .owner-reason-card::before {
  top: 0;
  bottom: auto;
  left: 0;
  width: auto;
  border-radius: 0;
}

.owner-support .owner-local-map {
  display: grid;
  grid-template-columns: minmax(0, 0.48fr) minmax(320px, 0.52fr);
  gap: clamp(18px, 3vw, 34px);
  align-items: center;
  margin: 0 0 clamp(22px, 3vw, 34px);
  padding: clamp(22px, 3vw, 34px);
  overflow: hidden;
  border: 1px solid rgba(244, 196, 125, 0.56);
  border-radius: 26px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 247, 236, 0.94) 100%);
  box-shadow: 0 16px 32px rgba(96, 58, 21, 0.075);
}

.owner-support .owner-local-map__copy {
  display: grid;
  gap: 10px;
}

.owner-support .owner-local-map__copy span {
  width: fit-content;
  padding: 5px 10px 6px;
  border-radius: 999px;
  background: #fff1dd;
  color: var(--orange-deep);
  font-size: 0.74rem;
  font-weight: 800;
  line-height: 1.35;
}

.owner-support .owner-local-map__copy p {
  margin: 0;
  color: #6f5745;
  font-size: 0.98rem;
  font-weight: 500;
  line-height: 1.88;
}

.owner-support .owner-local-map__visual {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(244, 196, 125, 0.36);
  border-radius: 22px;
  background: #fffaf2;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.46);
}

.owner-support .owner-local-map__visual img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 1;
  object-fit: cover;
  object-position: center;
}

.owner-support .owner-flow__steps {
  position: relative;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  padding: 0;
  list-style: none;
}

.owner-support .owner-flow__steps::before {
  position: absolute;
  top: 48px;
  right: 8%;
  left: 8%;
  border-top: 2px dashed rgba(245, 130, 0, 0.34);
  content: "";
}

.owner-support .owner-flow__steps li {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: start;
  min-height: 226px;
  padding: 24px 20px;
}

.owner-support .owner-flow__steps span {
  width: 48px;
  height: 48px;
  background: var(--orange);
  box-shadow: 0 10px 18px rgba(245, 130, 0, 0.22);
}

.owner-support .owner-flow__steps h3 {
  font-size: 1.12rem;
  line-height: 1.5;
}

.owner-support .owner-flow__steps p {
  color: var(--brown-soft);
  font-weight: 500;
  line-height: 1.85;
}

.owner-support .owner-faq__list {
  gap: 12px;
  max-width: 920px;
}

.owner-support .owner-faq__item {
  overflow: hidden;
  background: #fff;
}

.owner-support .owner-faq__item summary {
  position: relative;
  justify-content: flex-start;
  min-height: 0;
  padding: 20px 22px;
  gap: 12px;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}

.owner-support .owner-faq__item summary::before {
  display: grid;
  width: 30px;
  min-width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 50%;
  background: #fff2d7;
  color: var(--orange-deep);
  content: "Q";
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
}

.owner-support .owner-faq__item summary::after {
  display: grid;
  width: 30px;
  min-width: 30px;
  height: 30px;
  place-items: center;
  margin-left: auto;
  border: 1px solid rgba(245, 130, 0, 0.3);
  border-radius: 50%;
  background: #fff;
  color: var(--orange-deep);
  content: "+";
  font-family: Arial, "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
  transform: none;
}

.owner-support .owner-faq__item[open] summary {
  border-bottom: 1px solid rgba(244, 196, 125, 0.42);
  background: #fffaf2;
}

.owner-support .owner-faq__item[open] summary::after {
  content: "−";
  transform: none;
}

.owner-support .owner-faq__item p {
  margin: 0;
  padding: 18px 22px 22px 64px;
  color: var(--brown-soft);
  font-weight: 500;
  line-height: 1.85;
}

@media (max-width: 1180px) {
  .owner-support .owner-flow__steps {
    grid-template-columns: 1fr;
    gap: 16px;
    padding-left: 28px;
  }

  .owner-support .owner-flow__steps::before {
    top: 18px;
    bottom: 18px;
    left: 23px;
    width: 0;
    border-top: 0;
    border-left: 2px dashed rgba(245, 130, 0, 0.34);
  }

  .owner-support .owner-flow__steps li {
    min-height: auto;
    padding: 22px 22px 22px 30px;
  }

  .owner-support .owner-flow__steps span {
    position: absolute;
    top: 22px;
    left: -28px;
    width: 46px;
    height: 46px;
  }
}

@media (max-width: 1099px) {
  .owner-support .owner-intro__grid,
  .owner-support .owner-intro__content {
    grid-template-columns: 1fr;
  }

  .owner-support .owner-intro__content {
    gap: 26px;
  }

  .owner-support .owner-card-grid--support {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .owner-support .owner-cause-map,
  .owner-support .owner-local-map {
    grid-template-columns: 1fr;
  }

  .owner-support .owner-cause-map__diagram {
    min-height: 300px;
  }
}

@media (max-width: 700px) {
  .owner-support .sub-hero h1 {
    font-size: clamp(2rem, 9vw, 2.55rem);
    line-height: 1.32;
  }

  .owner-support .owner-intro {
    padding-block-start: 42px;
  }

  .owner-support .owner-intro .sub-section__heading h2 {
    font-size: clamp(1.5rem, 6.2vw, 1.92rem);
    line-height: 1.46;
    text-wrap: pretty;
  }

  .owner-support .owner-intro .sub-section__heading {
    margin-bottom: 18px;
  }

  .owner-support .owner-intro__body {
    padding: 21px 22px 23px;
    border-radius: 18px;
  }

  .owner-support .owner-intro__lead {
    font-size: clamp(1.02rem, 4.5vw, 1.14rem);
  }

  .owner-support .owner-intro__points {
    gap: 7px;
  }

  .owner-support .owner-intro__points li {
    font-size: 0.78rem;
  }

  .owner-support .owner-intro__note {
    padding: 12px 13px;
    line-height: 1.76 !important;
  }

  .owner-support .owner-intro__visual {
    grid-template-rows: minmax(230px, 58vw, 320px) auto;
    border-radius: 18px;
  }

  .owner-support .owner-intro__caption {
    padding: 11px 14px 13px;
    font-size: 0.78rem;
  }

  .owner-support .owner-card-grid--three,
  .owner-support .owner-card-grid--support,
  .owner-support .owner-reason-list,
  .owner-support .owner-flow__steps {
    grid-template-columns: 1fr;
  }

  .owner-support .owner-cause-map {
    padding: 20px;
    border-radius: 20px;
  }

  .owner-support .owner-cause-map__content strong {
    font-size: clamp(1.28rem, 5.8vw, 1.72rem);
  }

  .owner-support .owner-cause-map__diagram {
    display: grid;
    gap: 13px;
    min-height: auto;
    padding: 17px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.78) 0%, rgba(255, 250, 242, 0.82) 100%);
  }

  .owner-support .owner-cause-map__hub,
  .owner-support .owner-cause-map__factors,
  .owner-support .owner-cause-map__impact {
    position: static;
  }

  .owner-support .owner-cause-map__hub {
    width: auto;
    min-height: 0;
    border-radius: 18px;
    transform: none;
  }

  .owner-support .owner-cause-map__factors {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    inset: auto;
  }

  .owner-support .owner-cause-map__factors li {
    position: static;
  }

  .owner-support .owner-cause-map__factors span {
    white-space: normal;
  }

  .owner-support .owner-cause-map__impact {
    right: auto;
    bottom: auto;
    left: auto;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .owner-support .owner-cause-map__impact li:not(:last-child)::after {
    top: auto;
    right: auto;
    bottom: -7px;
    left: 50%;
    width: 9px;
    height: 9px;
    transform: translateX(-50%) rotate(135deg);
  }

  .owner-support .owner-service-card__icon {
    width: 56px;
    height: 56px;
    margin-bottom: 14px;
  }

  .owner-support .owner-service-card__icon svg {
    width: 32px;
    height: 32px;
  }

  .owner-support .owner-local-map {
    padding: 20px;
    border-radius: 20px;
  }

  .owner-support .owner-local-map__visual {
    border-radius: 18px;
  }

  .owner-support .owner-mini-card,
  .owner-support .owner-service-card,
  .owner-support .owner-flow__steps li {
    min-height: auto;
    padding: 22px;
  }

  .owner-support .owner-worries .owner-mini-card {
    gap: 8px;
    min-height: auto;
    padding: 22px;
  }

  .owner-support .owner-worries .owner-mini-card__category {
    margin-top: -2px;
  }
}
/* ===== END site-lower-page-specials.css ===== */

/* ===== BEGIN site-content-pages.css ===== */

/* News list lower page */

.news-list-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 0.3fr);
  gap: clamp(20px, 4vw, 44px);
  align-items: start;
  margin-bottom: clamp(22px, 4vw, 36px);
}

.news-list-tools {
  display: grid;
  gap: 8px;
  justify-items: start;
  padding: 18px 20px;
  border: 1px solid rgba(244, 196, 125, 0.68);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 16px 28px rgba(132, 78, 25, 0.08);
}

.news-result-count {
  margin: 0;
  color: var(--brown);
  font-weight: 700;
}

.news-result-count span {
  color: var(--orange-deep);
  font-size: 1.35rem;
}

.news-list-tools__note {
  margin: 0;
  color: #80654f;
  font-size: 0.82rem;
  font-weight: 600;
}

.news-filter {
  margin-bottom: clamp(24px, 4vw, 38px);
  padding: 18px;
  border: 1px solid rgba(244, 196, 125, 0.62);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
}

.news-filter__label {
  margin: 0 0 12px;
  color: #735640;
  font-size: 0.9rem;
  font-weight: 700;
}

.news-filter__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.news-filter__button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 9px 16px;
  border: 1px solid rgba(244, 196, 125, 0.78);
  border-radius: 999px;
  background: #fff;
  color: #5f4635;
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 700;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.news-filter__button:hover,
.news-filter__button:focus-visible {
  border-color: rgba(245, 130, 0, 0.5);
  box-shadow: 0 10px 20px rgba(132, 78, 25, 0.12);
  transform: translateY(-1px);
}

.news-filter__button.is-active,
.news-filter__button[aria-pressed="true"] {
  border-color: var(--orange);
  background: var(--orange);
  color: #fff;
}

.news-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 3vw, 28px);
}

.news-card {
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
  border: 1px solid rgba(244, 196, 125, 0.58);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 34px rgba(132, 78, 25, 0.1);
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.news-card[hidden] {
  display: none;
}

.news-card:hover,
.news-card:focus-within {
  border-color: rgba(245, 130, 0, 0.42);
  box-shadow: 0 24px 44px rgba(132, 78, 25, 0.15);
  transform: translateY(-3px);
}

.news-card__media {
  display: block;
  overflow: hidden;
  background: #fff6e6;
}

.news-card__media img,
.news-card__placeholder {
  width: 100%;
  aspect-ratio: 16 / 9;
}

.news-card__media img {
  height: auto;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.news-card:hover .news-card__media img,
.news-card:focus-within .news-card__media img {
  transform: scale(1.035);
}

.news-card__placeholder {
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  isolation: isolate;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.68) 0%, rgba(255, 246, 230, 0.92) 42%, rgba(255, 225, 180, 0.7) 100%);
  color: rgba(238, 118, 0, 0.82);
  font-size: clamp(1rem, 2vw, 1.35rem);
  font-weight: 700;
  letter-spacing: 0.08em;
}

.news-card__placeholder::before,
.news-card__placeholder::after {
  position: absolute;
  z-index: 0;
  content: "";
  border-radius: 999px;
  background: rgba(245, 130, 0, 0.12);
}

.news-card__placeholder::before {
  right: -28px;
  bottom: -34px;
  width: 118px;
  height: 118px;
}

.news-card__placeholder::after {
  top: 24px;
  left: 24px;
  width: 68px;
  height: 68px;
  background: rgba(255, 255, 255, 0.48);
}

.news-card__placeholder span {
  position: relative;
  z-index: 2;
}

.news-card__placeholder-bee,
.blog-thumb__bee {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  width: clamp(32px, 10%, 52px);
  height: auto;
  opacity: 0.085;
  pointer-events: none;
  filter: saturate(0.62) brightness(1.08);
  transform: translate(-50%, -50%) rotate(-7deg);
}

.news-card__placeholder img.news-card__placeholder-bee,
.blog-thumb img.blog-thumb__bee {
  width: clamp(144px, 36%, 256px);
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
}

.news-card__placeholder--vacancy {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.74) 0%, rgba(246, 250, 244, 0.94) 46%, rgba(218, 238, 210, 0.78) 100%);
  color: #5d7c48;
}

.news-card__placeholder--business {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.72) 0%, rgba(255, 250, 242, 0.94) 48%, rgba(236, 219, 198, 0.72) 100%);
  color: #80604a;
}

.news-card__placeholder--management {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.74) 0%, rgba(255, 247, 236, 0.94) 48%, rgba(235, 207, 176, 0.72) 100%);
  color: #805436;
}

.news-card__placeholder--full {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.72) 0%, rgba(246, 244, 241, 0.96) 50%, rgba(219, 210, 200, 0.72) 100%);
  color: #75685d;
}

.news-card__body {
  display: grid;
  gap: 12px;
  align-content: start;
  padding: clamp(20px, 3vw, 28px);
}

.news-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
  align-items: center;
}

.news-card__meta time {
  color: #7c624e;
  font-size: 0.86rem;
  font-weight: 700;
}

.news-card__category {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: #fff0d7;
  color: var(--orange-deep);
  font-size: 0.76rem;
  font-weight: 700;
}

.news-card__category--property {
  background: #fff5e5;
  color: #b45a00;
}

.news-card__category--vacancy {
  background: #eef8e8;
  color: #557642;
}

.news-card__category--management {
  background: #f3efe8;
  color: #74533d;
}

.news-card__category--business {
  background: #f6eee2;
  color: #80604a;
}

.news-card h3 {
  margin: 0;
  color: var(--brown);
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  line-height: 1.55;
}

.news-card h3 a {
  text-decoration: none;
}

.news-card h3 a:hover,
.news-card h3 a:focus-visible {
  color: var(--orange-deep);
}

.news-card p {
  margin: 0;
  color: #604936;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.85;
}

.news-card__link {
  justify-self: start;
  margin-top: 4px;
  color: var(--orange-deep);
  font-size: 0.9rem;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 5px;
}

/*
 * Compact お知らせ archive rows. The owner asked for the news list to carry no
 * featured images and to read compactly, so the archive uses this variant while
 * the image card above stays available for other surfaces. One row is date,
 * category, and title, and the whole row is the link.
 */
.news-list--compact {
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
}

.news-card--compact {
  display: block;
  grid-template-rows: none;
  overflow: visible;
  box-shadow: 0 8px 18px rgba(132, 78, 25, 0.06);
}

/* The filter hides rows with the hidden attribute; state it on the variant so
 * the block-level display above can never out-order it. */
.news-card--compact[hidden] {
  display: none;
}

.news-card--compact:hover,
.news-card--compact:focus-within {
  background: #fffaf2;
  box-shadow: 0 12px 24px rgba(132, 78, 25, 0.1);
  transform: none;
}

.news-card__row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(12px, 2vw, 22px);
  padding: clamp(13px, 1.7vw, 17px) clamp(16px, 2.2vw, 22px);
  color: inherit;
  text-decoration: none;
}

.news-card__row::after {
  color: var(--orange-deep);
  content: "\2192";
  font-weight: 900;
}

.news-card--compact .news-card__meta {
  flex-wrap: nowrap;
  gap: 12px;
}

.news-card--compact .news-card__meta time {
  min-width: 5.6em;
}

.news-card--compact .news-card__category {
  min-width: 6.6em;
  justify-content: center;
}

.news-card--compact h3 {
  font-size: clamp(1rem, 1.15vw, 1.12rem);
  font-weight: 700;
  line-height: 1.55;
}

.news-card--compact:hover h3,
.news-card--compact:focus-within h3 {
  color: var(--orange-deep);
}

@media (max-width: 640px) {
  .news-card__row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 12px;
  }

  .news-card--compact .news-card__meta {
    grid-column: 1 / -1;
  }
}

.news-empty-state {
  margin-top: clamp(20px, 4vw, 34px);
  padding: clamp(28px, 5vw, 44px);
  border: 1px solid rgba(244, 196, 125, 0.68);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
  text-align: center;
  box-shadow: 0 18px 32px rgba(132, 78, 25, 0.08);
}

.news-empty-state h3 {
  margin: 0;
  color: var(--brown);
  font-size: clamp(1.3rem, 2.5vw, 1.85rem);
  line-height: 1.45;
}

.news-empty-state p {
  max-width: 620px;
  margin: 14px auto 0;
  color: #604936;
  font-weight: 500;
  line-height: 1.9;
}

.news-empty-state__button {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  margin-top: 22px;
  padding: 10px 20px;
  border-radius: 999px;
  background: var(--orange);
  color: #fff;
  font-weight: 700;
  box-shadow: 0 14px 24px rgba(245, 130, 0, 0.22);
}

.news-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin-top: clamp(30px, 5vw, 52px);
}

.news-pagination a {
  display: inline-flex;
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border: 1px solid rgba(244, 196, 125, 0.68);
  border-radius: 999px;
  background: #fff;
  color: var(--brown);
  font-weight: 700;
}

.news-pagination a[aria-current="page"] {
  background: var(--orange);
  color: #fff;
}

.news-contact-cta {
  background:
    linear-gradient(120deg, #4a3327 0%, #674630 52%, #a86528 100%);
}

@media (max-width: 1099px) {
  .news-list-head {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .news-list {
    grid-template-columns: 1fr;
  }

  .news-list-tools,
  .news-filter {
    padding: 16px;
  }
}

@media (max-width: 520px) {
  .news-page .sub-hero h1 {
    font-size: clamp(38px, 11vw, 48px);
  }

  .news-card__body,
  .news-empty-state {
    padding: 20px;
  }

  .news-filter__button {
    flex: 1 1 calc(50% - 10px);
    padding-inline: 12px;
  }
}

.sitemap-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 56px);
  align-items: start;
}

.sitemap-intro__body {
  color: #604936;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.9;
}

.sitemap-intro__body p {
  margin: 0;
}

.sitemap-intro__body p + p {
  margin-top: 12px;
}

.sitemap-list-section {
  background:
    radial-gradient(circle at 50% 84px, rgba(255, 237, 204, 0.7) 0 72px, transparent 73px),
    linear-gradient(180deg, #fff 0%, #fffaf2 100%);
}

.sitemap-mindmap {
  position: relative;
  display: grid;
  max-width: 1160px;
  gap: clamp(18px, 2.4vw, 30px);
  margin-inline: auto;
}

.sitemap-mindmap::before {
  position: absolute;
  top: 104px;
  bottom: calc(100% - 154px);
  left: 50%;
  width: 2px;
  background: rgba(245, 130, 0, 0.28);
  content: "";
  transform: translateX(-50%);
}

.sitemap-mindmap__center {
  position: relative;
  z-index: 2;
  display: grid;
  justify-self: center;
  width: min(100%, 294px);
  min-height: 118px;
  gap: 5px;
  padding: 20px 58px 20px 32px;
  color: var(--brown);
  text-align: center;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 248, 235, 0.96));
  border: 1px solid rgba(245, 130, 0, 0.42);
  border-radius: 999px;
  box-shadow:
    0 16px 36px rgba(132, 78, 25, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
  align-content: center;
}

.sitemap-mindmap__center::after {
  position: absolute;
  right: 22px;
  top: 50%;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  color: var(--orange-deep);
  background: #fff2dc;
  border: 1px solid rgba(244, 196, 125, 0.72);
  border-radius: 999px;
  font-size: 0.92rem;
  font-weight: 900;
  content: "\2192";
  transform: translateY(-50%);
}

.sitemap-mindmap__center:hover,
.sitemap-mindmap__center:focus-visible {
  color: var(--orange-deep);
  outline: none;
  transform: translateY(-2px);
}

.sitemap-mindmap__label {
  color: var(--orange-deep);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.sitemap-mindmap__center strong {
  padding-inline: 0;
  font-size: clamp(1.08rem, 1.65vw, 1.32rem);
  line-height: 1.28;
}

.sitemap-mindmap__center strong span {
  display: block;
}

.sitemap-mindmap__center small {
  color: #80654d;
  font-size: 0.78rem;
  font-weight: 700;
}

.sitemap-mindmap__branches {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(12px, 1.6vw, 18px);
  padding-top: 18px;
}

.sitemap-mindmap__branches::before {
  position: absolute;
  top: 0;
  left: 12.5%;
  right: 12.5%;
  height: 2px;
  background: linear-gradient(90deg, rgba(244, 196, 125, 0.04), rgba(245, 130, 0, 0.26), rgba(244, 196, 125, 0.04));
  content: "";
}

.sitemap-section {
  position: relative;
  display: grid;
  gap: 12px;
  padding: clamp(14px, 1.8vw, 18px);
  background: #fff;
  border: 1px solid rgba(244, 196, 125, 0.52);
  border-radius: 18px;
  box-shadow: 0 12px 26px rgba(132, 78, 25, 0.09);
  align-content: start;
}

.sitemap-branch::before {
  position: absolute;
  top: -18px;
  left: 50%;
  width: 2px;
  height: 18px;
  background: rgba(245, 130, 0, 0.22);
  content: "";
}

.sitemap-branch--property {
  border-color: rgba(245, 130, 0, 0.56);
}

.sitemap-branch--reason {
  border-color: rgba(244, 196, 125, 0.68);
}

.sitemap-branch--company {
  border-color: rgba(232, 176, 90, 0.52);
}

.sitemap-branch--contact {
  border-color: rgba(245, 130, 0, 0.42);
}

.sitemap-section__head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 6px 10px;
  align-items: center;
}

.sitemap-section__head > span {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  color: var(--orange-deep);
  background: #fff3df;
  border: 1px solid rgba(244, 196, 125, 0.72);
  border-radius: 50%;
  font-size: 0.72rem;
  font-weight: 900;
}

.sitemap-section h3 {
  margin: 0;
  color: var(--brown);
  font-size: 1rem;
  line-height: 1.36;
}

.sitemap-section__head p {
  grid-column: 1 / -1;
  margin: 0;
  color: #715844;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.62;
}

.sitemap-list {
  display: grid;
  gap: 7px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.sitemap-list a {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 10px;
  min-height: 46px;
  padding: 10px 12px;
  color: var(--brown);
  background: #fffaf2;
  border: 1px solid rgba(244, 196, 125, 0.42);
  border-radius: 12px;
  transition:
    transform 0.18s ease,
    color 0.18s ease,
    background-color 0.18s ease,
    border-color 0.18s ease;
}

.sitemap-list a::after {
  content: "\2192";
  grid-row: 1 / span 2;
  grid-column: 2;
  align-self: center;
  justify-self: end;
  color: var(--orange-deep);
  font-size: 0.86rem;
  font-weight: 900;
}

.sitemap-list a:hover,
.sitemap-list a:focus-visible {
  color: var(--orange-deep);
  background: #fff4e4;
  border-color: rgba(245, 130, 0, 0.52);
  transform: translateX(3px);
  outline: none;
}

.sitemap-list a[aria-current="page"] {
  background: #fff0d7;
  border-color: rgba(245, 130, 0, 0.58);
}

.sitemap-list span {
  display: block;
  font-size: 0.88rem;
  font-weight: 900;
  line-height: 1.42;
}

.sitemap-list small {
  display: block;
  color: #80654d;
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1.42;
  overflow-wrap: anywhere;
}

.sitemap-property-details {
  display: grid;
  gap: 8px;
}

.sitemap-property-details summary {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 10px;
  min-height: 46px;
  padding: 10px 42px 10px 12px;
  color: var(--brown);
  cursor: pointer;
  list-style: none;
  background:
    linear-gradient(180deg, rgba(255, 246, 231, 0.98), rgba(255, 239, 213, 0.88));
  border: 1px solid rgba(245, 130, 0, 0.36);
  border-radius: 12px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
  align-items: center;
}

.sitemap-property-details summary::-webkit-details-marker {
  display: none;
}

.sitemap-property-details summary::after {
  position: absolute;
  right: 10px;
  top: 50%;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  color: var(--orange-deep);
  background: #fffaf2;
  border: 1px solid rgba(244, 196, 125, 0.64);
  border-radius: 999px;
  content: "+";
  font-size: 1rem;
  font-weight: 900;
  transform: translateY(-50%);
}

.sitemap-property-details[open] summary::after {
  content: "\2212";
}

.sitemap-property-details summary span {
  color: var(--brown);
  font-size: 0.86rem;
  font-weight: 900;
  line-height: 1.35;
}

.sitemap-property-details summary small {
  justify-self: end;
  color: #80654d;
  font-size: 0.7rem;
  font-weight: 700;
}

.sitemap-list--properties {
  max-height: min(460px, 64vh);
  padding: 2px 4px 2px 0;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-color: rgba(245, 130, 0, 0.38) rgba(255, 240, 216, 0.7);
}

.sitemap-cta {
  background: linear-gradient(120deg, #4a3327 0%, #674630 52%, #a86528 100%);
}

@media (max-width: 1099px) {
  .sitemap-intro__grid {
    grid-template-columns: 1fr;
  }

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

  .sitemap-mindmap__branches::before {
    left: 25%;
    right: 25%;
  }
}

@media (max-width: 860px) {
  .sitemap-mindmap::before,
  .sitemap-mindmap__branches::before,
  .sitemap-branch::before {
    display: none;
  }

  .sitemap-mindmap__branches {
    grid-template-columns: 1fr;
    padding-top: 0;
  }

  .sitemap-section {
    border-radius: 20px;
  }

  .sitemap-section__head p {
    font-size: 0.86rem;
  }
}

@media (max-width: 520px) {
  .sitemap-page .sub-hero h1 {
    font-size: 42px;
  }

  .sitemap-section {
    padding: 16px 14px;
  }

  .sitemap-mindmap__center {
    border-radius: 22px;
    padding: 19px 52px 19px 28px;
  }

  .sitemap-list a {
    min-height: 52px;
    padding: 12px 13px;
  }

  .sitemap-property-details summary {
    padding-inline: 13px 44px;
  }
}

/* Blog list lower page */

.blog-page .sub-breadcrumb {
  padding-block: 12px 6px;
}

.blog-intro {
  position: relative;
  overflow: hidden;
  padding-block: clamp(24px, 3.2vw, 42px) clamp(28px, 3.4vw, 44px);
  background:
    linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(255, 248, 236, 0.84) 100%);
  isolation: isolate;
}

.blog-intro::after {
  position: absolute;
  inset: auto 0 0;
  z-index: -1;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(244, 196, 125, 0.58) 18%, rgba(244, 196, 125, 0.34) 82%, transparent 100%);
  content: "";
  pointer-events: none;
}

.blog-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.96fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 56px);
  align-items: start;
}

.blog-list-head {
  max-width: 780px;
}

.blog-intro .sub-section__heading {
  max-width: 560px;
  margin-bottom: 0;
}

.blog-intro .sub-section__heading h2 {
  font-size: clamp(1.82rem, 3vw, 2.7rem);
  line-height: 1.32;
  overflow-wrap: normal;
  word-break: keep-all;
}

.blog-intro .sub-section__heading h2 span {
  display: inline-block;
  white-space: nowrap;
}

.blog-intro__body {
  display: grid;
  gap: 12px;
  color: #604936;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.9;
}

.blog-intro__body p {
  margin: 0;
}

.blog-intro-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: clamp(4px, 0.8vw, 8px);
}

.blog-intro-tags a {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: 7px 12px;
  border: 1px solid rgba(244, 196, 125, 0.52);
  border-radius: 999px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(255, 246, 234, 0.78));
  color: #684b36;
  font-size: 0.84rem;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  box-shadow: 0 8px 16px rgba(132, 78, 25, 0.05);
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.blog-intro-tags a:hover,
.blog-intro-tags a:focus-visible,
.blog-intro-tags a.is-active {
  border-color: rgba(245, 130, 0, 0.48);
  background: #fff0d7;
  color: var(--orange-deep);
  box-shadow: 0 10px 18px rgba(132, 78, 25, 0.09);
  transform: translateY(-1px);
}

.blog-featured-list {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) repeat(2, minmax(0, 0.95fr));
  gap: clamp(18px, 3vw, 28px);
}

.blog-featured-card,
.blog-card,
.blog-sidebar__box {
  overflow: hidden;
  border: 1px solid rgba(244, 196, 125, 0.58);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 34px rgba(132, 78, 25, 0.1);
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.blog-featured-card,
.blog-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.blog-featured-card:hover,
.blog-featured-card:focus-within,
.blog-card:hover,
.blog-card:focus-within {
  border-color: rgba(245, 130, 0, 0.42);
  box-shadow: 0 24px 44px rgba(132, 78, 25, 0.15);
  transform: translateY(-3px);
}

.blog-featured-card__media,
.blog-card__media {
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: #fff6e6;
}

.blog-featured-card__media img,
.blog-card__media img,
.blog-thumb {
  width: 100%;
  height: 100%;
}

.blog-featured-card__media img,
.blog-card__media img {
  display: block;
  object-fit: cover;
  transition: transform 0.32s ease;
}

.blog-featured-card:hover .blog-featured-card__media img,
.blog-featured-card:focus-within .blog-featured-card__media img,
.blog-card:hover .blog-card__media img,
.blog-card:focus-within .blog-card__media img {
  transform: scale(1.035);
}

.blog-featured-card--warm-photo .blog-featured-card__media img {
  filter: brightness(0.96) saturate(0.94) sepia(0.05);
}

.blog-thumb {
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  isolation: isolate;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.72) 0%, rgba(255, 247, 235, 0.94) 48%, rgba(255, 224, 180, 0.7) 100%);
  color: rgba(238, 118, 0, 0.82);
  font-size: clamp(1rem, 1.8vw, 1.36rem);
  font-weight: 900;
  letter-spacing: 0.08em;
}

.blog-thumb::before,
.blog-thumb::after {
  position: absolute;
  z-index: 0;
  content: "";
  pointer-events: none;
}

.blog-thumb::before {
  inset: 28px;
  border: 1px solid rgba(245, 130, 0, 0.18);
  border-radius: 22px;
}

.blog-thumb::after {
  right: -42px;
  bottom: -58px;
  width: 170px;
  height: 120px;
  border-radius: 50%;
  background: rgba(245, 130, 0, 0.12);
}

.blog-thumb span {
  position: relative;
  z-index: 2;
}

.blog-thumb--management {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.72) 0%, rgba(249, 246, 241, 0.95) 48%, rgba(224, 210, 190, 0.72) 100%);
  color: #76523b;
}

.blog-thumb--life {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.72) 0%, rgba(245, 251, 246, 0.94) 46%, rgba(214, 235, 218, 0.76) 100%);
  color: #526f4a;
}

.blog-featured-card__body,
.blog-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 12px;
  padding: clamp(20px, 3vw, 28px);
}

.blog-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
  align-items: center;
}

.blog-card__meta time {
  color: #7c624e;
  font-size: 0.86rem;
  font-weight: 900;
}

.blog-card__category {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: #fff0d7;
  color: var(--orange-deep);
  font-size: 0.76rem;
  font-weight: 900;
}

.blog-card__category--fee {
  background: #fff5e5;
  color: #b45a00;
}

.blog-card__category--women {
  background: #fff0ee;
  color: #9c5145;
}

.blog-card__category--owner {
  background: #f3efe8;
  color: #74533d;
}

.blog-card__category--life {
  background: #edf7ec;
  color: #526f4a;
}

.blog-featured-card h3,
.blog-card h3,
.blog-sidebar__box h3 {
  margin: 0;
  color: var(--brown);
  line-height: 1.52;
}

.blog-featured-card h3 {
  font-size: clamp(1.22rem, 2vw, 1.55rem);
}

.blog-featured-card--fee h3 {
  font-size: clamp(1.16rem, 1.78vw, 1.38rem);
}

.blog-card h3 {
  font-size: clamp(1.1rem, 1.7vw, 1.34rem);
}

.blog-card__title-phrase {
  display: inline-block;
  white-space: nowrap;
}

.blog-featured-card h3 a:hover,
.blog-featured-card h3 a:focus-visible,
.blog-card h3 a:hover,
.blog-card h3 a:focus-visible,
.blog-sidebar__box a:hover,
.blog-sidebar__box a:focus-visible {
  color: var(--orange-deep);
}

.blog-featured-card p,
.blog-card p,
.blog-sidebar__box p {
  margin: 0;
  color: #604936;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.85;
}

.blog-featured-card__body > p,
.blog-card__body > p:not(.image-note) {
  flex: 1 1 auto;
}

.blog-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.blog-card__tags li {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  padding: 4px 9px;
  border: 1px solid rgba(244, 196, 125, 0.56);
  border-radius: 999px;
  background: #fffaf2;
  color: #765a44;
  font-size: 0.74rem;
  font-weight: 900;
}

.blog-card__link {
  align-self: flex-start;
  margin-top: auto;
  color: var(--orange-deep);
  font-size: 0.9rem;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 5px;
}

.blog-list .blog-card__link {
  display: inline-flex;
  align-items: center;
  transition: color 0.18s ease, text-underline-offset 0.18s ease;
}

.blog-list .blog-card__link:hover,
.blog-list .blog-card__link:focus-visible {
  color: var(--orange);
  text-underline-offset: 7px;
}

.blog-result-count {
  margin: 0;
  color: #80654f;
  font-size: 0.84rem;
  font-weight: 600;
  line-height: 1.35;
}

.blog-result-count span {
  color: var(--orange-deep);
  font-size: 1.05rem;
  font-weight: 700;
}

.blog-filter {
  margin-bottom: clamp(24px, 4vw, 38px);
  padding: 18px;
  border: 1px solid rgba(244, 196, 125, 0.62);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
}

.blog-filter__head {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 12px;
}

.blog-filter__label {
  margin: 0;
  color: #735640;
  font-size: 0.9rem;
  font-weight: 900;
}

.blog-filter__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.blog-filter__button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 9px 16px;
  border: 1px solid rgba(244, 196, 125, 0.78);
  border-radius: 999px;
  background: #fff;
  color: #5f4635;
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 900;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.blog-filter__button:hover,
.blog-filter__button:focus-visible {
  border-color: rgba(245, 130, 0, 0.5);
  box-shadow: 0 10px 20px rgba(132, 78, 25, 0.12);
  transform: translateY(-1px);
}

.blog-filter__button.is-active,
.blog-filter__button[aria-pressed="true"] {
  border-color: var(--orange);
  background: var(--orange);
  color: #fff;
}

.blog-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 300px);
  gap: clamp(24px, 4vw, 38px);
  align-items: start;
}

.blog-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 3vw, 28px);
}

.blog-card[hidden] {
  display: none;
}

.blog-sidebar {
  display: grid;
  gap: 18px;
}

.blog-sidebar__box {
  padding: 22px;
}

.blog-sidebar__box h3 {
  margin-bottom: 14px;
  font-size: 1.05rem;
}

.blog-sidebar__links,
.blog-sidebar__posts {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: #604936;
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1.7;
}

.blog-sidebar__links {
  padding: 0;
  list-style: none;
}

.blog-sidebar__links a {
  display: flex;
  min-height: 40px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 999px;
  background: #fffaf2;
}

.blog-sidebar__count {
  margin-left: 6px;
  color: #8a6a4a;
  font-weight: 700;
}

.blog-sidebar__links a::after {
  color: var(--orange-deep);
  content: "\2192";
  font-weight: 900;
}

.blog-sidebar__links a.is-active {
  background: #fff0d7;
  color: var(--orange-deep);
  box-shadow: inset 0 0 0 1px rgba(245, 130, 0, 0.24);
}

.blog-sidebar__posts a {
  display: grid;
  gap: 5px;
  min-height: 42px;
  padding: 9px 10px;
  border-radius: 8px;
  line-height: 1.72;
  text-decoration: none;
  transition: background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.blog-sidebar__posts a:hover,
.blog-sidebar__posts a:focus-visible {
  background: #fff6e8;
  color: var(--orange-deep);
  box-shadow: inset 0 0 0 1px rgba(245, 130, 0, 0.18);
}

.blog-sidebar__posts--ranked {
  counter-reset: blog-rank;
}

.blog-sidebar__posts--ranked li {
  counter-increment: blog-rank;
}

.blog-sidebar__posts--ranked a {
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: start;
  padding-block: 10px;
}

.blog-sidebar__posts--ranked a::before {
  display: inline-flex;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #fff0d7;
  color: var(--orange-deep);
  content: counter(blog-rank);
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1;
}

.blog-sidebar__posts--dated time {
  color: #9a765b;
  font-size: 0.76rem;
  font-weight: 600;
  line-height: 1.35;
}

.blog-sidebar__posts--dated li + li {
  padding-top: 8px;
  border-top: 1px solid rgba(244, 196, 125, 0.34);
}

.blog-sidebar__posts--dated span {
  line-height: 1.72;
}

.blog-sidebar__cta {
  background:
    linear-gradient(145deg, #fffaf2 0%, #fff0d7 100%);
}

.blog-sidebar__cta p {
  line-height: 1.75;
}

.blog-sidebar__cta a {
  display: flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  margin-top: 12px;
  padding: 9px 12px;
  border: 1px solid rgba(245, 130, 0, 0.42);
  border-radius: 999px;
  background: #fff;
  color: var(--orange-deep);
  font-size: 0.88rem;
  font-weight: 900;
}

.blog-empty-state {
  margin-top: clamp(20px, 4vw, 34px);
  padding: clamp(28px, 5vw, 44px);
  border: 1px solid rgba(244, 196, 125, 0.68);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
  text-align: center;
  box-shadow: 0 18px 32px rgba(132, 78, 25, 0.08);
}

.blog-empty-state h3 {
  margin: 0;
  color: var(--brown);
  font-size: clamp(1.3rem, 2.5vw, 1.85rem);
  line-height: 1.45;
}

.blog-empty-state p {
  max-width: 620px;
  margin: 14px auto 0;
  color: #604936;
  font-weight: 700;
  line-height: 1.9;
}

.blog-empty-state__button {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  margin-top: 22px;
  padding: 10px 20px;
  border-radius: 999px;
  background: var(--orange);
  color: #fff;
  font-weight: 900;
  box-shadow: 0 14px 24px rgba(245, 130, 0, 0.22);
}

.blog-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin-top: clamp(30px, 5vw, 52px);
}

.blog-pagination a {
  display: inline-flex;
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border: 1px solid rgba(244, 196, 125, 0.68);
  border-radius: 999px;
  background: #fff;
  color: var(--brown);
  font-weight: 900;
}

.blog-pagination a[aria-current="page"] {
  background: var(--orange);
  color: #fff;
}

@media (max-width: 1099px) {
  .blog-intro__grid,
  .blog-layout {
    grid-template-columns: 1fr;
  }

  .blog-intro .sub-section__heading {
    max-width: 760px;
  }

  .blog-featured-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .blog-page main {
    padding-bottom: calc(96px + env(safe-area-inset-bottom));
  }

  .blog-page .sub-hero__inner {
    padding-block: 18px 20px;
  }

  .blog-page .sub-hero__lead {
    margin-top: 7px;
    font-size: 0.94rem;
    line-height: 1.46;
  }

  .blog-page .sub-breadcrumb {
    padding-block: 6px 2px;
  }

  .blog-intro {
    padding-block: 12px 16px;
  }

  .blog-intro .sub-section__label {
    display: none;
  }

  .blog-intro__grid {
    gap: 10px;
  }

  .blog-intro__body {
    gap: 6px;
    font-size: 0.92rem;
    line-height: 1.6;
  }

  .blog-intro-tags {
    gap: 5px 8px;
    margin-top: 2px;
  }

  .blog-featured-section {
    padding-block: 24px calc(56px + env(safe-area-inset-bottom));
  }

  .blog-featured-list,
  .blog-list {
    grid-template-columns: 1fr;
  }

  .blog-filter,
  .blog-sidebar__box {
    padding: 16px;
  }
}

@media (max-width: 520px) {
  .blog-page .sub-hero h1 {
    font-size: clamp(36px, 10.4vw, 44px);
  }

  .blog-intro .sub-section__heading h2 {
    font-size: clamp(1.42rem, 6.7vw, 1.74rem);
    line-height: 1.4;
  }

  .blog-intro-tags a {
    flex: 1 1 calc(50% - 7px);
    min-height: 38px;
    padding: 6px 8px;
    font-size: 0.78rem;
  }

  .blog-featured-card__body,
  .blog-card__body,
  .blog-empty-state {
    padding: 20px;
  }

  .blog-filter__button {
    flex: 1 1 calc(50% - 10px);
    padding-inline: 12px;
  }
}

/* Blog detail lower page */

.blog-detail-hero {
  min-height: clamp(310px, 30vw, 430px);
  background:
    radial-gradient(circle at 84% 12%, rgba(245, 130, 0, 0.12) 0%, transparent 320px),
    linear-gradient(120deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 250, 242, 0.96) 48%, rgba(255, 239, 218, 0.82) 100%);
}

.blog-detail-hero::before {
  background:
    repeating-linear-gradient(135deg, rgba(245, 130, 0, 0.07) 0 2px, transparent 2px 18px);
  border-radius: 0;
  opacity: 0.62;
  transform: rotate(-8deg);
}

.blog-detail-hero .blog-detail-hero__inner {
  display: block;
  max-width: 1040px;
  padding-block: clamp(58px, 6vw, 92px) clamp(58px, 6vw, 88px);
}

.blog-detail-hero h1 {
  max-width: 960px;
  margin-top: 18px;
  font-size: clamp(2rem, 3.8vw, 3.35rem);
  line-height: 1.34;
}

.blog-detail-hero .sub-hero__lead {
  max-width: 880px;
  margin-top: 18px;
}

.blog-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: center;
  color: #80654f;
  font-size: 0.9rem;
  font-weight: 900;
  line-height: 1.45;
}

.blog-article-section {
  background:
    linear-gradient(180deg, #fff 0%, #fffaf2 100%);
}

.blog-article-layout {
  display: grid;
  grid-template-columns: minmax(0, 820px) minmax(250px, 300px);
  gap: clamp(28px, 4vw, 48px);
  align-items: start;
}

.blog-article,
.blog-content {
  min-width: 0;
}

.blog-detail-sidebar {
  position: sticky;
  top: 112px;
}

.blog-eyecatch {
  position: relative;
  overflow: hidden;
  margin: 0 0 clamp(28px, 5vw, 48px);
  border: 1px solid rgba(244, 196, 125, 0.58);
  border-radius: 8px;
  background: #fff4df;
  box-shadow: 0 18px 38px rgba(96, 58, 21, 0.08);
}

.blog-eyecatch img,
.blog-eyecatch__placeholder {
  width: 100%;
  aspect-ratio: 16 / 7;
}

.blog-eyecatch img {
  object-fit: cover;
}

.blog-eyecatch figcaption {
  padding: 10px 14px;
  margin: 0;
  color: #80654f;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.6;
  background: rgba(255, 250, 242, 0.96);
}

.blog-eyecatch__placeholder {
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  isolation: isolate;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.74), rgba(255, 246, 230, 0.92)),
    repeating-linear-gradient(45deg, rgba(245, 130, 0, 0.12) 0 1px, transparent 1px 18px);
  color: #8a725d;
  font-weight: 900;
}

.blog-eyecatch__placeholder[hidden] {
  display: none;
}

.blog-toc {
  margin-bottom: clamp(32px, 5vw, 54px);
  padding: clamp(22px, 4vw, 30px);
  border: 1px solid rgba(244, 196, 125, 0.64);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 248, 236, 0.9));
  box-shadow: 0 16px 34px rgba(132, 78, 25, 0.08);
}

.blog-toc h2 {
  margin: 0;
  color: var(--brown);
  font-size: clamp(1.16rem, 2vw, 1.42rem);
  line-height: 1.5;
}

.blog-toc ol {
  display: grid;
  gap: 10px;
  margin: 16px 0 0;
  padding-left: 1.35em;
  color: #604936;
  font-weight: 900;
  line-height: 1.65;
}

.blog-toc a {
  color: #604936;
  text-decoration: underline;
  text-decoration-color: rgba(245, 130, 0, 0.34);
  text-underline-offset: 5px;
}

.blog-toc a:hover,
.blog-toc a:focus-visible {
  color: var(--orange-deep);
  text-decoration-color: currentColor;
}

.blog-content {
  color: #4f3a2e;
  font-size: clamp(1rem, 1.25vw, 1.08rem);
  font-weight: 700;
  line-height: 2.08;
}

.blog-content > * {
  margin-top: 0;
  margin-bottom: 0;
}

.blog-content > * + * {
  margin-top: 1.35em;
}

.blog-content h2 {
  margin-top: clamp(2.25em, 6vw, 3em);
  padding-left: 16px;
  border-left: 5px solid rgba(245, 130, 0, 0.72);
  color: var(--brown);
  font-size: clamp(1.35rem, 2.4vw, 1.9rem);
  line-height: 1.55;
  scroll-margin-top: 108px;
}

.blog-content h3 {
  margin-top: 2em;
  color: var(--brown);
  font-size: clamp(1.12rem, 1.9vw, 1.36rem);
  line-height: 1.6;
}

.blog-content h4 {
  margin-top: 1.8em;
  color: #5e4434;
  font-size: clamp(1.02rem, 1.6vw, 1.14rem);
  line-height: 1.6;
}

.blog-content ul,
.blog-content ol {
  display: grid;
  gap: 8px;
  padding-left: 1.35em;
}

.blog-content li {
  padding-left: 0.1em;
}

.blog-content a {
  color: var(--orange-deep);
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.blog-content strong {
  color: var(--brown);
  font-weight: 900;
}

.blog-content small {
  display: inline-block;
  color: #80654f;
  font-size: 0.86rem;
  font-weight: 800;
  line-height: 1.8;
}

.blog-content figure {
  overflow: hidden;
  border: 1px solid rgba(244, 196, 125, 0.56);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 32px rgba(96, 58, 21, 0.08);
}

.blog-content figure img,
.blog-content img {
  width: 100%;
  max-width: 100%;
  height: auto;
}

.blog-content figure img {
  aspect-ratio: 16 / 8;
  object-fit: cover;
}

.blog-content figcaption {
  padding: 10px 14px;
  color: #80654f;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.6;
  background: rgba(255, 250, 242, 0.96);
}

.blog-content blockquote {
  margin-inline: 0;
  padding: 20px 22px;
  border-left: 5px solid rgba(245, 130, 0, 0.46);
  border-radius: 0 8px 8px 0;
  background: rgba(255, 246, 230, 0.9);
  color: #604936;
}

.blog-content blockquote p {
  margin: 0;
}

.blog-note-list {
  display: grid;
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(244, 196, 125, 0.58);
  border-radius: 8px;
  background: #fff;
}

.blog-note-list dt,
.blog-note-list dd {
  margin: 0;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(244, 196, 125, 0.38);
}

.blog-note-list dt {
  background: #fff8ec;
  color: var(--brown);
  font-weight: 900;
}

.blog-note-list dd {
  color: #604936;
}

.blog-note-list dd:last-child {
  border-bottom: 0;
}

.blog-table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(244, 196, 125, 0.6);
  border-radius: 8px;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.62);
}

.blog-table-wrap table {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
}

.blog-table-wrap th,
.blog-table-wrap td {
  padding: 15px 16px;
  border-bottom: 1px solid rgba(244, 196, 125, 0.42);
  text-align: left;
  vertical-align: top;
}

.blog-table-wrap tr:last-child th,
.blog-table-wrap tr:last-child td {
  border-bottom: 0;
}

.blog-table-wrap th {
  width: 170px;
  background: #fff8ec;
  color: var(--brown);
  font-weight: 900;
}

.blog-table-wrap td {
  color: #604936;
}

.blog-inline-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  margin-block: clamp(34px, 6vw, 56px);
  padding: clamp(24px, 4vw, 34px);
  border: 1px solid rgba(244, 196, 125, 0.68);
  border-radius: 8px;
  background:
    linear-gradient(135deg, #fffaf2 0%, #fff0d7 100%);
  box-shadow: 0 18px 36px rgba(132, 78, 25, 0.1);
}

.blog-inline-cta__label {
  margin: 0 0 8px;
  color: var(--orange-deep);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.blog-inline-cta h2 {
  margin: 0;
  padding-left: 0;
  border-left: 0;
  font-size: clamp(1.25rem, 2.2vw, 1.65rem);
}

.blog-inline-cta p:not(.blog-inline-cta__label) {
  margin: 12px 0 0;
  color: #604936;
  font-size: 0.96rem;
  line-height: 1.85;
}

.blog-inline-cta__actions {
  display: grid;
  gap: 10px;
  min-width: 170px;
}

.blog-inline-cta__actions a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border: 1px solid rgba(245, 130, 0, 0.42);
  border-radius: 999px;
  background: #fff;
  color: var(--orange-deep);
  font-size: 0.9rem;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 12px 22px rgba(132, 78, 25, 0.08);
}

.blog-inline-cta__actions a:first-child {
  background: var(--orange);
  color: #fff;
}

.blog-article__footer {
  display: grid;
  gap: clamp(24px, 4vw, 38px);
  margin-top: clamp(36px, 6vw, 62px);
  padding-top: clamp(26px, 4vw, 42px);
  border-top: 1px solid rgba(244, 196, 125, 0.52);
}

.blog-taxonomy {
  display: grid;
  gap: 16px;
}

.blog-taxonomy__group {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: center;
}

.blog-taxonomy__title {
  color: var(--brown);
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.blog-taxonomy a {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 5px 11px;
  border: 1px solid rgba(244, 196, 125, 0.54);
  border-radius: 999px;
  background: #fff;
  color: #6d5643;
  font-size: 0.8rem;
  font-weight: 900;
  line-height: 1.35;
}

.blog-author {
  padding: clamp(22px, 4vw, 30px);
  border: 1px solid rgba(244, 196, 125, 0.62);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 16px 32px rgba(96, 58, 21, 0.07);
}

.blog-author__label {
  margin: 0 0 8px;
  color: var(--orange-deep);
  font-size: 0.82rem;
  font-weight: 900;
}

.blog-author h2 {
  margin: 0;
  color: var(--brown);
  font-size: clamp(1.2rem, 2vw, 1.45rem);
  line-height: 1.5;
}

.blog-author p:not(.blog-author__label) {
  margin: 10px 0 0;
  color: #604936;
  font-weight: 700;
  line-height: 1.85;
}

.blog-back {
  display: flex;
  justify-content: center;
}

.blog-detail-bottom-cta {
  background:
    linear-gradient(120deg, #4a3327 0%, #674630 52%, #a86528 100%);
}

.blog-related__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 3vw, 28px);
}

@media (max-width: 1099px) {
  .blog-article-layout {
    grid-template-columns: 1fr;
  }

  .blog-detail-sidebar {
    position: static;
  }

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

@media (max-width: 760px) {
  .blog-detail-hero .blog-detail-hero__inner {
    padding-block: 44px 54px;
  }

  .blog-detail-hero h1 {
    font-size: clamp(1.74rem, 8.8vw, 2.48rem);
  }

  .blog-eyecatch img,
  .blog-eyecatch__placeholder,
  .blog-content figure img {
    aspect-ratio: 4 / 3;
  }

  .blog-content {
    font-size: 1rem;
    line-height: 2;
  }

  .blog-content h2 {
    padding-left: 12px;
    border-left-width: 4px;
  }

  .blog-inline-cta {
    grid-template-columns: 1fr;
  }

  .blog-inline-cta__actions {
    min-width: 0;
  }

  .blog-related__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .blog-toc,
  .blog-author,
  .blog-inline-cta {
    padding: 20px 16px;
  }

  .blog-table-wrap table {
    min-width: 560px;
  }

  .blog-taxonomy__group {
    align-items: flex-start;
  }
}
/* ===== END site-content-pages.css ===== */

/* ===== BEGIN site-lower-page-polish.css ===== */

/* Typography tone tuning */
.final-fv .fv-title {
  font-weight: 700;
  letter-spacing: 0.025em;
}

.final-fv .fv-nav,
.subpage .fv-nav,
.final-fv :is(.fv-nav > a:not(.fv-nav__home), .fv-nav__item > a, .fv-nav__parent, .fv-submenu a, .fv-phone__number strong, .fv-phone__meta, .fv-mobile-contact a, .fv-mobile-contact span, .fv-mobile-fixed-cta a, .fv-mobile-fixed-cta button),
.subpage :is(.fv-nav > a:not(.fv-nav__home), .fv-nav__item > a, .fv-nav__parent, .fv-submenu a, .fv-phone__number strong, .fv-phone__meta, .fv-mobile-contact a, .fv-mobile-contact span, .fv-mobile-fixed-cta a, .fv-mobile-fixed-cta button) {
  font-weight: 700;
}

.final-fv :is(.fv-copy__leadline, .fv-benefit__icon, .fv-benefit h2, .fv-search h2, .fv-search button, .fv-search__owner, .fv-search__detail, .fv-feature h2, .fv-closing),
.subpage :is(.sub-hero__label, .sub-section__label, .common-cta__label, .blog-inline-cta__label, .blog-taxonomy__title, .blog-author__label) {
  font-weight: 700;
}

.final-fv :is(.fv-description, .fv-benefit p, .fv-feature p),
.subpage :is(.sub-section__heading p:not(.sub-section__label), .about-card p, .owner-service-card p, .owner-reason-card p, .owner-flow__steps p, .owner-faq__item p, .company-profile__table dd, .access-guide__item p, .common-cta p:not(.common-cta__label):not(.image-note), .site-footer__brand p, .site-footer__info p, .site-footer__copy, .blog-inline-cta p:not(.blog-inline-cta__label), .blog-author p:not(.blog-author__label)) {
  font-weight: 500;
}

body.subpage.company-page .company-profile .company-profile__table dd {
  color: #6f5745;
  font-weight: 400;
}

.subpage :is(.sub-hero h1, .sub-section__heading h2, .common-cta h2, .blog-detail-hero h1, .not-found-hero h1) {
  font-weight: 600;
}

.subpage :is(.sub-hero__lead, .sub-breadcrumb, .image-note, .sub-link-button, .common-cta__button, .company-message__lead, .about-card h3, .owner-mini-card h3, .owner-service-card h3, .owner-reason-card h3, .owner-flow__steps h3, .company-profile__table dt, .access-guide__item h4, .history-list li, .history-list time, .access-map, .common-cta__phone span, .common-cta__phone strong, .common-cta__phone small, .blog-table-wrap th, .blog-inline-cta__actions a, .blog-taxonomy a) {
  font-weight: 700;
}

.subpage .site-footer__company {
  font-weight: 700 !important;
}

.subpage .site-footer__nav a {
  font-weight: 450;
}

/* Company about section refinement */
.company-about {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  scroll-margin-top: 92px;
  padding-block: clamp(48px, 5.4vw, 78px) clamp(58px, 6.8vw, 96px);
  background:
    radial-gradient(circle at 90% 12%, rgba(245, 130, 0, 0.08) 0%, transparent 280px),
    radial-gradient(ellipse at 10% 92%, rgba(255, 218, 157, 0.22) 0%, transparent 360px),
    linear-gradient(180deg, #fffaf3 0%, #fff6e8 100%);
}

.company-about::before {
  position: absolute;
  top: clamp(24px, 3vw, 44px);
  right: max(22px, calc((100vw - 1120px) / 2));
  z-index: -1;
  width: clamp(150px, 18vw, 260px);
  aspect-ratio: 520 / 160;
  background: url("../images/fv-bee-flight-trail.webp") center / contain no-repeat;
  content: "";
  filter: saturate(0.86);
  opacity: 0.12;
  pointer-events: none;
}

.company-about .sub-section__heading {
  margin-bottom: clamp(24px, 3.2vw, 38px);
}

.company-about .sub-section__heading h2 {
  max-width: 820px;
  margin-inline: auto;
  font-size: clamp(1.8rem, 2.7vw, 2.45rem);
  line-height: 1.34;
  overflow-wrap: normal;
  word-break: keep-all;
}

.company-about .sub-section__heading p:not(.sub-section__label) {
  max-width: 820px;
  margin-inline: auto;
  line-height: 1.86;
}

.company-about .about-cards {
  gap: clamp(14px, 2vw, 22px);
}

.company-about .about-card {
  position: relative;
  overflow: hidden;
  padding: 22px 24px 21px;
  border-color: rgba(244, 172, 73, 0.56);
  border-radius: 20px;
  box-shadow: 0 20px 40px rgba(96, 58, 21, 0.11);
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.company-about .about-card::before {
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #f7931e 0%, #ffc46b 54%, #fff0d7 100%);
  content: "";
}

.company-about .about-card:hover {
  border-color: rgba(245, 130, 0, 0.66);
  box-shadow: 0 23px 44px rgba(96, 58, 21, 0.14);
  transform: translateY(-2px);
}

.company-about .about-card__label {
  margin: 0 0 8px;
  color: #ad7137;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.company-about .about-card h3 {
  font-size: clamp(1rem, 1.08vw, 1.08rem);
  font-weight: 800;
  line-height: 1.46;
  word-break: keep-all;
}

.company-about .about-card p:not(.about-card__label) {
  margin-top: 9px;
  color: #765f4c;
  font-weight: 400;
  line-height: 1.88;
}

.subpage .company-about .about-card p:not(.about-card__label) {
  font-weight: 400;
}

@media (min-width: 1080px) {
  .company-about .about-card h3 {
    white-space: nowrap;
  }
}

@media (max-width: 768px) {
  .staff-introduction + .company-about {
    scroll-margin-top: 76px;
    padding-block: 38px 50px;
  }

  .company-about::before {
    top: 18px;
    right: -28px;
    width: 190px;
    opacity: 0.08;
  }

  .company-about .sub-section__heading {
    margin-bottom: 24px;
  }

  .company-about .sub-section__heading h2 {
    font-size: clamp(1.42rem, 5.6vw, 1.78rem);
    line-height: 1.44;
  }

  .company-about .sub-section__heading p:not(.sub-section__label) {
    margin-top: 14px;
    line-height: 1.82;
  }

  .company-about .about-cards {
    gap: 14px;
  }

  .company-about .about-card {
    padding: 21px 20px 20px;
  }

  .company-about .about-card h3 {
    font-size: 1.04rem;
    line-height: 1.48;
  }

  .company-about .about-card__label {
    margin-bottom: 8px;
    font-size: 0.67rem;
  }

  .company-about .about-card p:not(.about-card__label) {
    margin-top: 8px;
    line-height: 1.84;
  }
}

@media (prefers-reduced-motion: reduce) {
  .company-about .about-card {
    transition: none;
  }

  .company-about .about-card:hover {
    transform: none;
  }
}

/* Reasons lower page */
.reasons-page {
  background: #fffaf3;
}

.reasons-intro {
  position: relative;
  overflow: hidden;
  padding-block: clamp(42px, 5vw, 76px) clamp(58px, 6vw, 88px);
}

.reasons-intro::before {
  position: absolute;
  right: max(18px, calc((100vw - 1120px) / 2));
  bottom: clamp(26px, 4vw, 52px);
  width: clamp(140px, 18vw, 250px);
  aspect-ratio: 520 / 160;
  background: url("../images/fv-bee-flight-trail.webp") center / contain no-repeat;
  content: "";
  filter: saturate(0.86);
  opacity: 0.09;
  pointer-events: none;
}

.reasons-intro__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(340px, 0.58fr);
  gap: clamp(20px, 3.2vw, 42px);
  align-items: stretch;
}

.reason-focus__grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1fr);
  gap: clamp(28px, 5vw, 70px);
  align-items: start;
}

.reason-focus__content {
  position: relative;
  overflow: hidden;
  padding: clamp(26px, 4vw, 42px);
  border: 1px solid rgba(244, 196, 125, 0.72);
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 18px 38px rgba(96, 58, 21, 0.09);
}

.reasons-intro__body {
  position: relative;
  overflow: hidden;
  padding: clamp(26px, 3.6vw, 38px);
  border: 1px solid rgba(244, 196, 125, 0.54);
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 14px 30px rgba(96, 58, 21, 0.075);
}

.reason-focus__content::before {
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #f7931e 0%, #ffc46b 54%, #fff0d7 100%);
  content: "";
}

.reasons-intro__body::before {
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(90deg, rgba(247, 147, 30, 0.82) 0%, rgba(255, 196, 107, 0.62) 56%, rgba(255, 240, 215, 0.34) 100%);
  content: "";
}

.reason-focus__content .sub-section__heading {
  margin-bottom: 18px;
}

.reasons-intro__body .sub-section__heading {
  margin-bottom: 18px;
}

.reasons-intro .sub-section__heading h2 {
  font-size: clamp(1.52rem, 2.05vw, 2.05rem);
  font-weight: 600;
  line-height: 1.58;
}

.reason-focus__content p,
.fee-plan__content p,
.reason-card p,
.fee-node small,
.reason-link-card small {
  color: #6f5745;
  line-height: 1.9;
}

.reasons-intro__body p {
  color: #6f5745;
  line-height: 1.9;
}

.reason-focus__lead {
  color: var(--brown) !important;
  font-size: clamp(1.08rem, 1.65vw, 1.24rem);
  font-weight: 800;
  line-height: 1.78 !important;
}

.reasons-intro__lead {
  font-size: clamp(1.03rem, 1.45vw, 1.16rem);
  font-weight: 700;
  line-height: 1.86 !important;
}

.reason-focus__content p + p {
  margin-top: 16px;
}

.reasons-intro__body p + p {
  margin-top: 16px;
}

.reason-safe-copy {
  padding: 16px 18px;
  border-radius: 18px;
  background: linear-gradient(135deg, #fff5e4 0%, #fff 100%);
  color: var(--brown) !important;
  font-weight: 700 !important;
}

.reasons-intro__note {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: clamp(18px, 2.4vw, 24px) 0 0;
  padding: 13px 15px;
  border: 1px solid rgba(244, 196, 125, 0.34);
  border-radius: 15px;
  background: linear-gradient(135deg, rgba(255, 250, 242, 0.88) 0%, rgba(255, 255, 255, 0.96) 100%);
  color: #796554 !important;
  font-size: 0.9rem;
  font-weight: 500 !important;
  line-height: 1.74 !important;
}

.reasons-intro__note::before {
  display: block;
  width: 1.08em;
  min-width: 1.08em;
  height: 1.08em;
  margin-top: 0.32em;
  background: var(--orange-deep);
  content: "";
  opacity: 0.72;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2a1 1 0 0 1 1 1v1h8V3a1 1 0 1 1 2 0v1h1.5A2.5 2.5 0 0 1 22 6.5v12A2.5 2.5 0 0 1 19.5 21h-15A2.5 2.5 0 0 1 2 18.5v-12A2.5 2.5 0 0 1 4.5 4H6V3a1 1 0 0 1 1-1Zm12.5 8h-15v8.5a.5.5 0 0 0 .5.5h14a.5.5 0 0 0 .5-.5V10ZM5 6a.5.5 0 0 0-.5.5V8h15V6.5A.5.5 0 0 0 19 6H5Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2a1 1 0 0 1 1 1v1h8V3a1 1 0 1 1 2 0v1h1.5A2.5 2.5 0 0 1 22 6.5v12A2.5 2.5 0 0 1 19.5 21h-15A2.5 2.5 0 0 1 2 18.5v-12A2.5 2.5 0 0 1 4.5 4H6V3a1 1 0 0 1 1-1Zm12.5 8h-15v8.5a.5.5 0 0 0 .5.5h14a.5.5 0 0 0 .5-.5V10ZM5 6a.5.5 0 0 0-.5.5V8h15V6.5A.5.5 0 0 0 19 6H5Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.reasons-intro__note-nowrap {
  white-space: nowrap;
}

.reasons-intro__note-text {
  min-width: 0;
}

.reasons-intro__points {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 0;
  margin: 20px 0 0;
  list-style: none;
}

.reasons-intro__points li {
  position: relative;
  display: flex;
  min-height: 72px;
  align-items: center;
  padding: 13px 13px 13px 32px;
  border: 1px solid rgba(244, 196, 125, 0.34);
  border-radius: 16px;
  background: #fffaf3;
  color: #604936;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.55;
}

.reasons-intro__points li::before {
  position: absolute;
  top: 50%;
  left: 16px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--orange);
  content: "";
  transform: translateY(-50%);
}

@media (min-width: 981px) {
  .reasons-intro__points {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr) minmax(0, 1.12fr);
    gap: 8px;
  }

  .reasons-intro__points li {
    min-height: 68px;
    padding: 12px 9px 12px 29px;
    font-size: 0.84rem;
    line-height: 1.48;
  }

  .reasons-intro__points li::before {
    left: 13px;
  }
}

.reasons-intro__title-line {
  display: inline;
}

.reason-focus__title-line {
  display: block;
}

.reasons-intro__visual {
  display: grid;
  grid-template-rows: minmax(clamp(300px, 32vw, 430px), 1fr) auto auto;
  align-self: stretch;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(244, 196, 125, 0.54);
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 14px 30px rgba(96, 58, 21, 0.075);
}

.reasons-intro__visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: clamp(300px, 32vw, 430px);
  object-fit: cover;
  object-position: 53% center;
}

.reason-focus__media figcaption {
  margin: 0;
  padding: 12px 14px 14px;
  border-top: 1px solid rgba(244, 196, 125, 0.44);
  background: linear-gradient(180deg, rgba(255, 250, 242, 0.78) 0%, rgba(255, 255, 255, 0.96) 100%);
  color: #80654f;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.7;
  text-align: right;
}

.reasons-intro__visual figcaption {
  margin: 0;
  padding: 15px 18px 6px;
  border-top: 1px solid rgba(244, 196, 125, 0.44);
  background: linear-gradient(180deg, rgba(255, 250, 242, 0.78) 0%, rgba(255, 255, 255, 0.96) 100%);
  color: #80654f;
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.72;
  text-align: right;
}

.reason-focus__media .image-note {
  margin: 0;
  padding: 0 14px 14px;
  background: rgba(255, 255, 255, 0.96);
  color: #8a725d;
  font-size: 0.78rem;
  font-weight: 400 !important;
  line-height: 1.65;
  text-align: right;
}

.reasons-intro__visual .image-note {
  margin: 0;
  padding: 0 18px 17px;
  background: rgba(255, 255, 255, 0.96);
  color: #9a8979;
  font-size: 0.68rem;
  font-weight: 400 !important;
  line-height: 1.6;
  opacity: 0.82;
  text-align: right;
}

.reason-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(14px, 1.8vw, 20px);
}

.reasons-overview .sub-section__heading {
  margin-bottom: clamp(24px, 3vw, 34px);
}

.reasons-overview .sub-section__heading p:not(.sub-section__label) {
  max-width: 820px;
  margin-inline: auto;
  overflow-wrap: normal;
  text-wrap: pretty;
  word-break: normal;
}

.reason-card {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-height: 250px;
  padding: 26px 22px 24px;
  border: 1px solid rgba(244, 196, 125, 0.72);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 18px 38px rgba(96, 58, 21, 0.09);
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
  color: inherit;
  text-decoration: none;
}

.reason-card::before {
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--orange) 0%, #ffc46b 56%, #fff0d7 100%);
  content: "";
  transition:
    background 180ms ease,
    height 180ms ease;
}

.reason-card__number {
  display: block;
  width: fit-content;
  margin-bottom: 14px;
  color: var(--orange-deep);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  line-height: 1.5;
}

.reason-card h3 {
  margin: 0;
  color: var(--brown);
  font-size: clamp(1.04rem, 1.3vw, 1.18rem);
  font-weight: 800;
  line-height: 1.55;
}

.reason-card__nowrap {
  white-space: nowrap;
}

.reason-card p {
  margin: 12px 0 0;
  font-size: 0.96rem;
}

.reason-card--featured {
  border-color: rgba(245, 130, 0, 0.58);
  background:
    radial-gradient(circle at 88% 12%, rgba(245, 130, 0, 0.12) 0%, rgba(245, 130, 0, 0) 210px),
    linear-gradient(180deg, #fffaf1 0%, #fff 100%);
  box-shadow: 0 20px 42px rgba(217, 95, 0, 0.11);
}

.reason-card--featured::before {
  height: 6px;
  background: linear-gradient(90deg, var(--orange-deep) 0%, #ffb24a 50%, #ffe2ac 100%);
}

.reason-card__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  padding-top: 18px;
  color: var(--orange-deep);
  font-size: 0.82rem;
  font-weight: 900;
  line-height: 1.45;
  transition: color 180ms ease;
}

.reason-card__link::after {
  content: "→";
  font-size: 1.05em;
  line-height: 1;
  transition: transform 180ms ease;
}

.reason-card:hover,
.reason-card:focus-visible {
  border-color: rgba(245, 130, 0, 0.66);
  box-shadow: 0 23px 44px rgba(96, 58, 21, 0.14);
  transform: translateY(-2px);
}

.reason-card:hover::before,
.reason-card:focus-visible::before {
  height: 5px;
}

.reason-card--featured:hover::before,
.reason-card--featured:focus-visible::before {
  height: 7px;
}

.reason-card:hover .reason-card__link,
.reason-card:focus-visible .reason-card__link {
  color: #c76500;
}

.reason-card:hover .reason-card__link::after,
.reason-card:focus-visible .reason-card__link::after {
  transform: translateX(3px);
}

.reason-card:focus-visible,
.reason-link-card:focus-visible {
  outline: 3px solid rgba(245, 130, 0, 0.28);
  outline-offset: 4px;
}

.reason-focus {
  scroll-margin-top: 96px;
}

.reasons-local {
  scroll-margin-top: 96px;
  padding-block: clamp(62px, 7vw, 100px) clamp(44px, 4.8vw, 62px);
}

.reasons-faq {
  padding-block: clamp(42px, 4.4vw, 64px) clamp(62px, 7vw, 100px);
}

.reasons-local .sub-section__heading {
  max-width: 920px;
  margin-bottom: clamp(26px, 3.45vw, 42px);
}

.reasons-local .sub-section__heading h2 {
  max-width: 920px;
  margin-inline: auto;
  font-size: 2.26rem;
  line-height: 1.46;
  overflow-wrap: normal;
  text-wrap: balance;
  word-break: keep-all;
}

.reasons-local .sub-section__heading p:not(.sub-section__label) {
  max-width: 760px;
  margin-inline: auto;
}

.reasons-local .reasons-local__lead {
  max-width: 840px;
  font-size: 1rem;
  line-height: 1.9;
  text-wrap: pretty;
}

.reasons-local__lead-line {
  display: block;
}

.reasons-local__title-line {
  display: block;
}

.reasons-local__phrase {
  display: inline-block;
}

.reasons-local__phrase + .reasons-local__phrase {
  margin-left: 0.18em;
}

@media (min-width: 760px) {
  .reasons-local__title-line {
    white-space: nowrap;
  }
}

.reason-focus--fee {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 14%, rgba(255, 255, 255, 0.72) 0%, transparent 300px),
    radial-gradient(circle at 88% 18%, rgba(245, 130, 0, 0.08) 0%, transparent 320px),
    linear-gradient(180deg, #fffaf3 0%, #fff6e8 100%);
}

.reason-focus__media {
  display: grid;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(244, 196, 125, 0.72);
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 38px rgba(96, 58, 21, 0.09);
}

.reason-focus__media img {
  display: block;
  width: 100%;
  height: clamp(280px, 30vw, 420px);
  object-fit: cover;
}

.reason-focus--reverse .reason-focus__media img {
  height: clamp(260px, 24vw, 340px);
  object-position: 72% 50%;
}

.reason-focus--reverse .reason-focus__grid {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.72fr);
}

.reason-focus--matching .sub-section__heading h2 {
  font-size: clamp(1.86rem, 2.25vw, 2.05rem);
  line-height: 1.46;
  text-wrap: balance;
}

.reason-focus--local .reason-focus__media img {
  filter: none;
  object-position: 50% 50%;
  transform: none;
  transform-origin: center;
}

/* The 2026-09-04 client office photo is a 4:3 room shot, so this figure keeps
   the source ratio instead of the shared stretched-column crop. The compound
   selector outranks the breakpoint heights in this file. */
.reason-focus--matching.reason-focus--local .reason-focus__media {
  align-self: center;
  grid-template-rows: auto auto;
  width: min(100%, 560px);
  margin-inline: auto;
}

.reason-focus--matching.reason-focus--local .reason-focus__media img {
  height: auto;
  min-height: 0;
  aspect-ratio: 4 / 3;
}

.reason-focus--female .reason-focus__media img {
  object-position: 70% 50%;
}

.reason-focus--matching .reason-focus__media figcaption {
  padding: 12px 15px 13px;
  color: #846f5e;
  font-size: 0.82rem;
  font-weight: 500;
  line-height: 1.62;
}

.reason-focus__caption-line {
  display: inline;
}

@media (min-width: 981px) {
  .reason-focus--matching .reason-focus__grid {
    grid-template-columns: minmax(288px, 0.76fr) minmax(0, 1fr);
    gap: clamp(34px, 4.6vw, 64px);
    align-items: stretch;
  }

  .reason-focus--matching .reason-focus__media {
    align-self: stretch;
    grid-template-rows: minmax(320px, 1fr) auto;
  }

  .reason-focus--matching .reason-focus__media img {
    height: 100%;
    min-height: 320px;
  }

  .reason-focus--image-right .reason-focus__grid {
    grid-template-columns: minmax(0, 1fr) minmax(288px, 0.76fr);
  }

  .reason-focus--image-right .reason-focus__content {
    order: 1;
  }

  .reason-focus--image-right .reason-focus__media {
    order: 2;
  }
}

.reason-focus--reverse .reason-focus__media {
  order: 2;
}

.reason-focus--reverse .reason-focus__content {
  order: 1;
}

.reason-proof-list {
  display: grid;
  gap: 10px;
  padding: 0;
  margin: 22px 0 0;
  list-style: none;
}

.reason-proof-list li {
  position: relative;
  display: flex;
  align-items: center;
  padding: 14px 16px 14px 36px;
  border-radius: 16px;
  background: #fff8ed;
  color: #6f5745;
  font-weight: 700;
  line-height: 1.65;
}

.reason-proof-list li::before {
  position: absolute;
  top: 50%;
  left: 16px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--orange);
  content: "";
  transform: translateY(-50%);
}

.fee-plan {
  position: relative;
  display: grid;
  gap: clamp(22px, 2.7vw, 30px);
}

.fee-plan::before {
  position: absolute;
  top: clamp(18px, 2.8vw, 34px);
  right: clamp(-22px, -1.5vw, -10px);
  z-index: 0;
  width: clamp(156px, 17vw, 240px);
  aspect-ratio: 520 / 160;
  background: url("../images/fv-bee-flight-trail.webp") center / contain no-repeat;
  content: "";
  filter: saturate(0.86);
  opacity: 0.075;
  pointer-events: none;
}

.fee-plan > * {
  position: relative;
  z-index: 1;
}

.fee-plan__header {
  display: grid;
  grid-template-columns: minmax(0, 0.96fr) minmax(280px, 0.58fr);
  gap: clamp(20px, 4vw, 46px);
  align-items: stretch;
}

.fee-plan__header .sub-section__heading {
  margin-bottom: 0;
}

.fee-plan__header .sub-section__heading h2 {
  font-size: clamp(1.86rem, 3vw, 2.72rem);
}

.fee-plan__name {
  justify-self: end;
  width: min(100%, 336px);
  margin: 0;
  padding: clamp(16px, 2vw, 20px);
  border: 1px solid rgba(244, 172, 73, 0.36);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.985) 0%, rgba(255, 250, 243, 0.94) 100%);
  box-shadow: 0 8px 18px rgba(96, 58, 21, 0.05);
}

.fee-plan__name > span {
  display: block;
  color: #80654f;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.1em;
}

.fee-plan__name strong {
  display: block;
  margin-top: 6px;
  color: var(--brown);
  font-size: clamp(1.02rem, 1.42vw, 1.18rem);
  line-height: 1.55;
}

.fee-plan__grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.18fr);
  gap: clamp(20px, 3.2vw, 42px);
  align-items: stretch;
}

.fee-plan__photo {
  position: relative;
  overflow: hidden;
  margin: 0;
  border: 1px solid rgba(244, 196, 125, 0.72);
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 20px 42px rgba(96, 58, 21, 0.12);
}

.fee-plan__photo img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  filter: brightness(0.88) contrast(1.19) saturate(1.03);
}

.fee-plan__photo figcaption {
  margin: 0;
  padding: 12px 14px 14px;
  border-top: 1px solid rgba(244, 196, 125, 0.44);
  background: linear-gradient(180deg, rgba(255, 250, 242, 0.78) 0%, rgba(255, 255, 255, 0.96) 100%);
  color: #80654f;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.7;
  text-align: right;
}

.fee-plan__content {
  position: relative;
  overflow: hidden;
  padding: clamp(27px, 3.5vw, 40px) clamp(24px, 3.4vw, 38px) clamp(24px, 3.4vw, 38px);
  border: 1px solid rgba(244, 196, 125, 0.68);
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 20px 42px rgba(96, 58, 21, 0.1);
}

.fee-plan__content::before {
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, #f7931e 0%, #ffc46b 54%, #fff0d7 100%);
  content: "";
}

.fee-plan__content p {
  margin: 0;
}

.fee-plan__content p + p {
  margin-top: 16px;
}

.reason-focus--fee .fee-zero-badge {
  display: inline-grid;
  grid-template-columns: auto auto;
  gap: 4px 12px;
  align-items: center;
  margin-top: 2px;
  padding: 14px 16px 14px 18px;
  border: 1px solid rgba(226, 189, 135, 0.38);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(255, 251, 246, 0.99) 0%, rgba(255, 254, 251, 0.98) 100%);
  box-shadow: 0 6px 14px rgba(96, 58, 21, 0.05);
}

.reason-focus--fee .fee-zero-badge span {
  display: block;
  color: #7a604d;
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  line-height: 1.38;
}

.reason-focus--fee .fee-zero-badge strong {
  grid-row: span 2;
  color: #dd7a14;
  font-size: clamp(1.98rem, 3.55vw, 3.18rem);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.95;
}

.reason-focus--fee .fee-zero-badge small {
  display: block;
  color: #9a7655;
  font-size: 0.8rem;
  font-weight: 800;
  line-height: 1.42;
}

.reason-focus--fee .fee-plan__content-title {
  margin: clamp(20px, 2.3vw, 24px) 0 0;
  color: var(--brown);
  font-size: clamp(1.18rem, 1.9vw, 1.48rem);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.55;
  text-align: left;
  text-align-last: auto;
  word-spacing: normal;
}

.reason-focus--fee .fee-plan__content-title + p {
  margin-top: 11px;
}

.reason-focus--fee .fee-plan__content-title ~ p:not(.fee-condition-note) {
  max-width: 34.5em;
  color: #6f5745;
  font-size: 0.97rem;
  line-height: 1.95 !important;
}

.reason-focus--fee .fee-plan__content-title ~ p:not(.fee-condition-note) + p:not(.fee-condition-note) {
  margin-top: 11px;
}

.reason-focus--fee .reason-proof-list--compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.reason-focus--fee .reason-proof-list--compact li {
  display: flex;
  align-items: center;
  min-height: 100%;
  padding: 12px 12px 12px 40px;
  background: linear-gradient(135deg, #fff8ed 0%, #fff 100%);
  font-size: 0.88rem;
  line-break: strict;
  line-height: 1.55;
  overflow-wrap: normal;
  word-break: normal;
}

.reason-focus--fee .reason-proof-list__text {
  display: block;
  min-width: 0;
}

.reason-focus--fee .reason-proof-list__text span {
  display: inline-block;
}

.reason-focus--fee .reason-proof-list--compact li::before {
  top: 50%;
  left: 14px;
  width: 20px;
  height: 20px;
  background: rgba(245, 130, 0, 0.14);
  box-shadow: inset 0 0 0 1px rgba(245, 130, 0, 0.24);
  transform: translateY(-50%);
}

.reason-focus--fee .reason-proof-list--compact li::after {
  position: absolute;
  top: 50%;
  left: 21px;
  width: 7px;
  height: 4px;
  border-bottom: 2px solid var(--orange-deep);
  border-left: 2px solid var(--orange-deep);
  content: "";
  transform: translateY(-65%) rotate(-45deg);
}

.reason-proof-list--split {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.reason-focus--fee .fee-condition-note {
  margin-top: 16px !important;
  padding: 11px 13px;
  border-radius: 16px;
  background: rgba(255, 250, 244, 0.78);
  color: #766354 !important;
  font-size: 0.84rem;
  font-weight: 500 !important;
  letter-spacing: 0;
  line-break: strict;
  line-height: 1.78 !important;
  overflow-wrap: normal;
  word-break: normal;
}

.reason-focus--fee .fee-condition-note__nowrap {
  line-break: strict;
  overflow-wrap: normal;
  white-space: nowrap;
  word-break: keep-all;
}

.fee-comparison {
  display: grid;
  gap: clamp(16px, 2vw, 24px);
  overflow: hidden;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid rgba(244, 196, 125, 0.68);
  border-radius: 26px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 250, 242, 0.96) 100%);
  box-shadow: 0 20px 42px rgba(96, 58, 21, 0.1);
}

.fee-comparison__head {
  display: grid;
  gap: 9px;
  max-width: 760px;
}

.fee-comparison__head p {
  margin: 0;
  color: #6f5745;
  font-size: 0.96rem;
  font-weight: 600;
  line-height: 1.9;
}

.fee-comparison__label {
  display: inline-flex;
  width: fit-content;
  min-height: 28px;
  align-items: center;
  padding: 3px 12px;
  border: 1px solid rgba(245, 130, 0, 0.22);
  border-radius: 999px;
  background: #fff7e8;
  color: var(--orange-deep) !important;
  font-size: 0.74rem !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
}

.fee-comparison h3 {
  margin: 0;
  color: var(--brown);
  font-size: clamp(1.26rem, 2.2vw, 1.76rem);
  font-weight: 900;
  line-height: 1.5;
}

.fee-comparison__case {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  width: fit-content;
  margin: 0;
  padding: 10px 14px;
  border: 1px solid rgba(244, 196, 125, 0.62);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.86);
  color: #725945;
  font-size: 0.88rem;
  line-height: 1.45;
}

.fee-comparison__case span {
  display: inline-flex;
  min-height: 22px;
  align-items: center;
  padding: 1px 9px;
  border-radius: 999px;
  background: #ffe8b8;
  color: #8f4d00;
  font-size: 0.74rem;
  font-weight: 900;
  line-height: 1.35;
}

.fee-comparison__case strong {
  color: var(--brown);
  font-weight: 800;
}

.fee-comparison__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(10px, 1.8vw, 18px);
}

.fee-comparison-card {
  position: relative;
  display: grid;
  gap: 8px;
  align-content: start;
  min-width: 0;
  padding: clamp(17px, 2vw, 22px);
  border: 1px solid rgba(226, 189, 135, 0.52);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 12px 24px rgba(96, 58, 21, 0.07);
}

.fee-comparison-card span {
  color: #846954;
  font-size: 0.8rem;
  font-weight: 900;
  line-height: 1.4;
}

.fee-comparison-card strong {
  color: #7a4b22;
  font-size: clamp(1.48rem, 2.6vw, 2.18rem);
  font-weight: 900;
  line-height: 1.05;
}

.fee-comparison-card small {
  color: #806b5a;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.5;
}

.fee-comparison-card em {
  display: inline-flex;
  width: fit-content;
  min-height: 30px;
  align-items: center;
  margin-top: 2px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #fff4df;
  color: var(--brown);
  font-size: 0.82rem;
  font-style: normal;
  font-weight: 900;
  line-height: 1.35;
}

.fee-comparison-card--bee {
  border-color: rgba(245, 130, 0, 0.42);
  background:
    linear-gradient(180deg, #fffaf1 0%, #fff 100%);
  box-shadow:
    0 16px 30px rgba(245, 130, 0, 0.14),
    inset 0 0 0 2px rgba(255, 224, 171, 0.5);
}

.fee-comparison-card--bee span,
.fee-comparison-card--bee strong {
  color: var(--orange-deep);
}

.fee-comparison-card--bee em {
  background: var(--orange);
  color: #fff;
}

.fee-comparison__table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(244, 196, 125, 0.56);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
  -webkit-overflow-scrolling: touch;
}

.fee-comparison__table-wrap:focus-visible {
  outline: 3px solid rgba(245, 130, 0, 0.34);
  outline-offset: 3px;
}

.fee-comparison__table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  color: #5f4937;
  font-size: 0.9rem;
  line-height: 1.55;
}

.fee-comparison__table caption {
  padding: 14px 16px 10px;
  color: var(--brown);
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.5;
  text-align: left;
}

.fee-comparison__table th,
.fee-comparison__table td {
  padding: 12px 14px;
  border-top: 1px solid rgba(244, 196, 125, 0.32);
  text-align: right;
  vertical-align: middle;
  white-space: nowrap;
}

.fee-comparison__table thead th {
  border-top: 0;
  background: #fff4df;
  color: #7a4b22;
  font-size: 0.84rem;
  font-weight: 900;
}

.fee-comparison__table thead th span {
  display: block;
  margin-top: 2px;
  color: #987452;
  font-size: 0.75rem;
  font-weight: 800;
}

.fee-comparison__table th:first-child,
.fee-comparison__table td:first-child {
  text-align: left;
}

.fee-comparison__table tbody th {
  color: #725945;
  font-weight: 800;
}

.fee-comparison__table tbody tr:nth-child(even):not(.fee-comparison__brokerage-row):not(.fee-comparison__total-row) {
  background: rgba(255, 250, 242, 0.58);
}

.fee-comparison__brokerage-row {
  background: #fff2c9;
}

.fee-comparison__brokerage-row th,
.fee-comparison__brokerage-row td {
  color: #7a4b22;
  font-weight: 900;
}

.fee-comparison__brokerage-row td:last-child {
  color: var(--orange-deep);
  font-size: 1.04rem;
}

.fee-comparison__total-row {
  background: #fff;
}

.fee-comparison__total-row th,
.fee-comparison__total-row td {
  border-top: 2px solid rgba(245, 130, 0, 0.24);
  color: var(--brown);
  font-size: 1rem;
  font-weight: 900;
}

.fee-comparison__total-row td:last-child {
  color: var(--orange-deep);
  font-size: 1.12rem;
}

.fee-comparison__note {
  margin: 0;
  padding: 11px 13px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.78);
  color: #766354;
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.78;
}

.management-points {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 22px;
}

.management-points article {
  min-width: 0;
  padding: 16px 14px;
  border: 1px solid rgba(244, 196, 125, 0.58);
  border-radius: 16px;
  background: linear-gradient(135deg, #fff8ed 0%, #fff 100%);
}

.management-points span {
  display: block;
  color: var(--orange-deep);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  line-height: 1.45;
}

.management-points strong {
  display: block;
  margin-top: 6px;
  color: var(--brown);
  font-size: 0.98rem;
  font-weight: 800;
  line-height: 1.55;
}

.management-points p {
  margin: 8px 0 0;
  font-size: 0.84rem;
  line-height: 1.68 !important;
}

.fee-diagram {
  padding: clamp(15px, 1.85vw, 21px) clamp(17px, 2.35vw, 26px) clamp(16px, 2.05vw, 22px);
  border: 1px solid rgba(244, 196, 125, 0.64);
  border-radius: 24px;
  background:
    radial-gradient(circle at 50% 16%, rgba(255, 236, 201, 0.42), transparent 280px),
    rgba(255, 255, 255, 0.92);
  box-shadow: 0 16px 34px rgba(96, 58, 21, 0.075);
}

.fee-note-panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(276px, 0.34fr) minmax(0, 1fr);
  gap: clamp(12px, 1.9vw, 21px);
  align-items: center;
  overflow: hidden;
  padding: clamp(13px, 1.75vw, 18px) clamp(16px, 2.15vw, 23px) clamp(13px, 1.75vw, 18px) clamp(18px, 2.3vw, 26px);
  border: 1px solid rgba(244, 196, 125, 0.42);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(255, 250, 244, 0.84) 0%, rgba(255, 255, 255, 0.88) 100%);
  box-shadow: 0 10px 24px rgba(96, 58, 21, 0.045);
}

.fee-note-panel::before {
  position: absolute;
  inset: 14px auto 14px 0;
  width: 3px;
  border-radius: 999px;
  background: rgba(245, 130, 0, 0.42);
  content: "";
}

.fee-note-panel__head {
  display: flex;
  min-width: 0;
  gap: 10px;
  align-items: center;
}

.fee-note-panel__icon {
  display: inline-grid;
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid rgba(245, 130, 0, 0.18);
  border-radius: 999px;
  background: rgba(255, 244, 230, 0.86);
  color: #dd760d;
}

.fee-note-panel__icon svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.05;
}

.fee-note-panel h3 {
  margin: 0;
  color: var(--brown);
  font-size: clamp(0.98rem, 1.22vw, 1.08rem);
  font-weight: 800;
  line-height: 1.5;
  white-space: nowrap;
}

.fee-note-panel p {
  max-width: 780px;
  margin: 0;
  color: #6f5745;
  font-size: 0.93rem;
  font-weight: 550;
  line-height: 1.76;
}

.fee-note-panel--body-only {
  grid-template-columns: auto minmax(0, 1fr);
}

.fee-note-panel--body-only p {
  max-width: none;
}

.fee-diagram__title {
  margin: 0 0 clamp(10px, 1.25vw, 14px);
  color: #d97616;
  font-size: clamp(1rem, 1.42vw, 1.16rem);
  font-weight: 850;
  letter-spacing: 0.03em;
  line-height: 1.55;
  text-align: center;
  text-transform: none;
}

.fee-diagram__canvas {
  position: relative;
  display: grid;
  grid-template-columns: minmax(236px, 0.92fr) minmax(280px, 0.94fr) minmax(236px, 0.92fr);
  grid-template-rows: minmax(102px, auto) minmax(110px, auto);
  gap: clamp(7px, 1.2vw, 12px) clamp(10px, 1.6vw, 18px);
  align-items: center;
  max-width: min(100%, 900px);
  min-height: clamp(244px, 20vw, 264px);
  margin: 0 auto;
  padding: 0 0 8px;
}

.fee-diagram__ring {
  position: absolute;
  inset: 0 7% 10%;
  z-index: 1;
  width: auto;
  height: auto;
  overflow: visible;
  pointer-events: none;
}

.fee-diagram__ring-line,
.fee-diagram__ring-dash {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.fee-diagram__ring-line {
  stroke: rgba(226, 176, 112, 0.24);
  stroke-width: 2;
}

.fee-diagram__ring-dash {
  stroke: rgba(245, 130, 0, 0.14);
  stroke-width: 1.1;
  stroke-dasharray: 5 10;
}

.fee-diagram__ring-dot {
  fill: #fffaf3;
  stroke: rgba(245, 130, 0, 0.38);
  stroke-width: 2.2;
}

.fee-node {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 5px;
  min-height: 112px;
  align-content: center;
  padding: 13px 16px 14px;
  border: 1px solid rgba(244, 196, 125, 0.62);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 12px 24px rgba(96, 58, 21, 0.08);
  text-align: center;
}

.fee-node__head {
  display: grid;
  min-height: 30px;
  min-width: 0;
  align-content: center;
  justify-items: center;
}

.fee-node__heading {
  display: grid;
  min-width: 0;
  gap: 4px;
  justify-items: center;
}

.fee-node--tenant {
  grid-column: 2;
  grid-row: 1;
}

.fee-node--owner {
  grid-column: 1;
  grid-row: 2;
}

.fee-node--bee {
  grid-column: 3;
  grid-row: 2;
}

.fee-node__label {
  justify-self: center;
  width: fit-content;
  padding: 2px 8px;
  border: 1px solid rgba(245, 130, 0, 0.18);
  border-radius: 999px;
  background: rgba(245, 130, 0, 0.08);
  color: #9c6a3b;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.25;
}

.fee-node__title {
  color: var(--brown);
  font-size: clamp(1rem, 1.26vw, 1.12rem);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.42;
}

.fee-node strong {
  color: #d97616;
  font-size: 0.86rem;
  font-weight: 850;
  line-height: 1.55;
}

.fee-node small {
  display: block;
  color: #75604f;
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1.68;
}

.reason-link-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.reason-link-card {
  position: relative;
  display: grid;
  overflow: hidden;
  min-height: 154px;
  align-content: start;
  gap: 8px;
  padding: 22px 21px 20px;
  border: 1px solid rgba(244, 196, 125, 0.68);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.95);
  color: inherit;
  text-decoration: none;
  box-shadow: 0 18px 36px rgba(96, 58, 21, 0.085);
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.reason-link-card::before {
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, rgba(255, 178, 74, 0.86) 0%, rgba(255, 225, 168, 0.72) 52%, rgba(255, 244, 223, 0.72) 100%);
  content: "";
}

.reason-link-card > span {
  color: var(--orange-deep);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.reason-link-card strong {
  color: var(--brown);
  font-size: 1.08rem;
  line-height: 1.5;
  overflow-wrap: normal;
  text-wrap: pretty;
  word-break: keep-all;
}

.reason-link-card small {
  font-size: 0.86rem;
  line-height: 1.72;
}

.reason-link-card--featured {
  border-color: rgba(245, 130, 0, 0.62);
  background:
    radial-gradient(circle at 88% 12%, rgba(245, 130, 0, 0.09) 0%, rgba(245, 130, 0, 0) 180px),
    linear-gradient(180deg, #fffaf1 0%, #fff 100%);
  box-shadow: 0 20px 40px rgba(217, 95, 0, 0.105);
}

.reason-link-card--featured::before {
  height: 4px;
  background: linear-gradient(90deg, rgba(238, 118, 0, 0.92) 0%, rgba(255, 183, 82, 0.78) 54%, rgba(255, 232, 188, 0.74) 100%);
}

.reason-link-card--featured > span {
  width: fit-content;
  padding: 4px 9px 5px;
  border: 1px solid rgba(245, 130, 0, 0.24);
  border-radius: 999px;
  background: rgba(245, 130, 0, 0.09);
  line-height: 1.25;
}

.reason-link-card--featured strong {
  color: #5a3922;
  font-size: 1.12rem;
  line-height: 1.42;
}

.reason-link-card--featured strong span {
  display: block;
}

.reason-link-card:hover,
.reason-link-card:focus-visible {
  border-color: rgba(245, 130, 0, 0.7);
  box-shadow: 0 22px 42px rgba(96, 58, 21, 0.12);
  transform: translateY(-2px);
}

.reason-faq__list {
  width: 100%;
  gap: 10px;
}

.reasons-faq .faq-list summary {
  padding-block: 18px;
}

.reasons-faq .faq-list details p {
  padding-top: 16px;
  padding-bottom: 20px;
  line-height: 1.82;
}

@media (max-width: 1100px) {
  .reason-card-grid,
  .reason-link-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .reason-focus--fee .reason-proof-list--compact,
  .management-points {
    grid-template-columns: 1fr;
  }

  .reason-card {
    min-height: 238px;
  }
}

@media (max-width: 980px) {
  .reasons-intro__layout,
  .reason-focus__grid,
  .fee-plan__header,
  .fee-plan__grid {
    grid-template-columns: 1fr;
  }

  .reason-focus--reverse .reason-focus__media,
  .reason-focus--reverse .reason-focus__content {
    order: initial;
  }

  .reason-focus--reverse .reason-focus__grid {
    grid-template-columns: 1fr;
  }

  .reason-focus--matching .reason-focus__grid {
    grid-template-columns: 1fr;
  }

  .reason-focus--matching .reason-focus__media {
    grid-template-rows: auto auto;
  }

  .reason-focus--matching .reason-focus__media img {
    height: 380px;
    min-height: 0;
  }

  .fee-plan__name {
    max-width: 540px;
  }

  .fee-plan__content {
    order: 1;
  }

  .fee-plan__photo {
    order: 2;
  }

  .fee-note-panel {
    grid-template-columns: 1fr;
  }

  .fee-comparison__cards {
    grid-template-columns: 1fr;
  }

  .fee-comparison-card {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  .fee-comparison-card small,
  .fee-comparison-card em {
    grid-column: 1 / -1;
  }

  .reasons-intro__points,
  .reason-proof-list--split {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .fee-diagram__canvas {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: none;
    gap: 15px;
    max-width: 560px;
    min-height: 0;
    padding: 0;
  }

  .fee-diagram__ring {
    display: none;
  }

  .fee-node--tenant,
  .fee-node--owner,
  .fee-node--bee {
    grid-column: auto;
    grid-row: auto;
  }

  .fee-node {
    min-height: 0;
    gap: 6px;
    padding: 13px 15px 14px;
    text-align: left;
  }

  .fee-node__head {
    min-height: 0;
    justify-items: start;
  }

  .fee-diagram__canvas .fee-node:not(:last-of-type)::before {
    position: absolute;
    bottom: -19px;
    left: 50%;
    z-index: 3;
    width: 8px;
    height: 8px;
    border: 1px solid rgba(245, 130, 0, 0.3);
    border-radius: 999px;
    background: #fffaf3;
    box-shadow: 0 0 0 4px rgba(255, 244, 230, 0.9);
    content: "";
    transform: translateX(-50%);
  }

  .fee-diagram__canvas .fee-node:not(:last-of-type)::after {
    position: absolute;
    bottom: -16px;
    left: 50%;
    z-index: 2;
    width: 1px;
    height: 15px;
    border-left: 1px dashed rgba(226, 176, 112, 0.66);
    content: "";
    transform: translateX(-50%);
  }

  .fee-node__label {
    justify-self: start;
  }

  .fee-note-panel {
    margin-bottom: clamp(28px, 4.5vw, 40px);
    scroll-margin-bottom: calc(92px + env(safe-area-inset-bottom));
  }
}

@media (max-width: 640px) {
  body.reasons-page {
    padding-bottom: calc(112px + env(safe-area-inset-bottom));
  }

  .reasons-page main {
    padding-bottom: calc(24px + env(safe-area-inset-bottom));
  }

  .reasons-intro::before,
  .fee-plan::before {
    display: none;
  }

  .reasons-intro {
    padding-block: 36px 48px;
  }

  .reasons-intro__body,
  .reason-focus__content,
  .fee-plan__content,
  .fee-diagram {
    padding: 22px 18px;
    border-radius: 20px;
  }

  .fee-note-panel {
    margin-bottom: clamp(34px, 8vw, 42px);
    scroll-margin-bottom: calc(92px + env(safe-area-inset-bottom));
    padding: 15px 15px 16px 17px;
    border-radius: 18px;
  }

  .fee-note-panel::before {
    inset: 14px auto 14px 0;
    width: 2px;
  }

  .fee-note-panel__head {
    gap: 9px;
  }

  .fee-note-panel__icon {
    width: 32px;
    height: 32px;
  }

  .fee-note-panel__icon svg {
    width: 20px;
    height: 20px;
  }

  .reasons-intro .sub-section__heading h2 {
    font-size: clamp(1.16rem, 5vw, 1.5rem);
    line-height: 1.64;
  }

  .reason-focus--matching .sub-section__heading h2 {
    font-size: 1.42rem;
    line-height: 1.58;
  }

  .reason-focus--matching {
    scroll-margin-top: 46px;
  }

  .reason-focus--matching .reason-focus__content {
    padding-bottom: 24px;
  }

  .reason-focus--matching .reason-focus__lead {
    font-size: 0.98rem;
    line-height: 1.64 !important;
  }

  .reason-focus--matching .reason-focus__content p + p {
    margin-top: 13px;
  }

  .reason-focus--matching .reason-focus__content p:not(.reason-focus__lead) {
    font-size: 0.92rem;
    line-height: 1.72 !important;
  }

  .reasons-intro__title-line {
    display: block;
  }

  .reasons-intro__lead {
    font-size: 0.98rem;
    line-height: 1.82 !important;
  }

  .reasons-intro__note {
    gap: 8px;
    padding: 12px 13px;
    font-size: 0.86rem;
    line-height: 1.72 !important;
  }

  .reasons-intro__note-nowrap {
    white-space: normal;
  }

  .reasons-intro__visual,
  .reason-focus__media {
    border-radius: 20px;
  }

  .reason-card-grid,
  .reason-link-grid {
    grid-template-columns: 1fr;
  }

  .reason-card,
  .reason-link-card {
    min-height: 0;
  }

  .reason-card {
    padding: 23px 20px 22px;
  }

  .reason-card--featured::before {
    height: 5px;
  }

  .fee-plan__photo {
    border-radius: 22px;
  }

  .reason-focus--fee .fee-plan__name {
    display: none;
  }

  .reason-focus--fee .fee-zero-badge {
    max-width: 100%;
    grid-template-columns: auto auto;
    padding: 13px 14px 13px 16px;
  }

  .reason-focus--fee .fee-zero-badge strong {
    font-size: clamp(2.22rem, 10.8vw, 2.94rem);
  }

  .reason-focus--fee .fee-plan__content-title {
    font-size: clamp(1.14rem, 5vw, 1.34rem);
  }

  .reason-focus--fee .fee-condition-note {
    padding: 11px 13px;
    font-size: 0.83rem;
    font-weight: 500 !important;
  }

  .reason-focus--fee .reason-proof-list--compact li {
    min-height: 0;
    padding: 13px 14px 13px 43px;
  }

  .fee-plan__photo figcaption,
  .reasons-intro__visual figcaption,
  .reason-focus__media figcaption,
  .reasons-intro__visual .image-note,
  .reason-focus__media .image-note {
    text-align: left;
  }

  .reason-focus--matching .reason-focus__media img {
    height: 256px;
  }

  .reason-focus--local .reason-focus__media img {
    object-position: 50% 50%;
  }

  .reason-focus--female .reason-focus__media img {
    object-position: 70% 48%;
  }

  .reason-focus--matching .reason-focus__media figcaption {
    padding: 10px 12px 11px;
    color: #887666;
    font-size: 0.77rem;
    font-weight: 450;
    line-height: 1.6;
  }

  .reason-focus__caption-line {
    display: block;
  }

  .reason-focus--matching .reason-proof-list {
    gap: 8px;
    margin-top: 18px;
  }

  .reason-focus--matching .reason-proof-list li {
    padding: 12px 14px 12px 35px;
    font-size: 0.92rem;
    line-height: 1.55;
  }

}

@media (max-width: 759px) {
  .reasons-local .sub-section__heading {
    max-width: 620px;
    margin-bottom: 24px;
  }

  .reasons-local .sub-section__heading h2 {
    font-size: 1.72rem;
    line-height: 1.52;
    text-wrap: pretty;
  }

  .reasons-local .reasons-local__lead {
    font-size: 0.92rem;
    line-height: 1.84;
  }

  .reason-link-grid {
    gap: 13px;
  }

  .reason-link-card {
    gap: 8px;
    padding: 20px 19px 19px;
    border-radius: 18px;
  }

  .reason-link-card strong {
    font-size: 1.04rem;
    line-height: 1.48;
  }

  .reason-link-card small {
    font-size: 0.9rem;
    line-height: 1.72;
  }
}

@media (max-width: 520px) {
  .reasons-local .sub-section__heading {
    margin-bottom: 22px;
  }

  .reasons-local .sub-section__heading h2 {
    font-size: 1.46rem;
    line-height: 1.58;
  }

  .reasons-local .reasons-local__lead {
    font-size: 0.9rem;
    line-height: 1.82;
  }

  .reason-link-grid {
    gap: 12px;
  }

  .reason-link-card {
    gap: 7px;
    padding: 19px 18px 18px;
  }

  .reason-link-card--featured strong {
    font-size: 1.08rem;
  }
}

@media (max-width: 1099px) {
  body.is-fv-search-visible .fv-mobile-fixed-cta {
    display: none;
    opacity: 0;
    pointer-events: none;
    transform: translateY(calc(100% + 16px));
  }
}
/* ===== END site-lower-page-polish.css ===== */

/* ===== BEGIN site-cta-variants.css ===== */
/*
 * Shared #support CTA shell. These rules carry no page scope, so every page
 * that renders the CTA needs them — they live here rather than in
 * site-top-page-core.css, which only reaches the front-page bundle. The
 * section clips while the inner card stays visible, which is what lets the
 * nara illustration hang above the card.
 */
#support.common-cta {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding-block: clamp(52px, 6.2vw, 88px) clamp(58px, 6.7vw, 96px);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.72) 0%, rgba(255, 250, 242, 0) 42%),
    linear-gradient(145deg, #fffdf8 0%, #fffaf2 48%, #fff7e8 100%);
}

#support.common-cta::before,
#support.common-cta::after {
  position: absolute;
  z-index: 0;
  content: "";
  pointer-events: none;
}

#support.common-cta::before {
  display: none;
}

#support.common-cta::after {
  display: none;
  top: clamp(24px, 3.4vw, 44px);
  right: max(24px, calc(50% - 540px));
  left: max(24px, calc(50% - 540px));
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(245, 130, 0, 0.26) 18%, rgba(244, 196, 125, 0.54) 50%, rgba(245, 130, 0, 0.16) 82%, transparent 100%);
}

.top-page #support.common-cta::after {
  display: none;
}

#support.common-cta .common-cta__inner {
  position: relative;
  z-index: 2;
  overflow: visible;
  gap: clamp(26px, 4.2vw, 50px);
  padding: clamp(30px, 4.1vw, 48px);
  border: 1px solid rgba(244, 196, 125, 0.48);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 253, 248, 0.94) 100%);
  box-shadow:
    0 26px 62px rgba(96, 58, 21, 0.105),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

#support.common-cta .common-cta__label {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

#support.common-cta .common-cta__label::after {
  display: inline-block;
  width: 34px;
  height: 1px;
  border-radius: 999px;
  background: rgba(245, 130, 0, 0.42);
  content: "";
}

#support.common-cta h2 {
  letter-spacing: 0;
  text-wrap: balance;
}

#support.common-cta p:not(.common-cta__label):not(.image-note) {
  color: #5f4937;
  font-weight: 700;
  line-height: 1.92;
  text-wrap: pretty;
}

#support.common-cta .common-cta__bee-flight {
  opacity: 0.18;
}

#support.common-cta .common-cta__bee-image {
  filter:
    saturate(0.78)
    sepia(0.08)
    drop-shadow(0 4px 6px rgba(245, 130, 0, 0.045));
}

:is(.top-page, .company-page, .reasons-page, .contact-page, .owner-support, .property-list-page, .blog-page, .news-detail-page) #support .common-cta__nara-jump,
.subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__nara-jump {
  position: absolute;
  top: clamp(-112px, -6vw, -78px);
  right: clamp(254px, 23vw, 360px);
  z-index: 3;
  width: clamp(168px, 15vw, 218px);
  opacity: 0.92;
  pointer-events: none;
  filter: drop-shadow(0 14px 18px rgba(96, 58, 21, 0.14));
}

:is(.top-page, .company-page, .reasons-page, .contact-page, .owner-support, .property-list-page, .blog-page, .news-detail-page) #support .common-cta__nara-jump img,
.subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__nara-jump img {
  display: block;
  width: 100%;
  height: auto;
}

:is(.top-page, .company-page, .reasons-page, .contact-page, .owner-support, .property-list-page, .blog-page, .news-detail-page) #support .common-cta__nara-speech,
.subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__nara-speech {
  position: absolute;
  top: clamp(42px, 3.1vw, 56px);
  left: clamp(-142px, -9vw, -118px);
  z-index: 2;
  display: grid;
  width: clamp(148px, 9.8vw, 158px);
  height: clamp(60px, 4.25vw, 68px);
  place-items: center;
  box-sizing: border-box;
  padding: 9px 14px 11px;
  border: 1px solid rgba(245, 130, 0, 0.34);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.96);
  color: #5f432f;
  font-size: clamp(12px, 0.8vw, 13px);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.45;
  text-align: center;
  white-space: nowrap;
  box-shadow: 0 12px 26px rgba(96, 58, 21, 0.1);
}


:is(.top-page, .company-page, .reasons-page, .contact-page, .owner-support, .property-list-page, .blog-page, .news-detail-page) #support .common-cta__nara-speech::before,
.subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__nara-speech::before {
  display: none;
}

:is(.top-page, .company-page, .reasons-page, .contact-page, .owner-support, .property-list-page, .blog-page, .news-detail-page) #support .common-cta__nara-speech::after,
.subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__nara-speech::after {
  display: none;
}

:is(.top-page, .company-page, .reasons-page, .contact-page, .owner-support, .property-list-page, .blog-page, .news-detail-page) #support .common-cta__content,
:is(.top-page, .company-page, .reasons-page, .contact-page, .owner-support, .property-list-page, .blog-page, .news-detail-page) #support .common-cta__actions,
.subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__content,
.subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__actions {
  position: relative;
  z-index: 4;
}

@media (max-width: 980px) {
  :is(.top-page, .company-page, .reasons-page, .contact-page, .owner-support, .property-list-page, .blog-page, .news-detail-page) #support .common-cta__nara-jump,
  .subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__nara-jump {
    top: -58px;
    right: 28px;
    width: clamp(112px, 18vw, 142px);
    opacity: 0.24;
  }

  :is(.top-page, .company-page, .reasons-page, .contact-page, .owner-support, .property-list-page, .blog-page, .news-detail-page) #support .common-cta__nara-speech,
  .subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__nara-speech {
    display: none;
  }
}

@media (max-width: 640px) {
  :is(.top-page, .company-page, .reasons-page, .contact-page, .owner-support, .property-list-page, .blog-page, .news-detail-page) #support .common-cta__nara-jump,
  .subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__nara-jump {
    display: none;
  }
}
#support.common-cta .common-cta__phone {
  border-color: rgba(222, 174, 110, 0.42);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(255, 250, 241, 0.97) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.88),
    0 14px 30px rgba(96, 58, 21, 0.075);
}

.top-page #support.common-cta .common-cta__phone strong,
body.subpage #support.common-cta .common-cta__phone strong {
  display: block;
  max-width: 100%;
  line-height: 1;
  overflow-wrap: normal;
  white-space: nowrap;
  word-break: keep-all;
}

#support.common-cta .common-cta__phone:hover,
#support.common-cta .common-cta__phone:focus-visible {
  border-color: rgba(245, 130, 0, 0.3);
  background:
    linear-gradient(180deg, #fff 0%, #fff7e8 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.78),
    0 14px 28px rgba(96, 58, 21, 0.08);
}

#support.common-cta .common-cta__phone-action {
  width: 42px;
  height: 42px;
  border-color: rgba(245, 130, 0, 0.22);
  background:
    linear-gradient(180deg, rgba(255, 247, 232, 0.96) 0%, rgba(255, 238, 211, 0.72) 100%);
  color: #bf7627;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.82),
    0 6px 14px rgba(132, 78, 25, 0.08);
}

#support.common-cta .common-cta__phone-action svg {
  width: 15px;
  height: 15px;
  stroke-width: 1.75;
}

#support.common-cta .common-cta__button {
  border-color: #f58200;
  background: #f58200;
  box-shadow: 0 10px 22px rgba(217, 95, 0, 0.16);
  transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

#support.common-cta .common-cta__button:hover,
#support.common-cta .common-cta__button:focus-visible {
  border-color: #e36e00;
  background: #e87500;
  filter: none;
  box-shadow: 0 14px 26px rgba(217, 95, 0, 0.2);
}

.subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding-block: clamp(52px, 6.2vw, 88px) clamp(58px, 6.7vw, 96px);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.72) 0%, rgba(255, 250, 242, 0) 42%),
    linear-gradient(145deg, #fffdf8 0%, #fffaf2 48%, #fff7e8 100%);
}

.subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta)::before,
.subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta)::after {
  display: none;
}

.subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__inner {
  position: relative;
  z-index: 2;
  width: min(1080px, calc(100% - 56px));
  gap: clamp(26px, 4.2vw, 50px);
  padding: clamp(30px, 4.1vw, 48px);
  border: 1px solid rgba(244, 196, 125, 0.48);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 253, 248, 0.94) 100%);
  box-shadow:
    0 26px 62px rgba(96, 58, 21, 0.105),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__label {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__label::after {
  display: inline-block;
  width: 34px;
  height: 1px;
  border-radius: 999px;
  background: rgba(245, 130, 0, 0.42);
  content: "";
}

.subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) h2 {
  font-size: clamp(1.62rem, 2.82vw, 2.42rem);
  line-height: 1.38;
  letter-spacing: 0;
  text-wrap: balance;
}

.subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) p:not(.common-cta__label):not(.image-note) {
  max-width: 40em;
  color: #5f4937;
  font-weight: 700;
  line-height: 1.92;
  text-wrap: pretty;
}

.subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__actions {
  align-self: center;
  gap: 14px;
  max-width: min(100%, 720px);
  transform: translateY(4px);
}

.subpage .common-cta:is(.news-contact-cta, .news-detail-cta) .common-cta__actions {
  max-width: min(100%, 760px);
}

.subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__phone {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(12px, 1.8vw, 18px);
  overflow: hidden;
  border-color: rgba(222, 174, 110, 0.42);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(255, 250, 241, 0.97) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.88),
    0 14px 30px rgba(96, 58, 21, 0.075);
}

.subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__phone-body {
  display: grid;
  min-width: 0;
  gap: 5px;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  justify-items: start;
}

.subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__phone strong {
  display: block;
  max-width: 100%;
  font-size: clamp(1.72rem, 2.05vw, 2.12rem);
  line-height: 1;
  white-space: nowrap;
}

@media (min-width: 981px) {
  .subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__inner {
    grid-template-columns: minmax(0, 1fr) minmax(330px, 0.64fr);
  }

  .subpage .news-contact-cta .common-cta__inner {
    grid-template-columns: minmax(0, 1fr) minmax(430px, 0.58fr);
  }
}

.subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__phone-action {
  display: grid;
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  justify-self: end;
  place-items: center;
  border: 1px solid rgba(245, 130, 0, 0.22);
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(255, 247, 232, 0.96) 0%, rgba(255, 238, 211, 0.72) 100%);
  color: #bf7627;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.82),
    0 6px 14px rgba(132, 78, 25, 0.08);
  transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__phone-action svg {
  width: 15px;
  height: 15px;
  stroke-width: 1.75;
}

.subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__phone:hover .common-cta__phone-action,
.subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__phone:focus-visible .common-cta__phone-action {
  transform: translateX(1px);
  border-color: rgba(245, 130, 0, 0.26);
  background: rgba(245, 130, 0, 0.085);
}

.subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__button {
  border-color: #f58200;
  background: #f58200;
  box-shadow: 0 10px 22px rgba(217, 95, 0, 0.16);
}

.subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__button:hover,
.subpage .common-cta:is(.news-contact-cta, .news-detail-cta, .blog-detail-bottom-cta, .room-search-cta, .sitemap-cta, .property-cta--bottom, .privacy-contact-cta, .not-found-contact-cta) .common-cta__button:focus-visible {
  border-color: #e36e00;
  background: #e87500;
  filter: none;
  box-shadow: 0 14px 26px rgba(217, 95, 0, 0.2);
}

.subpage .common-cta:is(.room-search-cta, .property-cta--bottom) .common-cta__button--ghost {
  border: 2px solid rgba(245, 130, 0, 0.62);
  background: #fff;
  color: var(--orange-deep);
  box-shadow: 0 8px 18px rgba(217, 95, 0, 0.09);
}

.subpage .common-cta:is(.room-search-cta, .property-cta--bottom) .common-cta__button--ghost:hover,
.subpage .common-cta:is(.room-search-cta, .property-cta--bottom) .common-cta__button--ghost:focus-visible {
  border-color: var(--orange);
  background: #fff3df;
  color: var(--orange-deep);
}
/* ===== END site-cta-variants.css ===== */
