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

/* ===== BEGIN site-typography-overrides.css ===== */

/* Typography weight softening pass */
.top-page :is(.fv-feature-band__heading h2, .top-section h2, #support h2) {
  font-weight: 600;
}

.top-page :is(.fv-feature h2, .top-room-card strong, .top-property-card h3, .top-column-card h3, .top-news-item h3, .top-flow__steps h3, .top-reasons__points h3, .top-owner__cards h3) {
  font-weight: 600;
}

.top-page :is(.fv-feature-band__heading > p:not(.fv-feature-band__lead), .top-section__label, .common-cta__label, .fv-feature__number, .fv-feature__badge, .top-room-card__tag, .top-property-card__fee, .top-flow__steps span, .top-reasons__points span) {
  font-weight: 650;
}

.top-page .fv-feature__number,
.top-page .top-flow__steps span {
  min-height: 2.18em;
  padding: 0.38em 0.9em 0.36em;
  border-color: rgba(245, 130, 0, 0.28);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 242, 222, 0.94) 100%);
  color: var(--orange-deep);
  font-size: clamp(14px, 0.94vw, 18px);
  font-weight: 800;
  letter-spacing: 0.16em;
  box-shadow:
    0 8px 18px rgba(245, 130, 0, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.94);
}

.top-page :is(.top-property-card__area, .top-property-card__spec dt, .top-property-card__spec dd, .top-property-card__tags span, .top-column-card__meta span, .top-column-card__meta time, .top-news-item span, .top-news-item time, .top-flow__visual figcaption, .top-reasons__visual figcaption) {
  font-weight: 600;
}

.top-page :is(.top-link-button, .top-property-card__button, .top-column-card__link, .top-news__link, #support .common-cta__button) {
  font-weight: 700;
}

.final-fv .fv-nav,
.subpage .fv-nav,
.final-fv :is(.fv-nav > .fv-nav__home, .fv-nav > a:not(.fv-nav__home), .fv-nav__item > a, .fv-nav__parent, .fv-submenu a, .fv-phone__meta, .fv-mobile-contact span, .fv-mobile-fixed-cta a, .fv-mobile-fixed-cta button),
.subpage :is(.fv-nav > .fv-nav__home, .fv-nav > a:not(.fv-nav__home), .fv-nav__item > a, .fv-nav__parent, .fv-submenu a, .fv-phone__meta, .fv-mobile-contact span, .fv-mobile-fixed-cta a, .fv-mobile-fixed-cta button) {
  font-weight: 600;
}

.final-fv .fv-nav__mobile-head span,
.subpage .fv-nav__mobile-head span {
  font-weight: 700;
}

.final-fv :is(.fv-phone__number strong, .fv-mobile-contact a),
.subpage :is(.fv-phone__number strong, .fv-mobile-contact a) {
  font-weight: 700;
}

.subpage :is(.sub-hero__label, .sub-section__label, .common-cta__label, .blog-inline-cta__label, .blog-taxonomy__title, .blog-author__label) {
  font-weight: 600;
}

.subpage :is(.sub-hero__lead, .sub-breadcrumb, .image-note, .sub-link-button, .common-cta__button, .company-profile__table dt, .access-guide__item h4, .history-list li, .history-list time, .access-map, .blog-table-wrap th, .blog-inline-cta__actions a, .blog-taxonomy a) {
  font-weight: 600;
}

.subpage :is(.company-message__lead, .about-card h3, .owner-mini-card h3, .owner-service-card h3, .owner-reason-card h3, .owner-flow__steps h3, .common-cta__phone span, .common-cta__phone strong, .common-cta__phone small) {
  font-weight: 700;
}

/* Property detail typography weight softening */
body.property-detail-page :is(.property-status, .property-detail-alert__inner span, .property-summary__fact--price strong, .property-summary__pending-value, .property-summary__button, .property-summary__phone strong, .common-cta__phone strong) {
  font-weight: 700;
}

body.property-detail-page :is(.property-tag, .property-detail-alert__inner p, .property-gallery__main figcaption, .property-gallery__thumb, .property-gallery__fit-note span, .property-summary__fact, .property-summary__catch, .property-summary__notice, .property-summary__fee-note, .property-summary__phone span, .property-summary__phone small, .property-point-list span, .property-condition-tags span, .property-fit-list span, .property-photo-card figcaption, .property-overview__table th, .property-access__list > div, .property-fee-free__checks li, .property-faq__item summary, .property-related-consult__eyebrow, .property-related-consult__checks li) {
  font-weight: 600;
}

body.property-detail-page :is(.property-card__placeholder, .property-photo-card__placeholder, .property-gallery__placeholder, .property-gallery__fallback, .property-summary__prototype, .property-detail-note, .property-gallery__fit-note p, .property-point-list small, .property-condition-tags small, .property-fit-list small, .property-overview__table td, .property-access__list dd, .property-fee-free__body p, .property-faq__item p, .property-related-consult__body p:not(.property-related-consult__eyebrow)) {
  font-weight: 500;
}

body.property-detail-page :is(.property-summary h2, .property-related-consult__body h3, .property-summary__button--soft, .common-cta__button--ghost) {
  font-weight: 600;
}

body.property-detail-page .fv-mobile-fixed-cta :is(a, button) {
  min-width: 0;
  overflow: hidden;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Blog / column typography weight softening */
body.blog-page :is(.blog-intro__body, .blog-featured-card p, .blog-card p, .blog-sidebar__box p, .blog-empty-state p),
body.blog-detail-page :is(.blog-content, .blog-content li, .blog-content blockquote, .blog-content small, .blog-content figcaption, .blog-note-list dd, .blog-table-wrap td, .blog-inline-cta p:not(.blog-inline-cta__label), .blog-author p:not(.blog-author__label), .blog-sidebar__box p) {
  font-weight: 500;
}

body.blog-page :is(.blog-featured-card h3, .blog-card h3, .blog-sidebar__box h3, .blog-card__meta time, .blog-card__category, .blog-card__tags li, .blog-card__link, .blog-result-count, .blog-filter__label, .blog-filter__button, .blog-sidebar__links, .blog-sidebar__posts, .blog-sidebar__links a, .blog-sidebar__links a::after, .blog-sidebar__posts a, .blog-empty-state h3, .blog-empty-state__button, .blog-pagination a),
body.blog-detail-page :is(.blog-meta, .blog-card__meta time, .blog-card__category, .blog-card__tags li, .blog-card__link, .blog-eyecatch figcaption, .blog-eyecatch__placeholder, .blog-toc h2, .blog-toc ol, .blog-content h2, .blog-content h3, .blog-content h4, .blog-content a, .blog-note-list dt, .blog-table-wrap th, .blog-inline-cta__label, .blog-inline-cta h2, .blog-inline-cta__actions a, .blog-taxonomy__title, .blog-taxonomy a, .blog-author__label, .blog-author h2, .blog-sidebar__box h3, .blog-sidebar__links, .blog-sidebar__posts, .blog-sidebar__links a, .blog-sidebar__links a::after, .blog-sidebar__posts a, .post-nav__label, .post-nav__title, .sub-link-button) {
  font-weight: 600;
}

body.blog-page :is(.blog-thumb, .blog-result-count span, .blog-filter__button.is-active, .blog-filter__button[aria-pressed="true"], .blog-pagination a[aria-current="page"], .blog-sidebar__cta a),
body.blog-detail-page :is(.blog-content strong, .blog-inline-cta__actions a:first-child, .blog-sidebar__cta a, .common-cta__phone strong) {
  font-weight: 700;
}

.top-page .top-room-search .top-section__heading h2 {
  color: #262321;
  font-size: clamp(31px, 2.7vw, 46px);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.34;
}

.top-page .top-room-search .top-room-card strong {
  color: #262321;
  font-weight: 800;
}

.top-page .top-room-search .top-section__heading > p {
  color: #40362f;
  font-weight: 700;
}

.top-page .top-room-search .top-room-card__body > span:last-child {
  color: #473a32;
  font-weight: 700;
}
/* ===== END site-typography-overrides.css ===== */

/* ===== BEGIN site-responsive-tail.css ===== */

/* Mobile FV reference alignment: keep the approved BEE TRUST logo and use the existing illustration assets. */
.fv-title__mobile-break,
.fv-phone__mobile-label {
  display: none;
}

@media (min-width: 641px) and (max-width: 980px) {
  /* Shared lower-page density: compact choices retain two columns on tablets. */
  .property-list-page .property-grid,
  .contact-page .contact-methods {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .property-conditions__grid {
    grid-template-columns: minmax(210px, 0.72fr) minmax(0, 1fr);
  }

  .property-list-page .property-intro__grid {
    grid-template-columns: minmax(0, 1fr) minmax(250px, 0.72fr);
  }

  :is(.company-page, .reasons-page, .contact-page, .owner-support, .property-list-page, .blog-page, .news-detail-page) #support .common-cta__inner,
  .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(250px, 0.72fr);
  }

  .site-footer__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
  }
}

/* Tablet shared-shell pass: kept outside the FV block so lower-page cascades resolve last. */
@media (min-width: 641px) and (max-width: 980px) {
  body.property-list-page .property-intro__grid {
    grid-template-columns: minmax(0, 1fr) minmax(250px, 0.72fr);
  }

  body.property-list-page #support.common-cta .common-cta__inner {
    grid-template-columns: minmax(0, 1fr) minmax(250px, 0.72fr);
  }

  body.property-list-page .site-footer__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
  }
}

/* Top FV responsive contract: mobile-derived through 980px. */
@media (max-width: 980px) {
  .top-page .final-fv--continuous {
    height: auto;
    min-height: 0;
  }

  .top-page .final-fv--continuous .fv-header {
    position: fixed;
    inset: 0 0 auto;
    z-index: 500;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 10px;
    min-height: 60px;
    padding: 5px 16px;
    border-radius: 0 0 26px 26px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 10px 26px rgba(96, 58, 21, 0.09);
  }

  .top-page .final-fv--continuous .fv-logo {
    width: clamp(146px, 41vw, 166px);
  }

  .top-page .final-fv--continuous .fv-phone {
    display: grid;
    grid-column: 2;
    grid-row: 1;
    width: 46px;
    min-height: 50px;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--orange);
    box-shadow: none;
  }

  .top-page .final-fv--continuous .fv-phone__number {
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
  }

  .top-page .final-fv--continuous .fv-phone__number svg {
    width: 26px;
    height: 26px;
    transform: translateY(-3px);
  }

  .top-page .final-fv--continuous .fv-phone__number strong,
  .top-page .final-fv--continuous .fv-phone__meta {
    display: none;
  }

  .top-page .final-fv--continuous .fv-phone__mobile-label {
    display: block;
    transform: translateY(1.5px);
    color: #2f2925;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
  }

  .top-page .final-fv--continuous .fv-menu-toggle {
    display: grid;
    grid-column: 3;
    grid-row: 1;
    grid-template-rows: repeat(3, 3px) auto;
    width: 48px;
    height: 50px;
    gap: 4px;
    padding: 3px 0 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--orange);
    box-shadow: none;
  }

  .top-page .final-fv--continuous .fv-menu-toggle > span:not(.fv-menu-toggle__label) {
    width: 28px;
    height: 3px;
    border-radius: 999px;
    background: currentColor;
    transform: translateY(4.5px);
  }

  .top-page .final-fv--continuous .fv-menu-toggle__label {
    display: block;
    width: auto;
    height: auto;
    margin-top: 2px;
    border-radius: 0;
    background: transparent;
    color: #2f2925;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
  }

  .top-page .final-fv--continuous .fv-mobile-fixed-cta {
    display: none;
  }

  .top-page .final-fv--continuous .fv-hero {
    display: grid;
    grid-template-areas:
      "title"
      "visual"
      "lead"
      "benefits"
      "search";
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    top: 0;
    margin-top: 62px;
    padding: 28px 16px clamp(96px, 28vw, 128px);
    overflow: hidden;
    isolation: isolate;
    background:
      radial-gradient(circle at 90% 10%, rgba(255, 223, 173, 0.38), transparent 28%),
      linear-gradient(180deg, #fffdf9 0%, #fff7e9 100%);
  }

  .top-page .final-fv--continuous .fv-copy {
    display: contents;
  }

  .top-page .final-fv--continuous .fv-title {
    grid-area: title;
    position: relative;
    z-index: 4;
    width: 100%;
    margin: 0;
    font-size: clamp(26px, 7vw, 28px);
    line-height: 1.46;
    letter-spacing: 0.02em;
  }

  .top-page .final-fv--continuous .fv-title__mobile-final-line {
    white-space: nowrap;
  }

  .top-page .final-fv--continuous .fv-title__mobile-break {
    display: none;
  }

  .top-page .final-fv--continuous .fv-bee-trail {
    left: -18px;
    top: 138px;
    right: auto;
    z-index: 5;
    display: block;
    width: clamp(82px, 26vw, 112px);
  }

  .top-page .final-fv--continuous .fv-visual {
    grid-area: visual;
    position: relative;
    z-index: 2;
    width: auto;
    min-height: clamp(338px, 90vw, 352px);
    margin: -60px -16px 0 76px;
  }

  .top-page .final-fv--continuous .fv-visual__main {
    top: 0;
    right: -8px;
    left: 0;
    width: auto;
    height: 100%;
    border-radius: 46% 54% 0 48% / 54% 20% 0 56%;
    background:
      url("../images/final-fv-hero-staff-illustration-v20260807.webp") 91% 50% / auto 100% no-repeat,
      #ffe5bd;
    box-shadow: -14px 18px 34px rgba(117, 77, 45, 0.075);
  }

  .top-page .final-fv--continuous .fv-copy__leadline {
    grid-area: lead;
    position: relative;
    z-index: 4;
    width: calc(100% + 16px);
    margin: -120px 0 0;
    padding: 9px 16px 10px 12px;
    border-radius: 0 16px 16px 0;
    background: transparent;
    isolation: isolate;
    color: #3f3530;
    font-size: clamp(13px, 3.55vw, 14px);
    font-weight: 600;
    line-height: 1.76;
    letter-spacing: 0.035em;
  }

  .top-page .final-fv--continuous .fv-copy__leadline::before {
    position: absolute;
    inset: 0 auto 0 0;
    z-index: -1;
    width: 100%;
    border-radius: 0 16px 16px 0;
    background: linear-gradient(90deg, rgba(255, 253, 249, 0.86) 0%, rgba(255, 253, 249, 0.78) 64%, rgba(255, 253, 249, 0.68) 100%);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    content: '';
    pointer-events: none;
  }

  .top-page .final-fv--continuous .fv-benefits {
    grid-area: benefits;
    position: relative;
    z-index: 4;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 10px;
    margin: 14px 0 0;
  }

  .top-page .final-fv--continuous .fv-benefits--text-only .fv-benefit {
    grid-template-columns: minmax(0, 1fr);
    min-height: 80px;
    gap: 0;
    padding: 8px 12px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 10px 22px rgba(96, 58, 21, 0.08);
  }

  .top-page .final-fv--continuous .fv-benefits--text-only .fv-benefit::before,
  .top-page .final-fv--continuous .fv-benefits--text-only .fv-benefit::after {
    display: none;
  }

  .top-page .final-fv--continuous .fv-benefits--text-only .fv-benefit__badge {
    display: none;
  }

  .top-page .final-fv--continuous .fv-benefits--text-only .fv-benefit__arrow {
    display: none;
  }

  .top-page .final-fv--continuous .fv-benefits--text-only .fv-benefit h2,
  .top-page .final-fv--continuous .fv-benefits--text-only .fv-benefit--fee h2 {
    font-size: clamp(15px, 4.1vw, 16px);
    line-height: 1.36;
  }

  .top-page .final-fv--continuous .fv-benefits--text-only .fv-benefit p {
    font-size: 10px;
    line-height: 1.48;
  }

  .top-page .final-fv--continuous .fv-search {
    grid-area: search;
    position: relative;
    z-index: 4;
    width: auto;
    margin: 22px 0 0;
    padding: 20px 14px 18px;
    border: 1px solid rgba(244, 196, 125, 0.32);
    border-radius: 22px;
    background: rgba(255, 253, 248, 0.70);
    box-shadow: 0 16px 34px rgba(96, 58, 21, 0.1);
  }

  .top-page .final-fv--continuous .fv-search h2 {
    min-height: 0;
    margin: 0 0 13px;
    padding: 0;
    color: #2f2925;
    font-size: 20px;
  }

  .top-page .final-fv--continuous .fv-search__row {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .top-page .final-fv--continuous .fv-search__row button {
    grid-column: auto;
  }

  .top-page .final-fv--continuous .fv-search select,
  .top-page .final-fv--continuous .fv-search button {
    height: 50px;
    border-radius: 999px;
    font-size: 17px;
  }

  .top-page .final-fv--continuous .fv-search select {
    padding-left: 20px;
  }

  .top-page .final-fv--continuous .fv-sky {
    display: block;
    right: -16px;
    bottom: clamp(42px, 12vw, 64px);
    left: -16px;
    z-index: 0;
    height: clamp(720px, 190vw, 760px);
    opacity: 0.84;
    background:
      linear-gradient(180deg, rgba(255, 250, 242, 0.76) 0%, rgba(255, 250, 242, 0.06) 36%, rgba(255, 244, 224, 0.1) 100%),
      url("../images/final-fv-yokkaichi-city-illustration-v20260807-illustrated.webp") 60% bottom / auto 74% no-repeat;
    filter: saturate(1.16) contrast(1.18) brightness(1.02);
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.92) 20%, #000 48%, #000 78%, rgba(0, 0, 0, 0.82) 100%);
    mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.92) 20%, #000 48%, #000 78%, rgba(0, 0, 0, 0.82) 100%);
  }

  .top-page .final-fv--continuous .fv-soft-leaf--left {
    z-index: 5;
  }

  .top-page .final-fv--continuous .fv-soft-leaf--left::before {
    top: 12px;
    opacity: 0.42;
  }

  .top-page .final-fv--continuous .fv-soft-leaf--left::after {
    display: none;
  }

  .top-page .final-fv--continuous + .top-recommended {
    margin-top: 0;
    padding-top: 48px;
  }
}
@media (min-width: 641px) and (max-width: 980px) {
  .top-page .final-fv--continuous .fv-hero {
    padding-right: clamp(24px, 5vw, 56px);
    padding-left: clamp(24px, 5vw, 56px);
  }

  .top-page .final-fv--continuous .fv-title {
    max-width: 760px;
    font-size: clamp(30px, 4.4vw, 42px);
  }

  .top-page .final-fv--continuous .fv-visual {
    width: min(100%, 760px);
    min-height: clamp(350px, calc(50vw - 40px), 450px);
    margin-right: auto;
    margin-left: auto;
  }

  .top-page .final-fv--continuous :is(.fv-copy__leadline, .fv-benefits, .fv-search) {
    width: min(100%, 760px);
    margin-right: auto;
    margin-left: auto;
  }
}

@media (min-width: 981px) and (max-width: 1099px) {
  .top-page .final-fv--continuous .fv-header {
    grid-template-columns: minmax(150px, 176px) minmax(0, 1fr) minmax(172px, 188px);
    gap: clamp(4px, 0.7vw, 8px);
    padding-right: 16px;
    padding-left: 16px;
  }

  .top-page .final-fv--continuous .fv-nav {
    gap: clamp(2px, 0.35vw, 5px);
    font-size: clamp(11px, 1.08vw, 12px);
  }

  .top-page .final-fv--continuous .fv-phone {
    width: min(100%, 188px);
  }
}

/* Raise the tablet artwork and the following lead panel together for a tighter FV. */
@media (min-width: 641px) and (max-width: 980px) {
  .top-page .final-fv--continuous .fv-visual {
    margin-top: -84px;
  }
}
/* One H1 copy for every width: the tablet-only line break and the trailing 。 toggle per breakpoint. */
.fv-title__tablet-break {
  display: none;
}

/* Tablet FV: reserve the left side for the three-line heading and pull the art into the upper-right edge. */
@media (min-width: 641px) and (max-width: 980px) {
  .top-page .final-fv--continuous .fv-hero {
    overflow: visible;
  }

  .top-page .final-fv--continuous .fv-title {
    max-width: 44%;
    font-size: clamp(27px, 3.7vw, 31px);
    line-height: 1.3;
  }

  .top-page .final-fv--continuous .fv-title__copy {
    white-space: nowrap;
  }

  .top-page .final-fv--continuous .fv-title__tablet-break {
    display: inline;
  }

  .top-page .final-fv--continuous .fv-title__period {
    display: none;
  }

  .top-page .final-fv--continuous .fv-visual {
    margin-top: calc(-44px - 6.5vw);
  }

  .top-page .final-fv--continuous .fv-visual__main {
    top: -54px;
    right: -5vw;
    height: calc(100% + 54px);
  }
}
/* ===== END site-responsive-tail.css ===== */
