:root {
  --ink: #102b49;
  --ink-deep: #0b2038;
  --blue: #1d5577;
  --mist: #eff5f8;
  --line: #dce5ea;
  --muted: #697984;
  --sand: #c8ad7c;
  --font: "DM Sans", "Noto Sans JP", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 86px; }
body { margin: 0; color: var(--ink-deep); font-family: var(--font); font-size: 14px; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
.topline { height: 4px; background: linear-gradient(90deg, var(--ink) 0 72%, var(--sand) 72%); }
.site-nav { min-height: 80px; background: rgba(255,255,255,.97); border-bottom: 1px solid rgba(16,43,73,.08); }
.navbar-brand { color: var(--ink); margin-right: 1.25rem; }
.brand-mark { width: 42px; height: 42px; display: grid; place-items: center; color: var(--ink); border: 1px solid var(--ink); font-size: 23px; transform: rotate(-3deg); }
.site-nav .brand-mark { width: 44px; height: 44px; font-size: 25px; }
.brand-mark img { width: 100%; height: 100%; object-fit: contain; }
.site-nav .brand-mark, .site-footer .brand-mark { overflow: hidden; border: 0; transform: none; }
.site-nav .brand-mark img, .site-footer .brand-mark img { width: 88%; height: 88%; }
.brand-copy { display: flex; flex-direction: column; line-height: 1.25; }
.brand-copy strong { font-size: 16px; letter-spacing: .05em; font-weight: 800; }
.site-nav .brand-copy strong { font-size: 18px; }
.brand-copy small { font-size: 8px; letter-spacing: .17em; margin-top: 4px; }
.site-nav .brand-copy small { font-size: 10px; }
.navbar-nav .nav-link { position: relative; padding: .85rem .35rem!important; color: #405365; font-size: 13px; font-weight: 600; letter-spacing: .02em; display: flex; flex-direction: column; align-items: center; line-height: 1.45; white-space: nowrap; }
.navbar-nav .nav-link small { font: 500 10px/1.4 "DM Sans", sans-serif; color: #81909a; letter-spacing: .035em; }
.navbar-nav .nav-link::after { content: ""; height: 2px; position: absolute; bottom: 9px; left: .45rem; right: .45rem; background: var(--sand); transform: scaleX(0); transform-origin: left; transition: transform .2s; }
.navbar-nav .nav-link:hover::after, .navbar-nav .nav-link.active::after { transform: scaleX(1); }
.btn { border-radius: 2px; font-size: 12px; font-weight: 600; letter-spacing: .03em; }
.site-nav .btn { font-size: 14px; }
.btn-ink { background: var(--ink); color: #fff; border: 1px solid var(--ink); }
.btn-ink:hover { color: #fff; background: #1e4b6c; border-color: #1e4b6c; }
.btn-outline-ink { color: var(--ink); border: 1px solid rgba(16,43,73,.45); background: rgba(255,255,255,.58); }
.btn-outline-ink:hover { color: #fff; background: var(--ink); }
.btn-lg { padding: 13px 20px; }

.hero { position: relative; overflow: hidden; color: var(--ink-deep); background: #d9eaf3; }
.hero-photo { position: absolute; inset: 0; background: url("../images/website/tokyo-skyline-hero.png") center 48%/cover no-repeat; }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(242,248,250,.98) 0%, rgba(242,248,250,.92) 32%, rgba(242,248,250,.54) 55%, rgba(242,248,250,.06) 100%); }
.min-vh-hero { min-height: 438px; padding-bottom: 104px; }
.hero-content { position: relative; z-index: 1; }
.eyebrow { color: #527087; font-size: 9px; font-weight: 700; letter-spacing: .2em; margin-bottom: 15px; }
.eyebrow span { display: inline-block; height: 1px; width: 27px; vertical-align: middle; background: var(--sand); margin-right: 7px; }
.hero h1 { font-size: clamp(38px, 4.4vw, 60px); line-height: 1.32; letter-spacing: .045em; font-weight: 700; margin: 0 0 15px; }
.hero-lead { color: #405766; font-size: 14px; line-height: 2; letter-spacing: .025em; }
.hero-note { margin-top: 32px; color: #526879; font-size: 10px; letter-spacing: .08em; }
.hero-note i { color: var(--blue); margin-right: 6px; }
.hero-side { position: relative; min-height: 495px; }
.hero-index { position: absolute; bottom: 19px; right: max(calc((100vw - 1320px)/2), 30px); color: #fff; font-size: 10px; letter-spacing: .15em; text-shadow: 0 1px 5px #102b49; }
.hero-index span { font-size: 16px; font-weight: 700; }
.hero-search-wrap { position:absolute; z-index:2; left:0; right:0; bottom:20px; }
.home-search { display:grid; grid-template-columns:1.05fr 1.3fr 1.4fr 1.8fr auto; align-items:end; gap:14px; padding:16px 18px; background:#fff; border:1px solid #d9e4ea; box-shadow:0 14px 34px rgba(16,43,73,.12); }
.home-search-title { display:flex; align-items:center; gap:9px; align-self:center; color:var(--ink); font-size:15px; font-weight:700; }
.home-search-title i { color:var(--blue); font-size:20px; }
.home-search label { display:flex; min-width:0; flex-direction:column; gap:6px; color:#647783; font-size:10px; font-weight:700; }
.home-search input,.home-search select { width:100%; min-width:0; height:40px; padding:0 10px; color:var(--ink); background:#fff; border:1px solid #d6e1e7; font:500 12px var(--font); }
.home-price-range { display:flex; align-items:center; gap:7px; }
.home-price-range span { color:#82919b; }
.home-search .btn { min-height:40px; white-space:nowrap; padding:8px 13px; }

.quick-services { background: #eaf3f8; border-bottom: 1px solid #d6e4ec; }
.service-link { min-height: 98px; padding: 16px 17px; display: flex; align-items: center; gap: 12px; border-right: 1px solid var(--line); transition: background .2s; }
.quick-services .col-lg-3:first-child .service-link { border-left: 1px solid var(--line); }
.service-link:hover { background: var(--mist); }
.service-icon { font-size: 29px; color: var(--blue); line-height: 1; }
.reference-services .service-icon img { display:block; width:52px; height:52px; object-fit:contain; }
.service-link strong, .service-link small { display: block; }
.service-link strong { font-size: 14px; margin-bottom: 6px; }
.service-link small { color: var(--muted); font-size: 10px; letter-spacing: .035em; }
.service-arrow { color: #9babb5; font-size: 13px; margin-left: auto; }
.section-space { padding: 72px 0; }
.properties-section { background: #fbfcfd; }
.eyebrow-dark { color: #82919b; margin-bottom: 8px; }
.section-heading h2, .why-panel h2 { font-size: 26px; font-weight: 700; letter-spacing: .04em; margin-bottom: 8px; }
.section-subtitle { color: var(--muted); font-size: 12px; }
.property-heading-actions { display: flex; align-items: center; gap: 20px; }
.property-carousel-controls { position: absolute; z-index: 5; top: 50%; left: -18px; right: -18px; transform: translateY(-50%); display: flex; justify-content: space-between; pointer-events: none; }
.property-carousel-controls .carousel-control-prev, .property-carousel-controls .carousel-control-next { position: static; width: 42px; height: 42px; border-radius: 50%; opacity: 1; color: var(--ink); background: #fff; border: 1px solid #cbd6dc; box-shadow: 0 3px 12px #102b4920; pointer-events: auto; }
.property-carousel-controls .carousel-control-prev:hover, .property-carousel-controls .carousel-control-next:hover { color: white; background: var(--ink); }
.text-link { color: var(--ink); display: inline-flex; align-items: center; gap: 16px; font-size: 11px; font-weight: 700; border-bottom: 1px solid #becbd2; padding: 0 0 8px; transition: gap .2s; }
.text-link:hover { gap: 22px; color: var(--blue); }
.property-card { height: 100%; background: white; border: 1px solid #e6ecef; transition: transform .2s, box-shadow .2s; }
.property-card:hover { transform: translateY(-4px); box-shadow: 0 12px 30px #102b4912; }
.property-image { height: 205px; display: block; position: relative; overflow: hidden; background: #d9e3e8; }
.property-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s; }
.property-card:hover .property-image img { transform: scale(1.04); }
.property-type-badge { position: absolute; top: 12px; left: 12px; background: rgba(255,255,255,.94); padding: 6px 9px; color: var(--ink); font-size: 9px; font-weight: 700; }
.image-arrow { display: none; }
.property-body { padding: 15px 16px 16px; }
.property-location { color: #71818b; font-size: 10px; margin-bottom: 6px; }
.property-location i { color: var(--sand); margin-right: 4px; }
.property-body h3 { font-size: 14px; font-weight: 700; letter-spacing: .035em; margin-bottom: 7px; }
.property-price { color: var(--ink); font-size: 22px; font-weight: 700; font-family: "DM Sans", sans-serif; letter-spacing: .01em; }
.property-price span { font-family: var(--font); font-size: 11px; margin-left: 3px; }
.property-price.is-discount { display:flex; align-items:baseline; flex-wrap:wrap; gap:10px; }
.property-price.is-discount del { color:#8793a0; font-size:14px; font-weight:500; }
.property-price.is-discount del span { font-size:10px; }
.property-price .price-special { color:#b43e3c; font-size:22px; font-weight:800; }
.property-price .price-special span { font-size:11px; }
.summary-price.has-discount { display:flex; flex-direction:column; align-items:flex-start; gap:2px; }
.summary-price.has-discount del { color:#8793a0; font-size:17px; font-weight:500; }
.summary-price.has-discount .price-special { color:#b43e3c; font-family:"DM Sans",sans-serif; font-size:clamp(28px,3vw,38px); font-weight:800; }
.property-video { margin-top:30px; }
.property-video h2 { margin:0 0 14px; font-size:24px; font-weight:800; }
.property-video-frame { aspect-ratio:16/9; overflow:hidden; border:1px solid var(--line,#dce4e9); background:#eef3f6; }
.property-video-frame iframe { display:block; width:100%; height:100%; border:0; }
.property-meta { display: flex; gap: 12px; padding: 10px 0 7px; border-bottom: 1px solid #edf0f2; color: #62717c; font-size: 10px; }
.property-meta span + span { padding-left: 12px; border-left: 1px solid var(--line); }
.property-access { color: #62717c; font-size: 10px; margin: 8px 0 0; }
.property-details-link { display: inline-flex; align-items: center; gap: 10px; margin-top: 13px; padding-top: 10px; width: 100%; border-top: 1px solid #edf0f2; color: var(--ink); font-size: 11px; font-weight: 700; }
.property-details-link:hover, .property-body h3 a:hover { color: var(--blue); }
.property-types-section { background:#f5f8fa; }
.type-card { display:block; position:relative; height:220px; overflow:hidden; color:#fff; background:var(--ink); }
.type-card::after { content:""; position:absolute; inset:28% 0 0; background:linear-gradient(0deg,rgba(8,27,48,.88),transparent); }
.type-card img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.type-card:hover img { transform:scale(1.06); }
.type-card > span { position:absolute; z-index:1; left:17px; right:17px; bottom:15px; display:grid; grid-template-columns:1fr auto; align-items:end; gap:3px 12px; }
.type-card small { grid-column:1/-1; color:#d8e3e9; font:600 9px "DM Sans",sans-serif; letter-spacing:.15em; }
.type-card strong { font-size:15px; }
.type-card i { font-size:17px; }
.projects-section { background:#fff; }
.project-card { height:100%; overflow:hidden; background:#fff; border:1px solid #e1e8ec; }
.project-card > img { display:block; width:100%; height:190px; object-fit:cover; }
.project-card > div { padding:19px 20px 21px; }
.project-card small { color:#718694; font:600 9px "DM Sans",sans-serif; letter-spacing:.12em; }
.project-card h3 { min-height:52px; margin:9px 0; color:var(--ink); font-size:17px; font-weight:700; line-height:1.55; }
.project-card p { min-height:52px; margin:0 0 12px; color:#637681; font-size:12px; line-height:1.8; }
.project-card a { display:flex; justify-content:space-between; padding-top:12px; border-top:1px solid #e7ecef; color:var(--ink); font-size:12px; font-weight:700; }

.about-band { display: grid; grid-template-columns: 1fr 1fr; min-height: 380px; }
.about-photo { position: relative; min-height: 420px; overflow: hidden; color: white; background: var(--ink-deep); }
.about-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11,32,56,0) 0%, rgba(11,32,56,.04) 34%, rgba(38,67,91,.62) 52%, #274761 68%, #0b2038 100%); pointer-events: none; }
.about-photo img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.about-overlay { z-index: 2; position: absolute; top: 0; right: 0; bottom: 0; width: 44%; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; margin: 0; padding: 38px clamp(22px, 3vw, 44px); background: transparent; }
.about-overlay .eyebrow { color: #aebfcb; }
.about-overlay h2 { font-size: clamp(22px, 2.2vw, 31px); line-height: 1.6; letter-spacing: .05em; }
.about-overlay p:not(.eyebrow) { color: #e1e7eb; font-size: 13px; line-height: 2; margin: 12px 0 22px; }
.btn-light-outline { color: white; border: 1px solid rgba(255,255,255,.75); padding: 10px 14px; }
.btn-light-outline:hover { background: white; color: var(--ink); }
.why-panel { padding: 48px clamp(22px, 3vw, 44px); background: #f2f6f8; }
.why-heading { display: flex; align-items: baseline; flex-wrap: wrap; gap: 5px 16px; margin-bottom: 20px; }
.why-heading h2 { margin: 0; font-size: 23px; }
.why-heading .eyebrow { margin: 0; font-size: 8px; white-space: nowrap; }
.why-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.why-item { display: flex; align-items: flex-start; gap: 13px; min-width: 0; min-height: 145px; padding: 21px 17px; background: #fff; border: 1px solid #e2e9ed; box-shadow: 0 3px 12px rgba(16,43,73,.035); }
.why-item > i { flex: 0 0 34px; font-size: 30px; color: var(--ink); line-height: 1; }
.why-item strong, .why-item span { display: block; }
.why-item strong { font-size: 14px; line-height: 1.6; }
.why-item span { color: #657985; font-size: 11px; line-height: 1.55; margin-top: 3px; }
.why-item p { color: #71808a; font-size: 11px; line-height: 1.8; margin: 6px 0 0; }

.numbers-strip { background: #fff; border-bottom: 1px solid var(--line); padding-top: 14px; }
.number-cell { display: flex; flex-direction: column; justify-content: center; align-items: center; min-height: 120px; border-right: 1px solid var(--line); }
.number-cell:first-child { border-left: 1px solid var(--line); }
.number-cell strong { color: var(--ink); font-size: 32px; line-height: 1.2; font-weight: 700; }
.number-cell strong span { color: var(--sand); font-size: 18px; margin-left: 2px; }
.number-cell small { color: var(--muted); font-size: 12px; margin-top: 8px; }
.skyline-note { display: flex; min-height: 120px; flex-direction: column; justify-content: center; padding-left: 32px; color: #fff; background: linear-gradient(90deg,rgba(16,43,73,.79),rgba(16,43,73,.12)),url("../images/website/tokyo-skyline-hero.png") center 48%/cover; }
.skyline-note span { color: #d4e2eb; font-size: 9px; letter-spacing: .16em; line-height: 1.7; }
.skyline-note strong { font-size: 20px; letter-spacing: .08em; line-height: 1.45; margin-top: 5px; }

.news-section { padding-top: 68px; padding-bottom: 68px; }
.news-row { min-height: 64px; display: grid; grid-template-columns: 98px 82px 1fr 18px; align-items: center; gap: 12px; border-top: 1px solid #e9eef0; }
.news-row:last-child { border-bottom: 1px solid #e9eef0; }
.news-row time { font-family: "DM Sans",sans-serif; color: #647681; font-size: 12px; }
.news-category { justify-self: start; padding: 6px 8px; background: #f0f4f6; color: #526c7d; font-size: 10px; }
.news-row strong { font-size: 12px; line-height: 1.65; font-weight: 500; }
.news-row > i { color: #8ea0ab; font-size: 14px; }
.news-row:hover strong { color: var(--blue); }
.contact-card { min-height: 310px; height: 100%; position: relative; overflow: hidden; display: flex; align-items: center; padding: 36px 42px; color: var(--ink); background: linear-gradient(105deg,#f0f6f8 0%,rgba(241,247,249,.96) 53%,rgba(241,247,249,.3)),url("../images/website/real-estate-consultation.png") center/cover; }
.contact-copy { z-index: 1; position: relative; }
.contact-copy .eyebrow { margin-bottom: 11px; font-size: 10px; }
.contact-copy h2 { font-size: 28px; font-weight: 700; line-height: 1.55; }
.contact-copy p:not(.eyebrow) { color: #697984; font-size: 13px; line-height: 1.9; margin-bottom: 19px; }
.contact-illustration { position: absolute; right: 23px; bottom: -29px; font-size: 174px; color: rgba(16,43,73,.12); }

.site-footer { background: #f5f7f8; border-top: 1px solid var(--line); padding: 32px 0 20px; }
.footer-main { min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.footer-links { display: flex; gap: 20px; color: #52616b; font-size: 16px; }
.footer-links a:hover,.footer-bottom a:hover { color: var(--blue); }
.social-links { display: flex; align-items: center; gap: 15px; }
.social-links a { display: grid; place-items: center; color: var(--ink); font-size: 20px; transition: color .2s; }
.social-links a:hover { color: var(--blue); }
.footer-bottom { margin-top: 21px; padding-top: 13px; display: flex; justify-content: space-between; border-top: 1px solid #e1e7ea; color: #78868f; font-size: 11px; }
.footer-bottom div { display: flex; gap: 20px; }

/* Property details and inquiry form */
.inquiry-modal { border: 0; border-radius: 4px; box-shadow: 0 20px 60px rgba(8,31,50,.2); }
.inquiry-modal .modal-header { padding: 24px 28px 14px; border-bottom: 0; }
.inquiry-modal .modal-title { color: var(--ink); font-size: 24px; font-weight: 700; }
.inquiry-modal .modal-body { padding: 8px 28px 28px; }
.inquiry-modal .form-label { color: var(--ink); font-size: 13px; font-weight: 600; }
.inquiry-modal .form-control, .inquiry-modal .form-select { min-height: 46px; border-color: #d6e0e6; border-radius: 2px; font-size: 13px; }
.inquiry-modal textarea.form-control { min-height: auto; }
.required-mark { margin-left: 5px; color: #a34d42; font-size: 10px; font-weight: 500; }
.form-demo-note { color: #74838d; font-size: 11px; }
.inquiry-success { margin-bottom: 0; }
.property-detail-page { background: #fbfcfd; }
.property-detail-page .site-nav { position: sticky; }
.back-to-list { padding-bottom: 0; border: 0; }
.detail-main { padding-top: 20px; padding-bottom: 50px; }
.detail-breadcrumb { margin-bottom: 18px; }
.detail-breadcrumb .breadcrumb { margin: 0; font-size: 11px; }
.detail-breadcrumb a { color: #5c7180; }
.detail-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin-bottom: 22px; }
.detail-heading h1 { color: var(--ink); font-size: clamp(26px, 3vw, 36px); font-weight: 700; letter-spacing: .03em; margin-bottom: 7px; }
.detail-address { color: #6a7a84; font-size: 12px; margin: 0; }
.detail-address i { color: var(--sand); }
.status-badge { flex: 0 0 auto; padding: 8px 12px; color: #245d4a; background: #e5f2eb; font-size: 11px; font-weight: 700; }
.status-badge[data-status="商談中"] { color: #8b6225; background: #f8efd9; }
.detail-gallery { overflow: hidden; background: #e4ebef; }
.detail-gallery .carousel-item img { width: 100%; height: clamp(300px, 40vw, 480px); object-fit: cover; }
.detail-gallery .carousel-indicators { margin-bottom: 10px; }
.detail-gallery .carousel-indicators [data-bs-target] { width: 8px; height: 8px; border: 0; border-radius: 50%; }
.detail-gallery .carousel-control-prev, .detail-gallery .carousel-control-next { width: 12%; }
.photo-caption { margin: 8px 0 0; color: #788690; font-size: 10px; text-align: right; }
.detail-summary { height: 100%; padding: 27px 28px; background: white; border: 1px solid #e1e8ec; }
.summary-type { color: #567286; font-size: 12px; font-weight: 700; }
.summary-price-label { color: #71808a; font-size: 11px; margin: 18px 0 3px; }
.summary-price { color: var(--ink); font-size: clamp(28px, 3vw, 38px); font-weight: 700; font-family: "DM Sans", sans-serif; }
.summary-rule { margin: 18px 0 9px; border-top: 1px solid #e6ecef; }
.summary-stat { display: flex; justify-content: space-between; gap: 14px; padding: 12px 0; border-bottom: 1px solid #edf0f2; }
.summary-stat span { color: #72818a; font-size: 11px; }
.summary-stat strong { color: var(--ink); font-size: 12px; text-align: right; }
.detail-section { padding-top: 55px; }
.detail-section h2 { color: var(--ink); font-size: 23px; font-weight: 700; margin-bottom: 15px; }
.detail-description { color: #536874; font-size: 13px; line-height: 1.9; margin-bottom: 22px; }
.detail-table { margin: 0; border-top: 1px solid #e2e9ed; }
.detail-table th, .detail-table td { padding: 13px 14px; border-color: #e8edef; font-size: 12px; }
.detail-table th { width: 32%; color: #647680; font-weight: 500; background: #f5f8f9; }
.detail-table td { color: #233b4d; }
.access-card { height: 100%; padding: 25px; background: white; border: 1px solid #e1e8ec; }
.access-route { display: flex; align-items: flex-start; gap: 13px; padding: 15px 0 22px; }
.access-route > i { color: var(--blue); font-size: 24px; }
.access-route strong, .access-route span { display: block; }
.access-route strong { color: var(--ink); font-size: 13px; line-height: 1.7; }
.access-route span { color: #75848d; font-size: 11px; margin-top: 5px; }
.map-placeholder { min-height: 170px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; color: #537287; background: linear-gradient(135deg,#e8f1f5,#d9e8ef); }
.map-placeholder > i { font-size: 28px; }
.map-placeholder span { color: var(--ink); font-size: 12px; font-weight: 700; }
.map-placeholder a { color: var(--blue); font-size: 10px; }
.detail-cta { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 48px; padding: 30px 36px; color: white; background: var(--ink); }
.detail-cta .eyebrow { color: #b9cbd6; margin-bottom: 8px; }
.detail-cta h2 { font-size: 22px; line-height: 1.5; }
.detail-cta p:not(.eyebrow) { color: #d1dde4; font-size: 12px; margin: 7px 0 0; }
.detail-cta .btn { flex: 0 0 auto; }
.sample-data-note { margin: 17px 0 0; color: #87939b; font-size: 10px; }
.property-not-found { padding: 90px 15px; text-align: center; }
.property-not-found h1 { color: var(--ink); font-size: 26px; }
.property-not-found p { color: #6c7b85; margin: 12px 0 22px; }

/* Search, editorial, about and service pages */
.content-page { padding-top: 52px; padding-bottom: 72px; }
.page-heading { margin-bottom: 34px; }
.content-page > .page-heading { position:relative; isolation:isolate; min-height:220px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; margin:0 0 38px; padding:34px clamp(24px,4vw,58px); overflow:hidden; color:#fff; background:linear-gradient(90deg,rgba(9,31,55,.92),rgba(16,53,79,.72) 57%,rgba(16,53,79,.22)),url("../images/website/tokyo-skyline-hero.png") center 43%/cover; }
.content-page > .page-heading .eyebrow { color:#d4e2e9; }
.content-page > .page-heading h1 { color:#fff; font-size:clamp(32px,4vw,46px); }
.content-page > .page-heading > p:last-child { max-width:680px; color:#e0e9ee; font-size:14px; }
.page-heading h1 { color: var(--ink); font-size: clamp(30px, 3vw, 38px); font-weight: 700; letter-spacing: .045em; margin: 0 0 10px; }
.page-heading > p:last-child { color: #657680; font-size: 13px; line-height: 1.8; margin-bottom: 0; }
.search-panel { padding: 25px 28px 28px; background: #f0f5f7; border: 1px solid #e1e9ed; }
.search-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.search-panel-heading h2 { color: var(--ink); font-size: 19px; font-weight: 700; margin: 0; }
.reset-filters { color: #607887; font-size: 11px; text-decoration: none; }
.property-search-form .form-label, .inquiry-page-form .form-label { color: #344d5e; font-size: 12px; font-weight: 600; }
.property-search-form .form-control, .property-search-form .form-select, .inquiry-page-form .form-control, .inquiry-page-form .form-select { min-height: 44px; border-color: #d4dfe5; border-radius: 2px; font-size: 12px; }
.range-fields { display: flex; align-items: center; gap: 8px; }
.range-fields .form-control { min-width: 0; }
.range-fields > span { color: #81909a; }
.search-submit { min-height: 44px; }
.search-results { padding-top: 28px; }
.results-toolbar { display: flex; align-items: center; justify-content: space-between; padding-bottom: 14px; margin-bottom: 17px; border-bottom: 1px solid #e2e9ed; color: #6c7b85; font-size: 12px; }
.results-toolbar strong { color: var(--ink); font-size: 17px; }
.sort-control { display: flex; align-items: center; gap: 10px; }
.sort-control .form-select { width: auto; min-width: 155px; border-radius: 2px; }
.listing-status { display: inline-block; margin-top: 10px; padding: 4px 7px; color: #286148; background: #e6f1eb; font-size: 9px; }
.listing-status.is-negotiating { color: #8a6228; background: #f7f0dd; }
.listing-status.is-sold { color: #fff; background: #7c3540; }
.property-image .listing-status { position: absolute; top: 12px; right: 12px; z-index: 2; margin: 0; padding: 6px 9px; font-size: 10px; font-weight: 700; }
.no-results { padding: 55px 20px; text-align: center; color: #6b7b85; }
.no-results > i { font-size: 32px; color: #91a4af; }
.no-results h2 { margin-top: 12px; color: var(--ink); font-size: 19px; }
.no-results p { font-size: 12px; }
.property-details-page-title { margin-bottom: 10px; }

.inquiry-page-card { padding: 32px; background: white; border: 1px solid #e0e8ec; box-shadow: 0 8px 28px rgba(16,43,73,.04); }
.inquiry-page-form .form-label { margin-bottom: 8px; }
.inquiry-page-form textarea.form-control { min-height: 150px; }
.inquiry-page-form .inquiry-submit { min-width: 245px; }
.fixed-property-value { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 10px 13px; color: var(--ink); background: #f0f5f7; border: 1px solid #dce6eb; font-size: 13px; font-weight: 600; }
.fixed-property-value i { color: var(--blue); font-size: 18px; }
.optional-mark { margin-left: 5px; color: #7c8a93; font-size: 10px; font-weight: 400; }
.inquiry-aside { position: sticky; top: 110px; padding: 28px; color: white; background: var(--ink); }
.inquiry-aside > i { color: #c9ad79; font-size: 28px; }
.inquiry-aside h2 { margin: 14px 0 12px; font-size: 22px; line-height: 1.6; }
.inquiry-aside p { color: #d1dce3; font-size: 12px; line-height: 1.8; }
.inquiry-aside div { display: flex; flex-direction: column; gap: 4px; padding-top: 13px; margin-top: 13px; border-top: 1px solid #ffffff2b; }
.inquiry-aside div span { color: #b8c8d2; font-size: 10px; }
.inquiry-aside div strong { font-size: 12px; }
.inquiry-success { padding: 30px; }
.inquiry-success h2 { color: #245d4a; font-size: 21px; }
.inquiry-success p { color: #486c5e; font-size: 13px; }

.gallery-thumbnails { display: flex; gap: 9px; margin-top: 11px; overflow-x: auto; padding: 2px 1px 5px; }
.gallery-thumbnail { flex: 0 0 92px; height: 64px; padding: 0; overflow: hidden; background: white; border: 2px solid transparent; opacity: .72; }
.gallery-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.gallery-thumbnail:hover, .gallery-thumbnail.active { opacity: 1; border-color: var(--blue); }
.detail-photo { cursor: zoom-in; }
.photo-zoom-modal .modal-content { position: relative; background: transparent; border: 0; }
.photo-zoom-modal .modal-content > img { display: block; max-width: 100%; max-height: 90vh; margin: auto; object-fit: contain; }
.photo-zoom-close { position: absolute; z-index: 2; top: -42px; right: 0; width: 36px; height: 36px; color: white; background: #102b49cc; border: 0; border-radius: 50%; }

.news-page-layout { display: grid; grid-template-columns: 230px minmax(0,1fr); gap: 42px; }
.news-filter { align-self: start; padding: 21px; background: #f0f5f7; }
.news-filter h2 { color: var(--ink); font-size: 16px; margin: 0 0 12px; }
.news-filter-button { display: flex; justify-content: space-between; width: 100%; padding: 12px 0; color: #536976; background: transparent; border: 0; border-top: 1px solid #dce5e9; text-align: left; font-size: 12px; }
.news-filter-button span { color: #8a989f; }
.news-filter-button.active { color: var(--blue); font-weight: 700; }
.news-article { padding: 24px 0 27px; border-bottom: 1px solid #dfe7eb; }
.news-article:first-child { padding-top: 0; }
.news-article-meta { display: flex; align-items: center; gap: 12px; color: #75848d; font-size: 11px; }
.news-article h2 { margin: 13px 0 9px; color: var(--ink); font-size: 20px; font-weight: 700; }
.news-article p { color: #62737e; font-size: 13px; line-height: 1.9; }
.news-article .text-link { margin-top: 5px; }

.about-page-hero { position: relative; min-height: 360px; display: flex; align-items: center; padding: 40px; color: white; overflow: hidden; background: var(--ink); }
.about-page-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(11,32,56,.89),rgba(11,32,56,.65) 53%,rgba(11,32,56,.1)); }
.about-page-hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.about-page-hero > div { position: relative; z-index: 1; max-width: 590px; }
.about-page-hero .eyebrow { color: #c6d5dd; }
.about-page-hero h2 { font-size: clamp(28px,4vw,42px); line-height: 1.55; }
.about-page-hero p:not(.eyebrow) { color: #e1e8ec; font-size: 13px; line-height: 1.9; }
.about-story { display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; padding: 58px 0; border-bottom: 1px solid #dfe7eb; }
.about-story h2, .about-values h2, .about-company h2 { color: var(--ink); font-size: 25px; font-weight: 700; }
.about-story > div:nth-child(2) p { color: #5d707b; font-size: 13px; line-height: 2; }
.about-values, .about-company { padding-top: 48px; }
.about-values article { height: 100%; padding: 25px; background: white; border: 1px solid #e1e8ec; }
.about-values article > i { color: var(--blue); font-size: 28px; }
.about-values article h3 { margin: 14px 0 8px; color: var(--ink); font-size: 15px; }
.about-values article p { margin: 0; color: #6e7d86; font-size: 12px; line-height: 1.8; }
.about-company .table { max-width: 850px; }

.service-feature { display: grid; grid-template-columns: 1fr 1fr; min-height: 360px; background: #eff4f6; }
.service-feature-photo { min-height: 360px; background-position: center; background-size: cover; }
.service-feature-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(28px,5vw,62px); }
.service-feature-copy h2 { color: var(--ink); font-size: clamp(22px,2.5vw,30px); line-height: 1.6; }
.service-feature-copy p:not(.eyebrow) { color: #5f727e; font-size: 13px; line-height: 2; margin: 12px 0 20px; }
.service-detail-section { padding: 55px 0; }
.service-detail-section > h2 { margin-bottom: 22px; color: var(--ink); font-size: 25px; }
.service-benefit-card { position: relative; height: 100%; min-height: 190px; padding: 23px; background: white; border: 1px solid #e0e8ec; }
.service-step { position: absolute; top: 18px; right: 20px; color: #c3d0d7; font: 600 11px "DM Sans",sans-serif; letter-spacing: .1em; }
.service-benefit-card > i { color: var(--blue); font-size: 27px; }
.service-benefit-card > .service-benefit-icon-image { display:block; width:38px; height:38px; object-fit:contain; }
.service-benefit-card h3 { margin: 15px 0 8px; color: var(--ink); font-size: 15px; }
.service-benefit-card p { margin: 0; color: #6b7c86; font-size: 12px; line-height: 1.8; }
.service-process { display: grid; grid-template-columns: .8fr 1.2fr; gap: 50px; padding: 32px; background: var(--ink); color: white; }
.service-process .eyebrow { color: #c2d0d8; }
.service-process h2 { font-size: 23px; }
.service-process p:not(.eyebrow) { color: #cbd8df; font-size: 12px; line-height: 1.8; }
.service-process ol { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; padding: 0; list-style: none; }
.service-process li { display: flex; flex-direction: column; justify-content: center; gap: 8px; min-height: 82px; padding: 15px; background: #ffffff12; }
.service-process li span { color: #c9ad79; font: 600 9px "DM Sans",sans-serif; letter-spacing: .1em; }
.service-process li strong { font-size: 12px; }
.service-page-cta { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 35px 0 0; }
.service-page-cta h2 { margin: 0; color: var(--ink); font-size: 22px; }
.service-directory-card { display: flex; flex-direction: column; align-items: flex-start; height: 100%; min-height: 240px; padding: 27px; color: inherit; background: #fff; border: 1px solid #e0e8ec; transition: transform .2s, box-shadow .2s; }
.service-directory-card:hover { color: inherit; transform: translateY(-3px); box-shadow: 0 12px 30px rgba(16,43,73,.08); }
.service-directory-card > i { margin-bottom: 17px; color: var(--blue); font-size: 30px; }
.service-directory-card .eyebrow { margin-bottom: 5px; font-size: 8px; }
.service-directory-card h2 { color: var(--ink); font-size: 21px; font-weight: 700; }
.service-directory-card p { color: #6b7b85; font-size: 12px; line-height: 1.8; }
.service-directory-card .text-link { margin-top: auto; padding-top: 8px; }

@media (max-width: 1199.98px) {
  .site-nav { min-height:72px; }
  .navbar-collapse { padding:12px 0 18px; }
  .navbar-nav .nav-link { padding:8px 0!important; align-items:flex-start; }
  .navbar-nav .nav-link::after { display:none; }
  .nav-actions { margin-top:12px; align-items:flex-start!important; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  .hero-search-wrap { position:relative; bottom:auto; padding-bottom:20px; }
  .home-search { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-search-title,.home-search .btn { grid-column:1/-1; }
}
@media (max-width: 991.98px) {
  .site-nav { min-height: 72px; }
  .navbar-collapse { padding: 12px 0 18px; }
  .navbar-nav .nav-link { padding: 8px 0!important; align-items: flex-start; }
  .navbar-nav .nav-link::after { display: none; }
  .nav-actions { margin-top: 12px; }
  .min-vh-hero { min-height: 440px; }
  .hero-shade { background: linear-gradient(90deg,rgba(242,248,250,.97),rgba(242,248,250,.83) 54%,rgba(242,248,250,.25)); }
  .service-link { min-height: 82px; }
  .quick-services .col-6:nth-child(n+3) .service-link { border-top: 1px solid var(--line); }
  .quick-services .col-6:nth-child(odd) .service-link { border-left: 1px solid var(--line); }
  .about-band { grid-template-columns: 1fr; }
  .about-photo { min-height: 400px; }
  .about-overlay { padding: 28px; }
  .why-panel { padding: 47px max(26px, calc((100vw - 720px)/2)); }
  .skyline-note { padding-left: 25px; }
  .footer-main { flex-wrap: wrap; }
  .home-search { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-search-title,.home-search .btn { grid-column:1/-1; }
  .hero-search-wrap { bottom:16px; }
  .hero { padding-bottom:170px; }
}
@media (max-width: 575.98px) {
  .brand-mark { width: 36px; height: 36px; font-size: 20px; }
  .site-nav .brand-mark { width: 38px; height: 38px; font-size: 22px; }
  .brand-copy strong { font-size: 14px; }
  .site-nav .brand-copy strong { font-size: 16px; }
  .hero-photo { background-position: 58% center; }
  .hero-shade { background: linear-gradient(90deg,rgba(242,248,250,.97),rgba(242,248,250,.85) 70%,rgba(242,248,250,.45)); }
  .min-vh-hero { min-height: 435px; padding-bottom:30px; }
  .hero h1 { font-size: 36px; }
  .hero-lead { font-size: 12px; }
  .hero-note { margin-top: 24px; font-size: 9px; }
  .hero-index { color: var(--ink); text-shadow: none; right: 20px; }
  .service-link { min-height: 80px; padding: 12px 10px; gap: 8px; }
  .service-icon { font-size: 24px; }
  .service-link strong { font-size: 11px; }
  .service-link small { font-size: 8px; }
  .service-arrow { display: none; }
  .section-space { padding: 54px 0; }
  .section-heading h2, .why-panel h2 { font-size: 22px; }
  .section-subtitle { font-size: 10px; }
  .property-heading-actions { gap: 0; }
  .property-carousel-controls { left: -7px; right: -7px; }
  .property-carousel-controls .carousel-control-prev, .property-carousel-controls .carousel-control-next { width: 34px; height: 34px; }
  .property-image { height: 190px; }
  .about-photo { min-height: 0; display: flex; flex-direction: column; }
  .about-photo::after { display: none; }
  .about-photo img { position: relative; inset: auto; width: 100%; height: 240px; }
  .about-overlay { position: relative; width: 100%; padding: 30px 25px; background: linear-gradient(90deg, #55748a 0%, #2b4b64 48%, #0b2038 100%); }
  .about-overlay h2 { font-size: 24px; }
  .why-heading { gap: 2px 10px; margin-bottom: 16px; }
  .why-heading h2 { font-size: 19px; }
  .why-grid { gap: 9px; }
  .why-item { min-height: 150px; gap: 8px; padding: 16px 10px; }
  .why-item > i { flex-basis: 25px; font-size: 21px; }
  .why-item strong { font-size: 11px; }
  .why-item span, .why-item p { font-size: 9px; }
  .numbers-strip { padding-top: 10px; }
  .number-cell { min-height: 96px; }
  .number-cell strong { font-size: 24px; }
  .number-cell strong span { font-size: 14px; }
  .number-cell small { font-size: 10px; text-align: center; padding: 0 3px; }
  .skyline-note { min-height: 96px; padding-left: 18px; }
  .skyline-note span { font-size: 7px; }
  .skyline-note strong { font-size: 16px; }
  .news-row { grid-template-columns: 78px 64px 1fr 12px; gap: 7px; min-height: 62px; }
  .news-row time { font-size: 10px; }
  .news-category { font-size: 9px; }
  .news-row strong { font-size: 10px; line-height: 1.6; }
  .contact-card { padding: 27px 24px; min-height: 270px; }
  .contact-illustration { right: -9px; font-size: 140px; }
  .contact-copy h2 { font-size: 25px; }
  .contact-copy p:not(.eyebrow) { font-size: 12px; }
  .footer-main { justify-content: center; text-align: center; }
  .footer-links { order: 3; width: 100%; justify-content: center; flex-wrap: wrap; gap: 11px 17px; }
  .footer-bottom { flex-direction: column; align-items: center; gap: 12px; }
  .hero { padding-bottom:265px; }
  .hero-search-wrap { bottom:14px; }
  .home-search { grid-template-columns:1fr; gap:9px; padding:13px; }
  .home-search-title,.home-search .btn { grid-column:auto; }
  .home-search label { gap:4px; }
  .type-card { height:170px; }
  .type-card > span { left:11px; right:11px; bottom:11px; }
  .type-card strong { font-size:12px; }
  .project-card h3,.project-card p { min-height:0; }
}

/* Full-screen mobile navigation based on the supplied menu reference. */
.mobile-menu-header,.mobile-menu-contacts,.mobile-menu-social,.mobile-project-link { display:none; }
@media (max-width: 1199.98px) {
  .site-nav:has(.navbar-collapse.show),.site-nav:has(.navbar-collapse.collapsing) { z-index: 1055; }
  .site-nav:has(.navbar-collapse.show) .navbar-toggler,.site-nav:has(.navbar-collapse.collapsing) .navbar-toggler { visibility:hidden; }
  .site-nav .navbar-collapse.show,.site-nav .navbar-collapse.collapsing {
    position:fixed; inset:0; z-index:1060; display:flex; flex-direction:column; align-items:stretch;
    width:100vw; height:100dvh!important; max-height:100dvh; overflow-y:auto!important; margin:0; padding:calc(22px + env(safe-area-inset-top)) 24px calc(22px + env(safe-area-inset-bottom));
    color:#fff; background:linear-gradient(145deg,rgba(17,57,91,.94),rgba(5,31,57,.98));
    -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
    transition:none!important;
  }
  .mobile-menu-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; }
  .site-nav .mobile-menu-header .navbar-brand { color:#fff; margin:0; }
  .site-nav .mobile-menu-header .brand-mark { width:40px;height:40px; }
  .site-nav .mobile-menu-header .brand-copy strong { font-size:14px; }
  .site-nav .mobile-menu-header .brand-copy small { font-size:8px; }
  .mobile-menu-close { display:grid; place-items:center; width:42px;height:42px;padding:0;border:0;background:transparent;color:#fff;font-size:22px; }
  .site-nav .navbar-collapse.show .navbar-nav { width:100%; margin:0!important; }
  .site-nav .navbar-collapse.show .navbar-nav .nav-item { border:0; }
  .site-nav .navbar-collapse.show .navbar-nav .nav-link { display:flex; flex-direction:row;align-items:center;justify-content:space-between;min-height:37px;padding:6px 0!important;color:#fff;font-size:15px;font-weight:700;letter-spacing:.035em; }
  .site-nav .navbar-collapse.show .navbar-nav .nav-link::after { display:block; position:static; width:8px;height:8px; flex:0 0 8px; border-top:1.5px solid #fff;border-right:1.5px solid #fff;background:none;transform:rotate(45deg); }
  .mobile-project-link { display:block; }
  .site-nav .navbar-collapse.show .nav-actions { display:flex!important; justify-content:center; margin:20px 0 16px!important; padding-top:19px; border-top:1px solid rgba(255,255,255,.28); }
  .site-nav .navbar-collapse.show .language-control { color:#fff; }
  .site-nav .navbar-collapse.show .language-option { color:rgba(255,255,255,.78); }
  .site-nav .navbar-collapse.show .language-option.active { color:#fff; }
  .site-nav .navbar-collapse.show .nav-actions > a { display:none; }
  .mobile-menu-contacts { display:grid; gap:10px; }
  .mobile-contact-button { display:flex;align-items:center;justify-content:center;gap:15px;min-height:45px;border:1px solid rgba(255,255,255,.55);border-radius:7px;color:#fff;font-size:13px;font-weight:700; }
  .mobile-contact-button i { font-size:18px; }
  .mobile-menu-social { display:flex;justify-content:center;gap:23px;margin-top:18px; }
  .mobile-menu-social a { color:#fff;font-size:21px; }
}

@media (max-width: 767.98px) {
  .detail-main { padding-top: 14px; }
  .detail-heading { align-items: flex-start; }
  .detail-summary { padding: 22px; }
  .detail-section { padding-top: 40px; }
  .detail-cta { align-items: flex-start; flex-direction: column; padding: 25px; }
}

/* Reference inspired homepage */
.reference-home { background:#fff; }
.reference-home .topline { display:none; }
.reference-home .site-nav { min-height:66px; }
.reference-home .site-nav .brand-mark { width:38px; height:38px; }
.reference-home .site-nav .brand-copy strong { font-size:16px; }
.reference-home .site-nav .brand-copy small { font-size:9px; }
.reference-home .navbar-nav .nav-link { padding:.7rem .42rem!important; color:#142c49; font-size:11px; }
.reference-home .navbar-nav .nav-link::after { bottom:7px; }
.reference-home .language-picker { font-size:10px; }
.reference-home .site-nav .btn { font-size:12px; }
.reference-hero { min-height:442px; }
.reference-hero .hero-photo { background-position:center 49%; }
.reference-hero .hero-shade { background:linear-gradient(90deg,rgba(244,249,252,.97),rgba(244,249,252,.86) 38%,rgba(244,249,252,.18) 75%,rgba(244,249,252,.04)); }
.reference-hero .min-vh-hero { min-height:330px; padding:22px 0 125px; }
.reference-hero .hero-content .col-lg-7 { text-align:left; }
.reference-hero .eyebrow { margin-bottom:15px; font-size:11px; letter-spacing:.1em; }
.reference-hero .eyebrow span { display:none; }
.reference-hero h1 { max-width:560px; margin-bottom:12px; font-size:clamp(36px,4vw,52px); line-height:1.42; }
.reference-hero .hero-lead { max-width:670px; font-size:18px; font-weight:600; line-height:1.8; color:#233f5f; }
.reference-mascot-wrap { position:relative; min-height:300px; align-self:stretch; }
.hero-mascot { position:absolute; right:-10px; bottom:-77px; width:min(47%,230px); max-height:335px; object-fit:contain; object-position:bottom; filter:drop-shadow(0 8px 6px #0a244722); }
.mascot-message { position:absolute; top:33px; right:26px; z-index:1; transform:rotate(-8deg); color:#142c49; font-size:21px; font-weight:800; line-height:1.5; letter-spacing:.08em; }
.mascot-message span { display:block; margin-top:4px; padding-top:5px; border-top:2px solid #142c49; font:700 14px/1.25 "DM Sans",sans-serif; letter-spacing:.03em; }
.reference-search-wrap { bottom:-1px; }
.search-tabs { display:flex; align-items:stretch; width:min(80%,980px); min-height:53px; overflow:hidden; background:rgba(255,255,255,.97); border:1px solid #e0e8ef; border-bottom:0; box-shadow:0 5px 18px #102b4912; }
.search-tabs a { display:flex; flex:1; align-items:center; justify-content:center; gap:8px; padding:10px 12px; color:#263e58; border-right:1px solid #e6edf2; font-size:11px; font-weight:700; white-space:nowrap; }
.search-tabs a:last-child { border-right:0; }
.search-tabs a i { font-size:18px; }
.search-tabs a.active { color:#fff; background:#102b49; }
.reference-search { grid-template-columns:1fr 1fr 1fr 1fr 1.2fr auto; gap:9px; padding:12px; border-radius:0 4px 4px 4px; box-shadow:0 12px 25px #102b4922; }
.reference-search label { gap:4px; font-size:10px; }
.reference-search input,.reference-search select { height:42px; padding:0 9px; font-size:11px; }
.reference-search .home-price-range { gap:5px; }
.reference-search .home-price-range input { width:calc(50% - 9px); }
.reference-search .btn { height:42px; font-size:11px; }
.advanced-search { grid-column:6; justify-self:end; margin-top:-4px; color:#344f69; font-size:10px; font-weight:700; }
.advanced-search i { margin-left:6px; font-size:13px; }
.reference-services { background:#fff; border-bottom:0; }
.reference-services .service-link { min-height:122px; flex-direction:column; justify-content:center; gap:6px; padding:14px 9px; text-align:center; border-color:#e3ebf0; }
.reference-services .service-icon { color:#102b49; font-size:32px; }
.reference-services .service-link strong { margin-bottom:3px; font-size:14px; }
.reference-services .service-link small { font-size:11px; line-height:1.5; }
.reference-services .service-arrow { display:none; }
.reference-heading { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 15px; }
.reference-heading h2 { margin:0; color:#102b49; font-size:23px; font-weight:800; }
.reference-heading > span { color:#8395a5; font:500 11px "DM Sans",sans-serif; letter-spacing:.11em; }
.reference-home .section-space { padding:28px 0; }
.reference-properties { background:#fff; }
.reference-home .section-heading { margin-bottom:14px!important; }
.reference-home .text-link { gap:10px; padding-bottom:4px; border:0; font-size:11px; }
.reference-property-card { border-color:#e7edf2; border-radius:4px; box-shadow:0 2px 9px #102b4909; }
.reference-property-card .property-image { height:158px; }
.reference-property-card .property-image img { object-fit:cover; }
.reference-property-card .property-type-badge { top:9px; left:9px; padding:5px 8px; border-radius:3px; font-size:10px; }
.reference-property-card .second-badge { left:111px; }
.reference-property-card .favorite { position:absolute; top:8px; right:8px; display:grid; width:25px; height:25px; place-items:center; color:#102b49; background:#fff; border-radius:50%; font-size:14px; }
.reference-property-card .property-body { padding:10px 13px 12px; }
.reference-property-card .property-location { margin-bottom:2px; color:#667b8f; font-size:10px; }
.reference-property-card .property-body h3 { margin:2px 0 3px; font-size:15px; }
.reference-property-card .property-price { font-size:20px; }
.reference-property-card .property-price span { font-size:13px; }
.reference-property-card .property-meta { gap:8px; padding:7px 0 4px; font-size:10px; }
.reference-property-card .property-meta span+span { padding-left:8px; }
.reference-property-card .property-access { margin-top:5px; font-size:10px; }
.reference-property-card .property-details-link { justify-content:center; margin-top:8px; padding:7px 8px; border:1px solid #aabaca; border-radius:3px; font-size:11px; }
.reference-property-card .property-details-link i { margin-left:3px; }
.reference-types { background:#fff; }
.reference-types .type-card { height:150px; border:1px solid #e6ebef; border-radius:4px; color:#102b49; }
.reference-types .type-card::after { inset:38% 0 0; background:linear-gradient(0deg,rgba(255,255,255,.99),rgba(255,255,255,.74) 40%,transparent); }
.reference-types .type-card img { height:100%; }
.reference-types .type-card > span { left:14px; right:14px; bottom:12px; }
.reference-types .type-card small { color:#7c8d9a; font-size:10px; letter-spacing:0; }
.reference-types .type-card strong { font-size:14px; }
.reference-types .type-card i { width:31px; height:31px; display:grid; place-items:center; border:1px solid #ccd7df; border-radius:50%; }
.reference-projects { background:#fff; }
.reference-project-card img { height:106px; }
.reference-project-card > div { padding:8px 11px 10px; }
.reference-project-card h3 { min-height:0; margin:0 0 3px; font-size:13px; }
.reference-project-card p { min-height:0; margin:0; color:#667b8f; font-size:10px; line-height:1.55; }
.hotel-promo { position:relative; height:100%; min-height:180px; overflow:hidden; border-radius:4px; background:#edf1f1; }
.hotel-promo::after { position:absolute; inset:0; content:""; background:linear-gradient(90deg,rgba(247,246,241,.98),rgba(247,246,241,.91) 52%,rgba(247,246,241,.08)); }
.hotel-promo>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hotel-promo>div { position:relative; z-index:1; padding:18px 20px; }
.hotel-promo h3 { margin:0 0 9px; font-size:18px; font-weight:800; line-height:1.5; }
.hotel-promo p { margin-bottom:11px; color:#50657a; font-size:10px; line-height:1.7; }
.hotel-promo .btn { padding:7px 10px; font-size:10px; background:#fff; }
.reference-news { padding-top:28px!important; padding-bottom:24px!important; }
.reference-news .news-row { min-height:41px; grid-template-columns:85px 68px 1fr; gap:10px; }
.reference-news .news-row time { font-size:11px; }
.reference-news .news-row strong { font-size:11px; }
.reference-news .news-row>i { display:none; }
.reference-news .news-category { padding:5px 8px; border-radius:3px; background:#edf4fa; font-size:10px; }
.sale-banner { position:relative; display:flex; min-height:205px; height:100%; align-items:center; overflow:hidden; padding:22px 24px; border-radius:4px; background:linear-gradient(90deg,rgba(220,240,250,.96),rgba(230,243,249,.74) 64%,rgba(230,243,249,.15)),url("../images/website/tokyo-skyline-hero.png") center/cover; }
.sale-banner h2 { margin:0 0 7px; font-size:18px; font-weight:800; }
.sale-banner p { margin:0 0 10px; color:#455f78; font-size:11px; line-height:1.7; }
.sale-banner .btn-gold { color:#17304c; background:#e7c979; border-color:#e7c979; font-size:10px; font-weight:800; }
.sale-banner>img { position:absolute; right:4px; bottom:-25px; width:115px; height:160px; object-fit:contain; object-position:bottom; }
.reference-news .section-heading { margin-bottom:10px!important; }
.reference-news .section-heading .reference-heading h2 { font-size:20px; }
.reference-home .site-footer { padding:24px 0 16px; }
.reference-home .footer-main { min-height:48px; }
.reference-home .footer-links { font-size:10px; }
.reference-home .footer-address { margin-top:10px; color:#c3d1dc; font-size:10px; }
.reference-home .footer-bottom { margin-top:12px; padding-top:10px; font-size:10px; }
@media(max-width:1199.98px) {
  .reference-search { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .reference-search .btn { grid-column:span 2; }
  .advanced-search { grid-column:3; align-self:center; }
  .search-tabs { width:100%; }
  .reference-home .site-nav .navbar-collapse { padding:12px 0 16px; }
}
@media(max-width:991.98px) {
  .reference-hero .min-vh-hero { min-height:300px; padding-bottom:185px; }
  .reference-hero h1 { font-size:42px; }
  .reference-search-wrap { bottom:0; }
  .reference-search { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .reference-services .service-link { min-height:104px; }
  .reference-home .section-space { padding:24px 0; }
  .reference-project-card img { height:130px; }
}
@media(max-width:575.98px) {
  .reference-home .site-nav { min-height:62px; }
  .reference-home .site-nav .brand-mark { width:34px; height:34px; }
  .reference-home .site-nav .brand-copy strong { font-size:14px; }
  .reference-home .site-nav .brand-copy small { font-size:8px; }
  .reference-hero { padding-bottom:0; }
  .reference-hero .min-vh-hero { min-height:295px; padding:24px 0 15px; }
  .reference-hero h1 { font-size:34px; }
  .reference-hero .eyebrow { font-size:8px; }
  .reference-hero .hero-lead { max-width:355px; font-size:12px; }
  .reference-search-wrap { position:relative; padding-bottom:12px; }
  .search-tabs { min-height:45px; overflow-x:auto; }
  .search-tabs a { flex:0 0 auto; gap:5px; padding:8px 10px; font-size:9px; }
  .search-tabs a i { font-size:15px; }
  .reference-search { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:10px; }
  .reference-search label { font-size:9px; }
  .reference-search input,.reference-search select { height:38px; font-size:10px; }
  .reference-search label:nth-of-type(5) { grid-column:1/-1; }
  .reference-search .btn { grid-column:1/-1; min-height:38px; }
  .advanced-search { grid-column:1/-1; justify-self:end; }
  .reference-services .service-link { min-height:96px; }
  .reference-services .service-icon { font-size:26px; }
  .reference-services .service-icon img { width:46px; height:46px; }
  .reference-services .service-link strong { font-size:11px; }
  .reference-services .service-link small { font-size:9px; }
  .reference-heading h2 { font-size:18px; }
  .reference-heading>span { font-size:8px; }
  .reference-home .section-heading { align-items:center!important; }
  .reference-home .section-heading .text-link { font-size:9px; }
  .reference-property-card .property-image { height:130px; }
  .reference-property-card .property-body { padding:9px; }
  .reference-property-card .property-body h3 { font-size:13px; }
  .reference-property-card .property-price { font-size:17px; }
  .reference-property-card .property-meta { font-size:8px; }
  .reference-property-card .property-access { font-size:9px; }
  .reference-property-card .property-details-link { font-size:10px; }
  .reference-types .type-card { height:128px; }
  .reference-types .type-card>span { left:9px; right:9px; bottom:8px; }
  .reference-types .type-card strong { font-size:11px; }
  .reference-types .type-card small { font-size:8px; }
  .reference-types .type-card i { width:25px; height:25px; font-size:12px; }
  .reference-project-card img { height:100px; }
  .hotel-promo { min-height:190px; }
  .reference-news .news-row { grid-template-columns:74px 58px 1fr; gap:6px; }
  .reference-news .news-row time,.reference-news .news-row strong { font-size:9px; }
  .reference-news .news-category { font-size:8px; }
  .sale-banner { min-height:170px; padding:16px; }
  .sale-banner h2 { max-width:240px; font-size:15px; }
  .sale-banner p { font-size:9px; }
  .sale-banner>img { width:85px; height:125px; }
  .reference-home .footer-main { align-items:center; }
  .reference-home .footer-links { gap:10px 13px; font-size:9px; }
  .reference-home .footer-address { text-align:center; font-size:9px; }
}

@media (max-width: 991.98px) {
  .news-page-layout { grid-template-columns: 190px minmax(0,1fr); gap: 25px; }
  .about-story { gap: 30px; }
}
@media (max-width: 575.98px) {
  .property-detail-page .site-nav .container-xl { align-items: flex-start; gap: 12px; }
  .property-detail-page .site-nav .container-xl > .d-flex { align-items: flex-end!important; flex-direction: column; gap: 7px!important; }
  .property-detail-page .site-nav .btn { font-size: 12px; padding: 7px 9px; }
  .back-to-list { font-size: 9px; }
  .detail-heading { gap: 10px; }
  .status-badge { padding: 6px 8px; font-size: 10px; }
  .detail-gallery .carousel-item img { height: 260px; }
  .detail-table th, .detail-table td { padding: 11px 9px; font-size: 11px; }
  .yield-results { padding: 18px; }
  .yield-result-primary { align-items: flex-start; flex-direction: column; }
  .yield-result-row { align-items: flex-start; flex-direction: column; gap: 5px; }
  .yield-result-row strong { text-align: left; }
  .inquiry-modal .modal-header { padding: 20px 20px 12px; }
  .inquiry-modal .modal-body { padding: 8px 20px 22px; }
}
@media (max-width: 767.98px) {
  .content-page { padding-top: 36px; padding-bottom: 52px; }
  .page-heading { margin-bottom: 25px; }
  .search-panel { padding: 20px 17px; }
  .results-toolbar { align-items: flex-start; }
  .sort-control { flex-direction: column; align-items: flex-end; gap: 5px; }
  .sort-control .form-select { min-width: 135px; }
  .inquiry-page-card { padding: 22px 18px; }
  .inquiry-aside { position: static; }
  .news-page-layout { grid-template-columns: 1fr; gap: 25px; }
  .news-filter { display: grid; grid-template-columns: repeat(2,1fr); gap: 0 15px; }
  .news-filter .eyebrow, .news-filter h2 { grid-column: 1/-1; }
  .about-page-hero { min-height: 330px; padding: 27px; }
  .about-story { grid-template-columns: 1fr; gap: 12px; padding: 40px 0; }
  .service-feature { grid-template-columns: 1fr; }
  .service-feature-photo { min-height: 245px; }
  .service-feature-copy { padding: 27px 22px; }
  .service-detail-section { padding: 42px 0; }
  .service-process { grid-template-columns: 1fr; gap: 20px; padding: 25px 20px; }
  .service-page-cta { align-items: flex-start; flex-direction: column; padding-top: 28px; }
}

.news-article-image{display:block;width:100%;max-height:340px;aspect-ratio:16/8;object-fit:cover;border-radius:12px;margin:0 0 22px}

.inquiry-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.language-picker{position:relative;z-index:1035}
.language-control{display:flex;align-items:center;gap:3px;white-space:nowrap}
.language-option{padding:2px 3px;border:0;border-bottom:2px solid transparent;background:transparent;color:#82909a;font-family:var(--font);font-size:11px;font-weight:500;line-height:1.5;cursor:pointer;transition:color .15s,border-color .15s}
.language-option:hover{color:var(--ink)}
.language-option.active{border-bottom-color:var(--sand);color:var(--ink);font-weight:800}
.language-separator{color:#a6b1b8;font-size:10px;user-select:none}
.property-map-frame{margin-top:20px;overflow:hidden;border:1px solid #dbe4e9;background:#edf2f4;aspect-ratio:4/3}
.property-map-frame iframe{display:block;width:100%;height:100%;min-height:230px;border:0}
.map-open-link{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:var(--blue);font-size:12px;font-weight:700}
.company-profile-table td:empty{height:46px}
.company-profile-table td ul{margin:0;padding-left:1.2rem}
.company-profile-table td li+li{margin-top:5px}
.inquiry-preview-list{display:grid;grid-template-columns:170px minmax(0,1fr);margin:0;border-top:1px solid #e1e8ec}
.inquiry-preview-list dt,.inquiry-preview-list dd{margin:0;padding:12px 10px;border-bottom:1px solid #e1e8ec;font-size:14px;overflow-wrap:anywhere}
.inquiry-preview-list dt{color:#6d7e88;font-weight:600;background:#f7f9fa}
.inquiry-preview-list dd{white-space:pre-wrap;color:var(--ink)}
.inquiry-preview-modal .modal-header{border-bottom:0;padding:22px 24px 10px}
.inquiry-preview-modal .modal-body{padding:10px 24px 22px}
.inquiry-preview-modal .modal-footer{padding:14px 24px 22px}
.company-profile-table td span[lang="en"]{color:#667984;font-size:13px}
@media(max-width:575.98px){.inquiry-preview-list{grid-template-columns:1fr}.inquiry-preview-list dt{padding-bottom:3px;border-bottom:0}.inquiry-preview-list dd{padding-top:3px}}

/* Homepage refinement from the latest layout reference */
.reference-home .container-xl { width:calc(100% - 40px); max-width:1480px; }
.reference-home .navbar-nav .nav-link { display:block; padding-inline:.38rem!important; font-size:12px; }
.reference-home .navbar-nav .nav-link small { display:none; }
.reference-home .nav-actions { flex-direction:row; align-items:center; gap:13px!important; }
.reference-home .language-picker { order:0; }
.reference-home .site-nav .btn { order:1; white-space:nowrap; }
.reference-home .reference-types,
.reference-home .reference-projects { background:#f3f6f9; }
.reference-home .reference-panel { margin-top:12px; margin-bottom:12px; padding:22px 24px 24px; border:1px solid #edf1f4; border-radius:5px; background:#fff; box-shadow:0 8px 24px rgba(16,43,73,.10); }
.reference-home .reference-types .section-heading,
.reference-home .reference-projects .section-heading { margin-bottom:15px!important; }
.reference-home .reference-types .type-card { display:flex; height:auto; flex-direction:column; overflow:hidden; border:1px solid #e7edf2; border-radius:5px; background:#fff; box-shadow:0 2px 7px rgba(16,43,73,.04); }
.reference-home .reference-types .type-card::after { content:none; }
.reference-home .reference-types .type-card img { display:block; width:100%; height:clamp(145px,13vw,188px); flex:0 0 auto; object-fit:cover; }
.reference-home .reference-types .type-card > span { position:relative; inset:auto; display:grid; min-height:70px; grid-template-columns:minmax(0,1fr) 44px; grid-template-rows:auto auto; align-items:center; gap:2px 10px; padding:10px 16px; color:#102b49; background:#fff; }
.reference-home .reference-types .type-card strong { grid-column:1; grid-row:1; font-size:15px; line-height:1.4; }
.reference-home .reference-types .type-card small { grid-column:1; grid-row:2; color:#7a8c9d; font-size:12px; line-height:1.4; }
.reference-home .reference-types .type-card i { grid-column:2; grid-row:1 / span 2; width:42px; height:42px; display:grid; place-items:center; border:1px solid #d4dee7; border-radius:50%; color:#102b49; font-size:16px; }
.reference-home .reference-types .type-card:hover { transform:translateY(-2px); box-shadow:0 8px 18px rgba(16,43,73,.11); }
.reference-home .reference-project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) minmax(280px,1.6fr); align-items:stretch; gap:12px; }
.reference-home .reference-project-card { min-width:0; border:1px solid #e7edf2; border-radius:5px; box-shadow:0 2px 7px rgba(16,43,73,.04); }
.reference-home .reference-project-card img { width:100%; height:clamp(120px,11vw,158px); object-fit:cover; }
.reference-home .reference-project-card > div { padding:10px 13px 12px; }
.reference-home .reference-project-card h3 { min-height:0; margin:0 0 7px; font-size:14px; }
.reference-home .reference-project-card p { display:flex; min-height:0; flex-direction:column; gap:3px; margin:0; color:#657a8f; font-size:11px; line-height:1.5; }
.reference-home .reference-project-card p span:first-child { width:max-content; margin-bottom:1px; padding:3px 7px; border-radius:3px; color:#526b83; background:#eef4f8; }
.reference-home .reference-projects .hotel-promo { min-height:100%; border-radius:5px; }
.reference-home .reference-projects .hotel-promo > div { padding:22px 24px; }
@media(max-width:1199.98px) {
  .reference-home .nav-actions { align-items:flex-start; }
  .reference-home .reference-project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .reference-home .reference-projects .hotel-promo { grid-column:1 / -1; min-height:230px; }
}
@media(max-width:575.98px) {
  .reference-home .container-xl { width:calc(100% - 24px); }
  .reference-home .reference-panel { margin-block:8px; padding:15px 12px 16px; }
  .reference-home .reference-types .type-card img { height:112px; }
  .reference-home .reference-types .type-card > span { min-height:65px; grid-template-columns:minmax(0,1fr) 29px; gap:2px 5px; padding:8px; }
  .reference-home .reference-types .type-card strong { font-size:11px; }
  .reference-home .reference-types .type-card small { font-size:8px; }
  .reference-home .reference-types .type-card i { width:28px; height:28px; font-size:11px; }
  .reference-home .reference-project-grid { grid-template-columns:1fr; gap:10px; }
  .reference-home .reference-project-card img { height:150px; }
  .reference-home .reference-projects .hotel-promo { grid-column:auto; min-height:185px; }
  .reference-home .nav-actions { flex-wrap:wrap; }
}

/* Seven-page reference alignment: navy, white and pale-blue palette. */
:root { --ink:#0d2850; --ink-deep:#102640; --blue:#315f87; --mist:#edf4f8; --line:#d8e2e9; --muted:#637789; --sand:#a9c4d8; }
.topline { background:var(--ink); }
.navbar-nav .nav-link::after { background:#7ca8ca; }
.service-link { min-height:112px; }
.quick-services .quick-service-row > .col-lg { flex:1 0 0%; }
.quick-services .quick-service-row > .col-lg:first-child .service-link { border-left:1px solid var(--line); }
.service-link strong { font-size:15px; }
.service-link small { font-size:11px; }
.property-image .listing-status { border-radius:0; color:#fff; background:var(--ink); }
.property-image .listing-status.is-negotiating { color:#fff; background:#496d91; }
.property-image .listing-status.is-sold { background:#5e6670; }

/* Inner-page heroes follow the edge-to-edge photo banners in the reference. */
.content-page { padding-top:0; padding-bottom:76px; }
.content-page > .page-heading {
  position:relative; left:auto; transform:none; width:100vw; max-width:none; min-height:250px; margin:0 0 46px calc(50% - 50vw);
  padding:38px max(28px,calc((100vw - 1280px)/2));
  background:linear-gradient(90deg,rgba(12,37,69,.78),rgba(13,40,80,.49) 53%,rgba(13,40,80,.12)),url("../images/website/property-viewing.png") center 49%/cover;
}
.property-search-page > .page-heading { background-image:linear-gradient(90deg,rgba(12,37,69,.82),rgba(13,40,80,.48) 54%,rgba(13,40,80,.10)),url("../images/website/tokyo-skyline-hero.png"); }
.business-page > .page-heading { background-image:linear-gradient(90deg,rgba(12,37,69,.78),rgba(13,40,80,.48) 54%,rgba(13,40,80,.10)),url("../images/website/property-viewing.png"); }
.about-page > .page-heading,.journal-page > .page-heading { background-image:linear-gradient(90deg,rgba(12,37,69,.82),rgba(13,40,80,.5) 54%,rgba(13,40,80,.12)),url("../images/website/tokyo-skyline-hero.png"); }
.inquiry-page > .page-heading { background-image:linear-gradient(90deg,rgba(12,37,69,.82),rgba(13,40,80,.53) 54%,rgba(13,40,80,.12)),url("../images/website/real-estate-consultation.png"); }
.content-page > .page-heading h1 { font-size:clamp(34px,4vw,48px); }
.page-heading > p:last-child { font-size:15px; }

/* Search mirrors the reference's filter sidebar and wider results area. */
.property-search-layout { align-items:start; }
.property-search-layout .search-panel { position:sticky; top:102px; padding:22px 20px; background:#f0f5f8; border:1px solid #dce6ed; }
.property-search-layout .search-panel-heading { display:block; margin-bottom:18px; }
.property-search-layout .search-panel-heading h2 { font-size:18px; }
.property-search-layout .reset-filters { margin:10px 0 0; padding:0; }
.property-search-layout .property-search-form .row { row-gap:13px!important; }
.property-search-layout .form-label { margin-bottom:5px; }
.property-search-layout .search-results { padding-top:0; }
.property-search-layout .results-toolbar { padding:0 0 13px; }

/* Horizontal editorial categories and photo-led article rows. */
.news-page-layout { display:block; }
.news-filter { display:flex; align-items:center; gap:10px; padding:12px 0; margin:0 0 24px; overflow-x:auto; background:transparent; border-bottom:1px solid var(--line); }
.news-filter .eyebrow,.news-filter h2 { display:none; }
.news-filter-button { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; width:auto; gap:8px; padding:9px 15px; border:1px solid #d9e3ea; background:#fff; font-size:12px; }
.news-filter-button.active { color:#fff; background:var(--ink); border-color:var(--ink); }
.news-filter-button.active span,.news-filter-button:hover span { color:#d8e7f1; }
.news-article { display:grid; grid-template-columns:minmax(200px,30%) minmax(0,1fr); column-gap:28px; align-items:start; padding:25px 0; }
.news-article:first-child { padding-top:0; }
.news-article-image { grid-column:1; grid-row:1 / span 5; width:100%; height:160px; aspect-ratio:auto; object-fit:cover; margin:0; border-radius:0; }
.news-article-meta,.news-article h2,.news-article p,.news-article .text-link { grid-column:2; }
.news-article h2 { margin-top:12px; font-size:21px; }
.news-article p { margin-bottom:8px; }

/* Profile story uses the same integrated photo-and-copy treatment as the reference. */
.about-story { grid-template-columns:1fr 1fr; gap:0; padding:0; margin:0 0 12px; border:0; background:#eff5f8; }
.about-story-photo { min-height:340px; overflow:hidden; }
.about-story-photo img { width:100%; height:100%; min-height:340px; object-fit:cover; }
.about-story-copy { align-self:stretch; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:clamp(28px,4vw,54px); }
.about-story-copy h2 { margin-bottom:14px; font-size:clamp(24px,2.6vw,34px); }
.about-story-copy p { font-size:14px!important; }
.about-company .table { max-width:none; }
.about-company .detail-table th { width:22%; }
.about-company .detail-table td,.about-company .detail-table th { padding:17px 20px; font-size:14px; }

/* Inquiry page rebuilt around the supplied three-column contact reference. */
.inquiry-page > .page-heading { position:relative; left:auto; width:100vw; max-width:none; min-height:clamp(205px,12.5vw,275px); margin:0 0 16px calc(50% - 50vw); padding:24px max(24px,4vw,calc((100vw - 1480px)/2)); box-sizing:border-box; display:flex; flex-direction:column; justify-content:center; color:#102b49; background-color:#e9f4fa; background-image:linear-gradient(90deg,rgba(246,249,250,.90) 0%,rgba(245,249,251,.70) 38%,rgba(245,249,251,.08) 72%),url("../images/client-reference/news-hero-reference.png"); background-size:100% 100%,cover; background-repeat:no-repeat; background-position:center,center 50%; }
.inquiry-page > .page-heading .eyebrow { margin-bottom:7px; color:#54738c; font-size:10px; }
.inquiry-page > .page-heading h1 { margin:0 0 8px; color:#102b49; font-size:clamp(31px,3.2vw,42px); font-weight:800; }
.inquiry-page > .page-heading > p:last-child { margin:0; color:#344f68; font-size:14px; line-height:1.7; }
.inquiry-breadcrumb { display:flex; align-items:center; gap:9px; margin:0 0 12px; color:#74869a; font-size:11px; }
.inquiry-breadcrumb a { color:#617b93; text-decoration:none; }
.inquiry-breadcrumb i { font-size:9px; }
.inquiry-reference-grid { display:grid; grid-template-columns:minmax(230px,.92fr) minmax(400px,1.28fr) minmax(220px,.78fr); align-items:stretch; gap:16px; }
.inquiry-contact-methods { padding:19px 17px 14px; color:#102b49; background:#f1f6fa; border-radius:4px; }
.inquiry-contact-methods h2,.inquiry-form-heading h2 { margin:0 0 5px; color:#102b49; font-size:16px; font-weight:800; }
.inquiry-contact-intro,.inquiry-form-heading p { margin:0 0 14px; color:#61778d; font-size:11px; line-height:1.7; }
.inquiry-method-card { display:flex; align-items:center; gap:12px; min-height:66px; margin-bottom:7px; padding:10px 12px; color:#102b49; background:#fff; border:1px solid #e7edf2; border-radius:3px; text-decoration:none; }
.inquiry-method-card > i:first-child { flex:none; color:#173e70; font-size:21px; }
.inquiry-method-card > i:last-child { flex:none; margin-left:auto; color:#173e70; font-size:12px; }
.inquiry-method-card span { display:grid; gap:2px; min-width:0; }
.inquiry-method-card strong { font-size:11px; font-weight:700; }
.inquiry-method-card b { color:#173e70; font:700 15px "DM Sans",sans-serif; }
.inquiry-method-card small { color:#6b7d90; font-size:9px; line-height:1.55; }
.inquiry-address-card { align-items:flex-start; }
.inquiry-address-card > i:first-child { margin-top:2px; }
.inquiry-social { margin-top:17px; }
.inquiry-social h3 { margin:0 0 4px; font-size:12px; font-weight:800; }
.inquiry-social > p { margin:0 0 11px; color:#61778d; font-size:10px; line-height:1.6; }
.inquiry-social-links { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.inquiry-social-links a { display:flex; flex-direction:column; align-items:center; gap:5px; color:#173e70; font-size:10px; font-weight:700; text-decoration:none; }
.inquiry-social-links i { display:grid; width:40px; height:40px; place-items:center; background:#fff; border:1px solid #d6e2eb; border-radius:50%; font-size:19px; }
.inquiry-page-card { min-width:0; padding:17px 16px 13px; border:1px solid #e2eaf0; border-radius:4px; box-shadow:0 6px 22px rgba(16,43,73,.035); }
.inquiry-form-heading h2 { font-size:17px; }
.inquiry-form-heading p { margin-bottom:9px; font-size:10px; }
.inquiry-page-form .form-label { margin-bottom:4px; color:#344d5e; font-size:10px; }
.inquiry-page-form .form-control,.inquiry-page-form .form-select { min-height:35px; font-size:10px; }
.inquiry-page-form textarea.form-control { min-height:74px; }
.inquiry-page-form .row.g-3 { --bs-gutter-y:0; }
.inquiry-page-form .mb-3 { margin-bottom:.55rem!important; }
.inquiry-page-form .mb-4 { margin-bottom:.75rem!important; }
.inquiry-page-form .required-mark { color:#d65e5e; font-size:9px; }
.inquiry-page-form .inquiry-privacy { margin:0 auto 9px; width:max-content; max-width:100%; font-size:10px; }
.inquiry-page-form .inquiry-privacy a { color:#1f5c9a; }
.inquiry-page-form .inquiry-privacy .form-check-input { margin-top:.15em; }
.inquiry-page-form .inquiry-submit { display:block; width:min(100%,260px); min-width:0; margin:0 auto; padding:9px 16px!important; font-size:11px; }
.inquiry-side-panels { display:grid; grid-template-rows:minmax(250px,1fr) auto; gap:10px; min-width:0; }
.inquiry-visual-card { display:flex; align-items:flex-start; min-height:275px; overflow:hidden; padding:22px 17px; color:#102b49; background-color:#e7f2f8; background-image:linear-gradient(180deg,rgba(246,249,251,.94) 0%,rgba(246,249,251,.73) 42%,rgba(246,249,251,.02) 78%),url("../images/client-reference/sunrise-balcony-overlooking-cherry-blossoms.webp"); background-size:100% 100%,cover; background-position:center,72% center; background-repeat:no-repeat; border-radius:4px; }
.inquiry-visual-card > div { max-width:86%; }
.inquiry-visual-card h2 { margin:0 0 12px; font-size:17px; font-weight:800; line-height:1.65; }
.inquiry-visual-card p { margin:0 0 11px; font-size:10px; line-height:1.8; }
.inquiry-visual-card span { font-size:10px; font-weight:700; line-height:1.7; }
.inquiry-faq-card { position:relative; display:block; min-height:100px; overflow:hidden; background:#f2f6f8; border-radius:4px; isolation:isolate; }
.inquiry-faq-card::before { position:absolute; z-index:1; inset:0; content:""; background:linear-gradient(90deg,#f4f7f9 0%,rgba(244,247,249,.98) 40%,rgba(244,247,249,.78) 53%,rgba(244,247,249,.25) 66%,rgba(244,247,249,0) 76%); pointer-events:none; }
.inquiry-faq-card > div { position:relative; z-index:2; box-sizing:border-box; width:75%; padding:12px; }
.inquiry-faq-card h2 { margin:0 0 5px; font-size:14px; font-weight:800; }
.inquiry-faq-card p { margin:0 0 8px; color:#61778d; font-size:10px; line-height:1.5; }
.inquiry-faq-card .btn { padding:4px 8px; font-size:10px; }
.inquiry-faq-card img { position:absolute; z-index:0; inset:0; width:100%; height:100%; min-height:100px; object-fit:cover; object-position:right center; }
.inquiry-faq-list { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:16px; }
.inquiry-faq-list details { padding:12px 14px; background:#fff; border:1px solid #e2eaf0; border-radius:4px; color:#344d5e; font-size:11px; }
.inquiry-faq-list summary { color:#102b49; font-weight:700; cursor:pointer; }
.inquiry-faq-list details p { margin:9px 0 0; color:#61778d; line-height:1.7; }
.inquiry-honeypot { position:absolute; left:-10000px; }
@media (max-width:1199.98px) {
  .inquiry-reference-grid { grid-template-columns:minmax(220px,.85fr) minmax(380px,1.2fr); }
  .inquiry-side-panels { grid-column:1 / -1; grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .inquiry-visual-card { min-height:230px; }
}
@media (max-width:767.98px) {
  .inquiry-page > .page-heading { min-height:175px; margin-bottom:14px; padding:20px 18px; background-position:center,right 50%; }
  .inquiry-page > .page-heading h1 { font-size:30px; }
  .inquiry-page > .page-heading > p:last-child { font-size:12px; }
  .inquiry-reference-grid { grid-template-columns:minmax(0,1fr); gap:13px; }
  .inquiry-contact-methods { order:2; padding:17px 15px; }
  .inquiry-page-card { order:1; padding:19px 16px; }
  .inquiry-side-panels { order:3; grid-column:auto; grid-template-columns:1fr; }
  .inquiry-visual-card { min-height:250px; background-position:center 52%; }
  .inquiry-faq-list { grid-template-columns:1fr; }
  .inquiry-page-form .inquiry-privacy { width:100%; }
}
.about-values article { min-height:180px; padding:29px; box-shadow:0 8px 22px rgba(13,40,80,.06); }
.about-values article h3 { font-size:17px; }
.about-values article p { font-size:13px; }

/* Business overview steps and inquiry panels. */
.business-process { display:grid; grid-template-columns:.75fr 1.5fr; gap:40px; align-items:center; margin:48px 0 12px; padding:30px 34px; color:#fff; background:var(--ink); }
.business-process .eyebrow { color:#bdd1e0; }
.business-process h2 { margin:0; font-size:22px; line-height:1.6; }
.business-process-steps { display:grid; grid-template-columns:repeat(4,1fr); }
.business-process-steps article { display:flex; flex-direction:column; gap:7px; min-height:90px; padding:0 17px; border-left:1px solid #ffffff3b; }
.business-process-steps span { color:#a9c4d8; font:700 12px "DM Sans",sans-serif; letter-spacing:.1em; }
.business-process-steps strong { font-size:15px; }
.business-process-steps small { color:#d2dfe8; font-size:11px; line-height:1.6; }
.service-directory-card { min-height:310px; padding:27px; box-shadow:0 5px 19px rgba(13,40,80,.04); }
.service-directory-card h2 { font-size:22px; }
.service-directory-card p { font-size:14px; line-height:1.9; }
.inquiry-page-card { padding:38px; box-shadow:0 12px 34px rgba(13,40,80,.07); }
.inquiry-aside { top:104px; background:#edf4f8; color:var(--ink); border-top:4px solid #91b6d1; }
.inquiry-aside > i { color:var(--blue); }
.inquiry-aside p,.inquiry-aside div span { color:#5f7488; }
.inquiry-aside div { border-color:#d1dfe8; }

/* Photo CTA and navy footer from the seven-page visual system. */
.contact-card { color:#fff; background:linear-gradient(90deg,rgba(10,31,58,.90),rgba(12,39,72,.66) 58%,rgba(12,39,72,.14)),url("../images/website/real-estate-consultation.png") center/cover; }
.contact-copy p:not(.eyebrow) { color:#e1e9ef; }
.contact-illustration { display:none; }
.contact-card .btn-ink { color:var(--ink); background:#fff; border-color:#fff; }
.site-footer { color:#fff; background:#0d2850; border-top:0; padding:38px 0 22px; }
.site-footer .navbar-brand,.site-footer .brand-mark,.site-footer .social-links a { color:#fff; }
.site-footer .brand-copy small { color:#cad7e2; }
.footer-links { flex-wrap:wrap; gap:14px 18px; color:#e0e9f0; }
.footer-links a:hover,.footer-bottom a:hover,.social-links a:hover { color:#a9c4d8; }
.footer-bottom { color:#b9c9d6; border-color:#ffffff35; }
.footer-bottom a { color:#c7d5df; }

@media (max-width:1199.98px) {
  .quick-services .quick-service-row > .col-lg { flex:1 0 20%; }
  .business-process { grid-template-columns:1fr; gap:20px; }
}
@media (max-width:767.98px) {
  .content-page { padding-top:0; padding-bottom:52px; }
  .content-page > .page-heading { min-height:205px; margin-bottom:30px; padding:28px 22px; }
  .property-search-layout .search-panel { position:static; }
  .property-search-layout .search-results { padding-top:0; }
  .news-filter { gap:7px; margin-bottom:18px; }
  .news-filter-button { padding:8px 11px; }
  .news-article { grid-template-columns:104px minmax(0,1fr); column-gap:15px; padding:20px 0; }
  .news-article-image { height:100px; }
  .news-article h2 { font-size:17px; }
  .news-article p { font-size:12px; }
  .about-story { grid-template-columns:1fr; }
  .about-story-photo,.about-story-photo img { min-height:230px; max-height:270px; }
  .about-story-copy { padding:27px 22px; }
  .business-process { padding:24px 20px; }
  .business-process-steps { grid-template-columns:repeat(2,1fr); row-gap:18px; }
  .business-process-steps article { padding:0 11px; }
  .inquiry-page-card { padding:23px 18px; }
  .footer-main { align-items:flex-start; flex-direction:column; }
  .footer-links { gap:12px 17px; font-size:15px; }
  .footer-bottom { gap:12px; flex-direction:column; }
}

/* Client supplied reference imagery mapped to the seven page designs. */
.reference-home .hero-photo { background-image:url("../images/client-reference/cheerful-tokyo-skyline-with-zebra-mascot.webp"); background-position:center 49%; }
.reference-home .hero-mascot { display:none; }
.reference-home .mascot-message { display:none; }
.reference-home .sale-banner { background-image:linear-gradient(90deg,rgba(226,241,248,.96),rgba(230,243,249,.84) 56%,rgba(230,243,249,.05)),url("../images/client-reference/tokyo-skyline-with-cheerful-mascot.webp"); background-position:center; }
.property-search-page > .page-heading { position:relative; left:auto; width:100vw; max-width:none; margin-left:calc(50% - 50vw); padding-inline:max(24px,4vw,calc((100vw - 1480px)/2)); box-sizing:border-box; color:#102b49; background-color:#e9f4fa; background-image:linear-gradient(90deg,rgba(239,247,251,.95),rgba(234,245,251,.82) 42%,rgba(221,239,247,.08) 82%),url("../images/client-reference/property-search-hero-reference.webp"); background-size:100% 100%,cover; background-repeat:no-repeat; background-position:center,center 70%; }
.business-page > .page-heading { background-image:linear-gradient(90deg,rgba(12,37,69,.79),rgba(13,40,80,.53) 54%,rgba(13,40,80,.15)),url("../images/client-reference/brighter-tomorrow-over-tokyo.webp"); background-position:center 50%; }
.about-page > .page-heading { background-image:linear-gradient(90deg,rgba(12,37,69,.78),rgba(13,40,80,.47) 54%,rgba(13,40,80,.12)),url("../images/client-reference/tokyo-skyline-with-cheerful-mascot.webp"); background-position:center 52%; }
.journal-page > .page-heading { background-image:linear-gradient(90deg,rgba(12,37,69,.78),rgba(13,40,80,.49) 54%,rgba(13,40,80,.12)),url("../images/client-reference/tranquil-city-life-with-zebra-mascot.webp"); background-position:center 53%; }
.inquiry-page > .page-heading { background-image:linear-gradient(90deg,rgba(12,37,69,.78),rgba(13,40,80,.47) 54%,rgba(13,40,80,.12)),url("../images/client-reference/zebra-mascot-overlooking-tokyo.webp"); background-position:center 48%; }
.detail-page-hero { background-image:linear-gradient(90deg,rgba(12,37,69,.81),rgba(13,40,80,.54) 54%,rgba(13,40,80,.18)),url("../images/client-reference/tokyo-skyline-with-friendly-zebra-mascot-1.webp"); }
.service-detail-page > .page-heading { background-image:linear-gradient(90deg,rgba(12,37,69,.80),rgba(13,40,80,.50) 54%,rgba(13,40,80,.14)),url("../images/client-reference/cheerful-mascot-overlooking-tokyo-skyline-1.webp"); }
.service-detail-page .service-feature-photo { background-position:center; }
.service-detail-page.service-asset .service-feature-photo { background-position:left center; }
.service-detail-page.service-management .service-feature-photo { background-position:center 50%; }
.service-detail-page.service-brokerage .service-feature-photo { background-position:center 50%; }
.service-detail-page.service-purchase .service-feature-photo { background-position:center 50%; }
.service-directory-card { overflow:hidden; padding:0; }
.service-directory-photo { display:block; width:100%; height:clamp(125px,13vw,180px); margin-bottom:19px; object-fit:cover; }
.service-directory-card > i,.service-directory-card > .eyebrow,.service-directory-card h2,.service-directory-card p,.service-directory-card > .text-link { margin-right:22px; margin-left:22px; }
.service-directory-card > i { margin-bottom:10px; }
.service-directory-card > .text-link { margin-top:auto; padding-bottom:22px; }
.about-reason-banner,.about-global-banner { display:block; overflow:hidden; margin:42px 0; }
.about-reason-banner img,.about-global-banner img { display:block; width:100%; height:auto; }
.about-global-banner { transition:opacity .2s ease; }
.about-global-banner:hover { opacity:.92; }
.inquiry-page .inquiry-aside { color:#fff; background:linear-gradient(90deg,rgba(8,31,59,.91),rgba(13,40,80,.76)),url("../images/client-reference/twilight-tokyo-terrace-with-mascot.webp") center/cover; border-top-color:#91b6d1; }
.inquiry-page .inquiry-aside > i { color:#e3cb89; }
.inquiry-page .inquiry-aside p,.inquiry-page .inquiry-aside div span { color:#d2dfe8; }
.inquiry-page .inquiry-aside div { border-color:#ffffff42; }
@media (max-width:767.98px) {
  .reference-home .mascot-message { top:10px; right:10px; font-size:16px; }
  .service-directory-photo { height:145px; margin-bottom:14px; }
  .service-directory-card > i,.service-directory-card > .eyebrow,.service-directory-card h2,.service-directory-card p,.service-directory-card > .text-link { margin-right:15px; margin-left:15px; }
  .service-directory-card > .text-link { padding-bottom:16px; }
  .about-reason-banner,.about-global-banner { margin:26px 0; }
}

/* Detail screen refinements to match the reference's clean property dossier. */
.property-detail-page { background:#fff; }
.detail-main { padding-top:22px; }
.detail-breadcrumb .breadcrumb { color:#7b8b97; }
.detail-gallery { border:1px solid #dfe7ec; }
.detail-summary,.access-card { border-color:#dce5eb; box-shadow:0 8px 24px rgba(13,40,80,.045); }
.status-badge { color:#fff; background:#315f87; }
.status-badge[data-status="商談中"] { color:#fff; background:#587997; }
.status-badge[data-status="成約済み"] { color:#fff; background:#69727c; }
.detail-table th { background:#edf4f8; }
.detail-cta { background:#0d2850; }
.site-footer .brand-mark img { filter:brightness(0) invert(1); }
@media (max-width:767.98px) {
  .detail-main { padding-top:14px; }
}

/* Final homepage interaction and spacing adjustments */
.reference-home .search-tabs button { display:flex; flex:1; align-items:center; justify-content:center; gap:8px; padding:10px 12px; border:0; border-right:1px solid #e6edf2; color:#263e58; background:#fff; font:700 11px/1.4 var(--font); white-space:nowrap; cursor:pointer; transition:background .18s,color .18s; }
.reference-home .search-tabs button:last-child { border-right:0; }
.reference-home .search-tabs button:hover { color:#102b49; background:#f0f5f8; }
.reference-home .search-tabs button.active { color:#fff; background:#102b49; }
.reference-home .search-tabs button i { font-size:18px; }
.reference-home .reference-hero { z-index:2; overflow:visible; min-height:max(442px,37.5vw); }
.reference-home .reference-search-wrap { bottom:0; }
@media(min-width:1200px) {
  .reference-home .reference-hero > .hero-content { position:absolute; inset:0 0 164px; display:flex; align-items:center; }
  .reference-home .reference-hero .min-vh-hero { width:100%; height:100%; min-height:0; padding:0; margin:0; }
}
.reference-home .reference-property-card .favorite { display:flex; width:27px; height:27px; align-items:center; justify-content:center; padding:0; line-height:1; }
.reference-home .reference-property-card .favorite i { display:block; font-size:14px; line-height:1; }
.reference-home .reference-types,
.reference-home .reference-projects { background:#fff; }
.reference-home .reference-panel { margin:0 auto; padding:4px 0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.reference-home .reference-types .type-card { box-shadow:0 2px 7px rgba(16,43,73,.07); }
.reference-home .reference-project-layout { display:grid; grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr); align-items:stretch; gap:18px; }
.reference-home .reference-project-content { min-width:0; }
.reference-home .reference-project-content .section-heading { min-height:30px; margin-bottom:15px!important; }
.reference-home .reference-project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:12px; }
.reference-home .reference-projects .hotel-promo { min-height:100%; height:100%; }
.reference-home .reference-projects .hotel-promo > div { padding:24px 26px; }
.reference-home .reference-projects .hotel-promo h3 { margin-bottom:12px; font-size:24px; line-height:1.48; }
.reference-home .reference-projects .hotel-promo p { margin-bottom:16px; font-size:13px; line-height:1.8; }
.reference-home .reference-projects .hotel-promo .btn { padding:9px 13px; font-size:12px; }
.reference-home .reference-news .news-row { min-height:52px; grid-template-columns:94px 74px 1fr; gap:10px; }
.reference-home .reference-news .news-row time { font-size:13px; }
.reference-home .reference-news .news-row strong { font-size:13px; line-height:1.6; }
.reference-home .reference-news .news-category { padding:6px 9px; font-size:11px; }
.reference-home .sale-banner { min-height:230px; padding:24px 28px; }
.reference-home .sale-banner h2 { margin-bottom:10px; font-size:22px; line-height:1.5; }
.reference-home .sale-banner p { margin-bottom:14px; font-size:13px; line-height:1.8; }
.reference-home .sale-banner .btn { padding:10px 14px; font-size:12px; }
@media(max-width:1199.98px) {
  .reference-home .reference-project-layout { grid-template-columns:1fr; }
  .reference-home .reference-projects .hotel-promo { min-height:260px; }
}
@media(max-width:575.98px) {
  .reference-home .reference-search-wrap { bottom:0; padding-bottom:0; }
  .reference-home .search-tabs button { flex:0 0 auto; gap:5px; padding:8px 10px; font-size:9px; }
  .reference-home .search-tabs button i { font-size:15px; }
  .reference-home .reference-project-grid { grid-template-columns:1fr; }
  .reference-home .reference-projects .hotel-promo { min-height:230px; }
  .reference-home .reference-projects .hotel-promo > div { padding:18px 18px; }
  .reference-home .reference-projects .hotel-promo h3 { font-size:21px; }
  .reference-home .reference-news .news-row { min-height:48px; grid-template-columns:74px 58px 1fr; gap:6px; }
  .reference-home .reference-news .news-row time,.reference-home .reference-news .news-row strong { font-size:10px; }
  .reference-home .sale-banner { min-height:190px; padding:17px; }
  .reference-home .sale-banner h2 { max-width:255px; font-size:18px; }
  .reference-home .sale-banner p { font-size:10px; }
  .reference-home .sale-banner .btn { padding:8px 10px; font-size:10px; }
}

/* Favorite control and compact homepage rhythm */
.reference-home .reference-property-card { position:relative; }
.reference-home .reference-property-card .favorite { z-index:2; top:9px; right:9px; appearance:none; border:0; outline:0; box-shadow:0 1px 4px rgba(16,43,73,.12); cursor:pointer; }
.reference-home .reference-property-card .favorite i { width:100%; height:100%; display:flex; align-items:center; justify-content:center; line-height:1; transform:translateY(-.5px); }
.reference-home .reference-property-card .favorite.is-favorite { color:#d7354f; }
.reference-home .reference-property-card .favorite:focus-visible { outline:2px solid #315f87; outline-offset:2px; }
.reference-home .reference-properties { padding-top:22px; padding-bottom:26px; }
.reference-home .reference-properties .section-heading { margin-bottom:12px!important; }
.reference-home .reference-services .service-link { min-height:110px; }
@media (min-width:576px) and (max-width:991.98px) {
  .reference-home .reference-hero { min-height:0; padding-bottom:0; }
  .reference-home .reference-hero .min-vh-hero { min-height:0; padding:18px 0 130px; }
  .reference-home .reference-hero h1 { font-size:clamp(28px,4.2vw,36px); }
  .reference-home .reference-hero .hero-lead { font-size:12px; line-height:1.7; }
  .reference-home .reference-search-wrap { bottom:0; }
  .reference-home .reference-search { grid-template-columns:1fr 1.1fr .9fr .9fr 1.35fr auto; gap:5px; padding:7px; }
  .reference-home .reference-search label { gap:3px; font-size:8px; }
  .reference-home .reference-search input,.reference-home .reference-search select { height:32px; padding:0 5px; font-size:8px; }
  .reference-home .reference-search .home-price-range { gap:3px; }
  .reference-home .reference-search .home-price-range input { width:calc(50% - 6px); }
  .reference-home .reference-search .btn { grid-column:auto; height:32px; min-height:32px; padding:5px 7px; font-size:8px; }
  .reference-home .advanced-search { grid-column:1/-1; margin-top:-3px; font-size:8px; }
  .reference-home .search-tabs { width:100%; min-height:42px; }
  .reference-home .search-tabs button { padding:8px 5px; gap:4px; font-size:9px; }
  .reference-home .search-tabs button i { font-size:14px; }
  .reference-home .reference-services .service-link { min-height:94px; }
  .reference-home .reference-properties { padding-top:20px; padding-bottom:22px; }
}
@media(max-width:575.98px) {
  .reference-home .reference-properties { padding-top:18px; padding-bottom:20px; }
  .reference-home .reference-services .service-link { min-height:88px; }
}

/* Shared public-page frame: align all pages with the homepage proportions. */
.topline { display:none; }
.container-xl { width:calc(100% - 40px); max-width:1480px; }
.site-nav { min-height:66px; }
.site-nav .brand-mark { width:38px; height:38px; }
.site-nav .brand-copy strong { font-size:16px; }
.site-nav .brand-copy small { font-size:9px; }
.navbar-nav .nav-link { display:block; padding:.7rem .38rem!important; color:#142c49; font-size:12px; }
.navbar-nav .nav-link small { display:none; }
.nav-actions { flex-direction:row; align-items:center; gap:13px!important; }
.content-page { padding-top:0; padding-bottom:56px; }
.content-page > .page-heading {
  position:relative;
  min-height:max(442px,37.5vw);
  margin-bottom:38px;
  padding:38px max(24px,calc((100vw - 1480px)/2));
}
.content-page > .page-heading > *,.detail-page-hero > * { position:relative; z-index:1; }
.detail-main { padding-top:0; padding-bottom:56px; }
.detail-page-hero {
  position:relative; isolation:isolate; left:calc(50% - 50vw); width:100vw;
  min-height:max(442px,37.5vw); display:flex; flex-direction:column; justify-content:center;
  margin:0 0 36px; padding:30px max(24px,calc((100vw - 1480px)/2)); overflow:hidden;
  color:#fff;
  background:linear-gradient(90deg,rgba(12,37,69,.82),rgba(13,40,80,.50) 54%,rgba(13,40,80,.12)),url("../images/website/tokyo-skyline-hero.png") center 49%/cover;
}
.detail-page-hero .detail-breadcrumb { margin-bottom:22px; }
.detail-page-hero .breadcrumb { font-size:12px; }
.detail-page-hero .breadcrumb-item,.detail-page-hero .breadcrumb-item.active,.detail-page-hero .breadcrumb-item+.breadcrumb-item::before { color:#e4edf3; }
.detail-page-hero .breadcrumb a { color:#fff; }
.detail-page-hero .detail-heading { align-items:center; margin:0; }
.detail-page-hero .detail-heading h1 { color:#fff; font-size:clamp(34px,4vw,48px); }
.detail-page-hero .detail-heading .eyebrow { color:#d4e2eb; }
.detail-page-hero .detail-address { color:#e4edf3; }
.detail-page-hero .status-badge { border:1px solid rgba(255,255,255,.45); }
@media(max-width:1199.98px) {
  .nav-actions { align-items:flex-start; }
}
@media(max-width:575.98px) {
  .container-xl { width:calc(100% - 24px); }
  .site-nav { min-height:62px; }
  .site-nav .brand-mark { width:34px; height:34px; }
  .site-nav .brand-copy strong { font-size:14px; }
  .site-nav .brand-copy small { font-size:8px; }
  .nav-actions { flex-wrap:wrap; }
  .content-page > .page-heading { min-height:260px; margin-bottom:28px; padding:26px 18px; }
  .content-page > .page-heading::after,.detail-page-hero::after { display:none; }
  .content-page { padding-bottom:38px; }
  .detail-page-hero { min-height:260px; margin-bottom:24px; padding:24px 18px; }
  .detail-page-hero .detail-breadcrumb { margin-bottom:14px; }
  .detail-page-hero .detail-heading { gap:12px; }
  .detail-page-hero .detail-heading h1 { font-size:28px; }
  .detail-main { padding-bottom:38px; }
}
@media(min-width:576px) and (max-width:991.98px) {
  .content-page > .page-heading,.detail-page-hero { min-height:max(320px,37.5vw); }
}

/* Property search page follows the photo-first reference layout. */
.reference-home .quick-service-row { min-height:150px; }
.reference-home .quick-service-row > .col-lg { display:flex; }
.reference-home .quick-service-row .service-link { width:100%; min-height:150px; }
@media(min-width:992px) { .reference-home .quick-service-row { height:150px; } }
.property-search-page { padding-bottom:56px; }
.property-search-layout { display:grid; grid-template-columns:minmax(205px,250px) minmax(0,1fr); gap:24px; margin:0; align-items:start; }
.property-search-layout > aside,.property-search-layout > div { width:auto; padding:0; }
.property-search-layout .search-panel { position:sticky; top:88px; padding:17px 15px; background:#fff; border:1px solid #e2eaf0; box-shadow:0 3px 14px rgba(16,43,73,.045); }
.property-search-layout .search-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:13px; }
.property-search-layout .search-panel-heading h2 { font-size:15px; white-space:nowrap; }
.property-search-layout .reset-filters { margin:0; font-size:10px; white-space:nowrap; }
.property-search-form .filter-group { min-width:0; margin:0 0 13px; padding:0; border:0; }
.property-search-form .filter-group .form-label { display:block; margin-bottom:6px; font-size:11px; font-weight:800; }
.property-search-form .form-control,.property-search-form .form-select { min-height:36px; padding:7px 9px; font-size:11px; }
.property-search-form .range-fields { gap:5px; }
.property-search-form .range-fields > span { flex:0 0 auto; font-size:10px; }
.property-search-form .filter-checks { display:grid; gap:5px; }
.property-search-form .filter-checks label { display:flex; align-items:center; gap:7px; color:#425b70; font-size:11px; line-height:1.4; cursor:pointer; }
.property-search-form .filter-checks input { width:14px; height:14px; flex:0 0 auto; margin:0; accent-color:#102b49; }
.property-search-form .keyword-field { position:relative; }
.property-search-form .keyword-field input { padding-right:34px; }
.property-search-form .keyword-field i { position:absolute; top:50%; right:11px; color:#637789; transform:translateY(-50%); }
.property-search-form .advanced-filters { margin:0 0 13px; color:#41586c; font-size:11px; }
.property-search-form .advanced-filters summary { display:flex; justify-content:space-between; cursor:pointer; list-style:none; }
.property-search-form .advanced-filters summary::-webkit-details-marker { display:none; }
.property-search-form .advanced-filters[open] summary { margin-bottom:12px; }
.property-search-form .search-submit { min-height:40px; font-size:12px; }
.property-search-page .search-results { min-width:0; padding-top:0; }
.property-search-page .results-toolbar { min-height:44px; padding:0 0 10px; margin-bottom:12px; }
.property-search-page .results-toolbar > p { color:#163150; font-weight:700; }
.property-search-page .results-toolbar strong { font-size:20px; }
.property-search-page .results-tools { display:flex; align-items:center; gap:12px; }
.property-search-page .sort-control { gap:7px; white-space:nowrap; }
.property-search-page .sort-control .form-select { min-width:110px; min-height:32px; padding:5px 25px 5px 9px; font-size:10px; }
.property-search-page .view-switch { display:flex; gap:4px; }
.property-search-page .view-switch button { display:grid; width:32px; height:32px; place-items:center; color:#65798a; background:#fff; border:1px solid #d8e2e9; border-radius:3px; }
.property-search-page .view-switch button.active { color:#fff; background:#102b49; border-color:#102b49; }
.property-search-page #propertyResults { align-items:stretch; }
.property-search-page .property-result-item { min-width:0; }
.property-search-page .property-card { position:relative; overflow:hidden; border-color:#e5ebf0; border-radius:4px; box-shadow:0 2px 8px rgba(16,43,73,.07); }
.property-search-page .property-image { height:clamp(108px,10vw,145px); }
.property-search-page .property-type-badge { position:absolute; top:8px; left:8px; z-index:1; max-width:72%; overflow:hidden; padding:4px 7px; color:#143454; background:#fff; border-radius:3px; font-size:9px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.property-search-page .property-image .listing-status { top:auto; right:auto; bottom:8px; left:8px; padding:4px 6px; border-radius:3px; font-size:9px; }
.property-search-page .favorite { position:absolute; top:8px; right:8px; z-index:2; display:grid; width:26px; height:26px; place-items:center; padding:0; color:#163150; background:#fff; border:0; border-radius:50%; box-shadow:0 1px 5px rgba(16,43,73,.16); cursor:pointer; }
.property-search-page .favorite i { font-size:14px; line-height:1; }
.property-search-page .favorite.is-favorite { color:#d7354f; }
.property-search-page .property-body { padding:9px 10px 10px; }
.property-search-page .property-location { margin:0 0 2px; color:#6b7f91; font-size:9px; }
.property-search-page .property-body h3 { margin:0 0 3px; font-size:12px; line-height:1.5; }
.property-search-page .property-price { font-size:16px; }
.property-search-page .property-price span { font-size:9px; }
.property-search-page .property-meta { gap:7px; padding:6px 0 4px; font-size:9px; }
.property-search-page .property-meta span + span { padding-left:7px; }
.property-search-page .property-access { min-height:24px; margin:5px 0 0; font-size:9px; line-height:1.45; }
.property-search-page .property-details-link { justify-content:center; margin-top:7px; padding:6px 5px; border:1px solid #cbd8e1; border-radius:3px; font-size:10px; }
.property-search-page .results-pagination { display:flex; justify-content:center; gap:6px; padding-top:18px; }
.property-search-page .results-pagination button { display:grid; min-width:30px; height:30px; place-items:center; padding:0 8px; color:#34506a; background:#fff; border:1px solid #dbe4eb; border-radius:4px; font-size:11px; }
.property-search-page .results-pagination button.active { color:#fff; background:#102b49; border-color:#102b49; }
.property-search-page .results-pagination button:disabled { color:#aebac4; cursor:default; }
.property-search-page .results-pagination button[aria-current="false"] { color:#34506a; }
.property-search-page #propertyResults.is-list { display:grid; grid-template-columns:1fr; row-gap:12px; }
.property-search-page #propertyResults.is-list .property-result-item { width:100%; }
.property-search-page #propertyResults.is-list .property-card { display:grid; grid-template-columns:minmax(180px,28%) minmax(0,1fr); }
.property-search-page #propertyResults.is-list .property-image { height:100%; min-height:170px; grid-row:1; }
.property-search-page #propertyResults.is-list .property-body { grid-column:2; grid-row:1; align-self:center; padding:14px 18px; }
.property-search-page #propertyResults.is-list .favorite { right:auto; left:calc(28% - 34px); }
/* Trial pass: enlarge all search-page copy by 2px while keeping icons and spacing intact. */
.property-search-page > .page-heading .eyebrow { color:#54738c; font-size:11px; }
.property-search-page > .page-heading h1 { color:#102b49; font-size:clamp(36px,4vw,50px); }
.property-search-page > .page-heading > p:last-child { color:#344f68; font-size:17px; }
.property-search-page .search-panel-heading h2 { font-size:17px; }
.property-search-page .reset-filters,
.property-search-page .property-search-form .filter-group .form-label,
.property-search-page .property-search-form .filter-checks label,
.property-search-page .property-search-form .advanced-filters { font-size:13px; }
.property-search-page .property-search-form .form-control,
.property-search-page .property-search-form .form-select { font-size:13px; }
.property-search-page .property-search-form .filter-checks input { width:16px; height:16px; }
.property-search-page .property-search-form .search-submit { font-size:14px; }
.property-search-page .results-toolbar { font-size:14px; }
.property-search-page .results-toolbar strong { font-size:22px; }
.property-search-page .sort-control .form-select { font-size:12px; }
.property-search-page .property-type-badge,
.property-search-page .property-image .listing-status,
.property-search-page .property-location,
.property-search-page .property-meta,
.property-search-page .property-access { font-size:11px; }
.property-search-page .property-body h3 { font-size:14px; }
.property-search-page .property-price { font-size:18px; }
.property-search-page .property-price span { font-size:11px; }
.property-search-page .property-details-link { font-size:12px; }
.property-search-page .results-pagination button { font-size:13px; }
.property-search-page .no-results h2 { font-size:21px; }
.property-search-page .no-results p { font-size:14px; }
/* Keep property dimensions clean and place the short station line beneath them. */
.property-search-page .property-meta { padding-bottom:0; border-bottom:0; font-size:13px; }
.property-search-page .property-access { margin-top:6px; }
.property-search-page .reset-filters { font-size:11px; }

/* Property detail uses the client's gallery-first listing layout. */
.property-search-page > .page-heading { min-height:clamp(205px,12.5vw,275px); margin-bottom:28px; padding-block:24px; padding-inline:max(24px,4vw,calc((100vw - 1480px)/2)); }
.property-search-page > .page-heading .eyebrow { font-size:10px; }
.property-search-page > .page-heading h1 { font-size:clamp(31px,3.2vw,42px); }
.property-search-page > .page-heading > p:last-child { font-size:14px; }
.property-reference-detail { padding-top:18px; padding-bottom:58px; color:#173553; }
.property-reference-detail .detail-breadcrumb { margin-bottom:14px; }
.property-reference-detail .detail-breadcrumb .breadcrumb { font-size:12px; }
.property-reference-detail .detail-breadcrumb a { text-decoration:none; }
.detail-photo-mosaic { position:relative; display:grid; grid-template-columns:minmax(0,1.42fr) minmax(0,1fr); grid-template-rows:repeat(2,minmax(180px,1fr)); gap:9px; margin-bottom:21px; }
.detail-photo-mosaic { height:clamp(300px,31vw,430px); grid-template-rows:repeat(2,minmax(0,1fr)); }
.detail-mosaic-main { position:relative; grid-row:1 / span 2; height:100%; min-height:0; overflow:hidden; border-radius:5px; background:#e8eff4; }
.detail-mosaic-main > img { display:block; width:100%; height:100%; min-height:0; object-fit:cover; cursor:zoom-in; }
.detail-mosaic-side { display:grid; grid-column:2; grid-row:1 / span 2; height:100%; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); gap:9px; min-height:0; }
.detail-photo-button { position:relative; display:block; min-width:0; min-height:0; padding:0; overflow:hidden; background:#e8eff4; border:0; border-radius:5px; cursor:pointer; }
.detail-photo-button img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.detail-photo-button:hover img { transform:scale(1.035); }
.detail-mosaic-thumb.active { outline:3px solid #315f87; outline-offset:-3px; }
.mosaic-arrow { position:absolute; top:50%; display:grid; width:42px; height:42px; place-items:center; transform:translateY(-50%); color:#173553; background:#fff; border:0; border-radius:50%; box-shadow:0 2px 9px #122d4930; }
.mosaic-prev { left:16px; }
.mosaic-next { right:16px; }
.mosaic-count { position:absolute; bottom:15px; left:17px; padding:6px 11px; color:white; background:#0c2038c7; border-radius:3px; font-size:12px; }
.mosaic-all-photos { position:absolute; right:19px; bottom:17px; display:inline-flex; align-items:center; padding:10px 14px; color:#fff; background:#102b49e8; border:0; border-radius:4px; font-size:12px; font-weight:700; }
.detail-reference-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding:0 0 19px; }
.detail-tags { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:8px; }
.detail-type-tags { display:contents; }
.detail-tag { display:inline-flex; align-items:center; padding:5px 11px; color:#31536e; background:#edf4f8; border:1px solid #d8e5ed; border-radius:999px; font-size:11px; font-weight:700; }
.detail-tag-status { color:#846720; background:#fff1bd; border-color:#f1e1a2; }
.detail-tag-special { color:#fff; background:#c84238; border-color:#c84238; }
.detail-reference-heading h1 { margin:0 0 5px; color:#102b49; font-size:clamp(26px,3vw,38px); font-weight:800; letter-spacing:.025em; }
.detail-reference-heading .detail-address { font-size:13px; }
.detail-reference-heading .detail-address i { color:#607e94; }
.detail-favorite { display:inline-flex; flex:0 0 auto; align-items:center; gap:8px; padding:9px 14px; color:#173553; background:#fff; border:1px solid #d8e3eb; border-radius:999px; font-size:12px; font-weight:700; }
.detail-favorite i { font-size:17px; line-height:1; }
.detail-favorite.is-favorite { color:#d7354f; border-color:#efc6ce; background:#fff8f9; }
.detail-metrics { display:grid; grid-template-columns:1.2fr .75fr 1.6fr; margin:0 0 20px; padding:16px 0; border-top:1px solid #dfe7ed; border-bottom:1px solid #dfe7ed; }
.detail-metric { display:flex; min-width:0; flex-direction:column; justify-content:center; gap:4px; padding:2px 26px; border-left:1px solid #dfe7ed; }
.detail-metric:first-child { padding-left:20px; border-left:0; }
.detail-metric > span { color:#728496; font-size:13px; font-weight:600; }
.detail-metric > strong { color:#102b49; font-size:clamp(22px,2.2vw,32px); font-weight:800; line-height:1.3; }
.detail-metric-price > strong { font-size:clamp(27px,3vw,42px); }
.detail-metric-price .has-discount { display:flex; flex-wrap:wrap; align-items:baseline; gap:10px; }
.detail-metric-price .has-discount del { color:#8795a0; font-size:15px; font-weight:500; }
.detail-metric-price .price-special { color:#bb3a35; }
.detail-information-grid { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(250px,1.05fr) minmax(205px,.78fr); align-items:stretch; gap:18px; }
.detail-overview-panel,.detail-access-panel,.detail-contact-panel { min-width:0; padding:17px; border:1px solid #e0e8ee; border-radius:5px; background:#fff; box-shadow:0 5px 18px #102b4908; }
.detail-overview-panel h2,.detail-access-panel h2,.detail-contact-panel h2 { margin:0 0 12px; color:#102b49; font-size:19px; font-weight:800; }
.detail-description { margin:0 0 14px; color:#536b7e; font-size:12px; line-height:1.75; }
.property-reference-detail .detail-table { border-top:1px solid #e1e8ee; }
.property-reference-detail .detail-table th,.property-reference-detail .detail-table td { padding:9px 11px; font-size:12px; }
.property-reference-detail .detail-table th { width:31%; white-space:nowrap; }
.property-reference-detail .detail-note-cell { color:#435f77; line-height:1.7; white-space:pre-line; }
.detail-subheading { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.detail-subheading .map-open-link { flex:0 0 auto; margin:0; font-size:10px; }
#mapDiv { width:100%; max-width:100%; height:188px; min-height:0; margin:0; aspect-ratio:auto; overflow:hidden; background:#e8eff4; }
#mapDiv iframe { display:block; width:100%; height:100%; min-height:0; border:0; }
.detail-access-list { margin-top:8px; border-top:1px solid #e4ebf0; }
.detail-access-item { display:grid; grid-template-columns:20px minmax(0,1fr) auto; align-items:center; gap:7px; min-height:30px; padding:6px 3px; color:#466177; border-bottom:1px solid #e8edf1; font-size:10px; }
.detail-access-item > i { color:#315f87; font-size:12px; text-align:center; }
.detail-access-item > strong { min-width:0; font-size:10px; font-weight:600; line-height:1.45; }
.detail-access-item > span { color:#536b7e; font-size:10px; white-space:nowrap; }
.detail-access-empty { margin:9px 0 0; color:#8493a1; font-size:11px; }
.detail-contact-panel { display:flex; flex-direction:column; justify-content:center; background:#f4f7fa; }
.detail-contact-panel h2 { margin-bottom:16px; font-size:17px; line-height:1.55; }
.detail-contact-panel .btn { display:flex; align-items:center; justify-content:center; min-height:42px; margin-bottom:9px; font-size:12px; font-weight:700; }
.detail-contact-panel .btn-outline-ink { color:#173553; background:#fff; border:1px solid #bdcbd7; }
.detail-contact-panel > p { margin:7px 0 0; color:#758697; font-size:11px; line-height:1.65; }
.detail-resources { margin-top:36px; scroll-margin-top:28px; }
.detail-resource-tabs { display:flex; gap:6px; overflow-x:auto; border-bottom:1px solid #dfe7ed; }
.detail-resource-tabs button { flex:0 0 auto; min-height:43px; padding:10px 23px; color:#536b7e; background:transparent; border:0; border-bottom:3px solid transparent; font-size:13px; font-weight:700; }
.detail-resource-tabs button.active { color:#102b49; border-bottom-color:#102b49; }
.detail-resource-panel { padding-top:15px; }
.detail-photo-strip { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; }
.detail-strip-photo { height:144px; border-radius:4px; }
.detail-strip-photo.active { outline:3px solid #315f87; outline-offset:-3px; }
.resource-empty { display:flex; min-height:130px; flex-direction:column; align-items:center; justify-content:center; gap:9px; color:#8191a0; background:#f5f8fa; border:1px dashed #d5e0e8; border-radius:4px; }
.resource-empty i { font-size:24px; }
.resource-empty p { margin:0; font-size:13px; }
.resource-document { display:flex; align-items:center; gap:13px; padding:18px; border:1px solid #e0e8ee; border-radius:4px; }
.resource-document > i { color:#315f87; font-size:28px; }
.resource-document > div { display:flex; flex:1; flex-direction:column; gap:4px; }
.resource-document strong { color:#173553; font-size:13px; }
.resource-document span,.simulation-note { color:#758697; font-size:11px; }
.resource-document .btn { font-size:11px; }
.income-simulation { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid #e0e8ee; border-radius:4px; }
.income-simulation > div { display:flex; min-height:86px; flex-direction:column; justify-content:center; gap:6px; padding:12px 16px; border-left:1px solid #e0e8ee; }
.income-simulation > div:first-child { border-left:0; }
.income-simulation span { color:#788898; font-size:11px; }
.income-simulation strong { color:#173553; font-size:16px; }
.simulation-note { margin:9px 0 0; }
.detail-related-section { padding-top:38px; }
.detail-section-heading { display:flex; align-items:end; justify-content:space-between; gap:14px; margin-bottom:15px; }
.detail-section-heading .eyebrow { margin-bottom:3px; font-size:10px; }
.detail-section-heading h2 { margin:0; font-size:23px; }
.detail-section-heading > a { color:#173553; font-size:12px; font-weight:700; text-decoration:none; }
.related-property-card { display:block; height:100%; overflow:hidden; color:#173553; background:white; border:1px solid #e0e8ee; border-radius:4px; box-shadow:0 3px 10px #102b4908; text-decoration:none; }
.related-property-image { position:relative; height:clamp(100px,12vw,150px); overflow:hidden; background:#e9f0f4; }
.related-property-image img { width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.related-property-card:hover .related-property-image img { transform:scale(1.035); }
.related-special-label { position:absolute; top:8px; left:8px; padding:4px 7px; color:#fff; background:#c84238; border-radius:3px; font-size:10px; font-weight:800; }
.related-property-copy { display:flex; flex-direction:column; gap:4px; padding:10px 12px 12px; }
.related-property-copy > span { align-self:flex-start; padding:3px 6px; color:#34536e; background:#edf4f8; border-radius:3px; font-size:10px; font-weight:700; }
.related-property-copy > strong { color:#748596; font-size:10px; font-weight:500; }
.related-property-copy h3 { margin:0; color:#173553; font-size:13px; font-weight:800; line-height:1.5; }
.related-property-copy > b { color:#102b49; font-size:17px; }
.related-property-copy > div { display:flex; flex-wrap:wrap; gap:4px 12px; color:#61768a; font-size:10px; }
.property-reference-detail .property-video { margin-top:38px; }
.property-reference-detail .property-video h2 { color:#102b49; font-size:22px; }
.property-reference-detail .sample-data-note { margin-top:24px; }
@media(max-width:991.98px) {
  .property-reference-detail .detail-information-grid { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); }
  .detail-contact-panel { grid-column:1 / -1; display:flex; flex-direction:column; align-items:stretch; justify-content:center; gap:8px; }
  .detail-contact-panel h2 { margin:0 0 4px; }
  .detail-contact-panel .btn { margin:0; }
  .detail-contact-panel > p { margin-top:2px; }
}
@media(max-width:767.98px) {
  .property-search-page > .page-heading { min-height:175px; margin-bottom:22px; padding:20px 18px; }
  .property-search-page > .page-heading h1 { font-size:30px; }
  .property-search-page > .page-heading > p:last-child { font-size:12px; }
  .property-reference-detail { padding-top:12px; }
  .detail-photo-mosaic { height:auto; grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(240px,56vw) auto; gap:7px; }
  .detail-mosaic-main { grid-row:auto; min-height:0; }
  .detail-mosaic-main > img { min-height:0; height:100%; }
  .detail-mosaic-side { grid-column:auto; grid-row:auto; grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-rows:85px; gap:7px; min-height:0; }
  .mosaic-arrow { width:36px; height:36px; }
  .mosaic-prev { left:10px; }
  .mosaic-next { right:10px; }
  .mosaic-count { bottom:10px; left:11px; font-size:10px; }
  .mosaic-all-photos { right:10px; bottom:9px; padding:8px 10px; font-size:10px; }
  .detail-reference-heading { align-items:flex-start; flex-direction:column; gap:12px; padding-bottom:14px; }
  .detail-reference-heading h1 { font-size:25px; }
  .detail-favorite { padding:7px 11px; }
  .detail-metrics { grid-template-columns:1fr 1fr; row-gap:12px; padding:12px 0; }
  .detail-metric { padding:0 12px; }
  .detail-metric:first-child { grid-column:1 / -1; padding:0 12px 10px; border-bottom:1px solid #e2e9ee; }
  .detail-metric:nth-child(2) { border-left:0; }
  .detail-metric > span { font-size:11px; }
  .detail-metric > strong { font-size:20px; }
  .detail-metric-price > strong { font-size:29px; }
  .property-reference-detail .detail-information-grid { grid-template-columns:1fr; gap:12px; }
  .detail-contact-panel { grid-column:auto; }
  .detail-photo-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .detail-strip-photo { height:120px; }
  .detail-resource-tabs button { padding-inline:14px; font-size:12px; }
  .income-simulation { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .income-simulation > div:nth-child(3) { border-left:0; border-top:1px solid #e0e8ee; }
  .income-simulation > div:nth-child(4) { border-top:1px solid #e0e8ee; }
  .resource-document { align-items:flex-start; flex-wrap:wrap; }
  .resource-document .btn { margin-left:40px; }
}

@media(max-width:767.98px) {
  .reference-home .mobile-projects-more-wrap { display:block!important; padding:0 14px 17px; }
  .mobile-projects-more { display:flex; min-height:40px; align-items:center; justify-content:center; gap:9px; color:#173a5d; background:#edf4f9; border-radius:4px; font-size:11px; font-weight:800; text-decoration:none; }
  .reference-home .reference-project-grid > article:nth-child(2) { display:block; }
  .reference-home .reference-project-grid { grid-template-columns:1fr; gap:12px; }
  .reference-home .reference-projects { padding-bottom:0; }
  .mobile-why-section { padding:8px 0 14px; }
  .mobile-why-section .mobile-why { margin:0; }
  .mobile-why-section .mobile-why-hero { min-height:160px; }
  .mobile-sale { padding:14px 0 18px; }
  .mobile-sale-card { background:#082c55; }
  .mobile-sale-card > img { height:175px; object-position:65% 44%; }
  .mobile-sale-card > div { padding:14px 16px 16px; color:#fff; }
  .mobile-sale-card h2 { color:#fff; font-size:18px; }
  .mobile-sale-card p { color:#d6e2ed; }
  .mobile-home-contact { padding:9px 0 15px; }
  .mobile-home-contact-card { position:relative; min-height:277px; padding:145px 13px 13px; overflow:hidden; border-radius:7px; background:#eff5fa; text-align:center; }
  .mobile-home-contact-card > img { position:absolute; top:7px; right:14px; width:145px; height:145px; object-fit:contain; }
  .mobile-home-contact-card h2 { position:relative; margin:0 0 8px; color:#173553; font-size:17px; font-weight:800; line-height:1.45; text-align:left; }
  .mobile-home-contact-card > p { margin:0 0 8px; color:#59728a; font-size:10px; }
  .mobile-home-contact-actions { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
  .mobile-home-contact-actions a { display:flex; min-height:54px; align-items:center; justify-content:center; flex-direction:column; gap:4px; color:#173553; background:#fff; border:1px solid #e0e9f0; border-radius:4px; font-size:10px; font-weight:700; text-decoration:none; }
  .mobile-home-contact-actions a:last-child { grid-column:1 / -1; }
  .mobile-home-contact-actions i { font-size:17px; }
  .mobile-company-showcase { padding:0 0 17px; }
  .mobile-company-card { display:block; color:#173553; text-decoration:none; }
  .mobile-company-brand { display:flex; align-items:center; gap:8px; margin:0 0 10px; }
  .mobile-company-brand > img { width:37px; height:37px; object-fit:contain; }
  .mobile-company-brand strong,.mobile-company-brand small { display:block; }
  .mobile-company-brand strong { font-size:12px; font-weight:800; }
  .mobile-company-brand small { margin-top:2px; color:#71879a; font:600 7px "DM Sans",sans-serif; letter-spacing:.08em; }
  .mobile-company-building { display:block; width:100%; height:160px; margin-bottom:10px; object-fit:cover; border-radius:4px; }
  .mobile-company-copy { display:block; margin:0 0 8px; color:#526a80; font-size:12px; line-height:1.65; }
  .mobile-company-more { display:inline-flex; align-items:center; gap:10px; padding:7px 12px; border:1px solid #9fb1c3; border-radius:3px; background:#fff; color:#173a5d; font-size:10px; font-weight:800; }
}
@media print {
  .topline,[data-site-nav],[data-site-footer],.detail-favorite,.mosaic-arrow,.mosaic-all-photos,.detail-resource-tabs,.detail-photo-strip,.detail-related-section,.detail-contact-panel,.property-video,.sample-data-note { display:none!important; }
  .property-detail-page,.property-reference-detail { background:#fff!important; }
  .property-reference-detail { width:100%; max-width:none; padding:0; }
  .detail-photo-mosaic { height:310px; max-height:310px; grid-template-rows:150px 150px; }
  .detail-mosaic-main,.detail-mosaic-main > img,.detail-mosaic-side { min-height:300px; }
  .detail-information-grid { grid-template-columns:1.6fr 1fr!important; }
  .detail-access-panel { grid-column:2; }
  .detail-metric,.detail-overview-panel,.detail-access-panel { break-inside:avoid; }
  .detail-map-frame { height:150px; min-height:150px; }
}
@media(max-width:991.98px) {
  .property-search-layout { grid-template-columns:minmax(0,1fr); gap:18px; }
  .property-search-layout .search-panel { position:static; }
}
@media(max-width:575.98px) {
  .property-search-page .results-toolbar { align-items:flex-start; gap:10px; flex-direction:column; }
  .property-search-page .results-tools { width:100%; justify-content:space-between; }
  .property-search-page .property-image { height:130px; }
  .property-search-page #propertyResults.is-list .property-card { grid-template-columns:120px minmax(0,1fr); }
  .property-search-page #propertyResults.is-list .property-image { min-height:160px; }
  .property-search-page #propertyResults.is-list .property-body { padding:10px; }
  .property-search-page #propertyResults.is-list .favorite { left:86px; }
}

/* Mobile property detail layout. Desktop property detail remains on the original layout. */
.mobile-detail-content { display:none; }
@media(max-width:767.98px) {
  .property-detail-page .site-nav .container-xl { align-items:center; flex-direction:row; gap:12px; }
  .property-detail-page .site-nav .container-xl > .navbar-brand { align-items:center!important; flex-direction:row!important; margin:0 auto 0 0; }
  .property-detail-page .site-nav .container-xl > .d-flex { align-items:center!important; flex-direction:row!important; }
  .property-detail-page .site-nav .brand-mark { width:38px; height:38px; }
  .property-detail-page .site-nav .brand-copy strong { font-size:13px; }
  .property-detail-page .site-nav .brand-copy small { font-size:7px; }
  .property-detail-page .site-nav .navbar-toggler { margin-left:auto; }
  .property-detail-page { background:#f8fbfd; }
  .property-detail-page .detail-main { width:100%; max-width:none; padding:0 12px 26px; }
  .property-detail-page .detail-breadcrumb { margin:0 -12px 0; padding:9px 16px; background:#fff; border-top:1px solid #edf1f5; border-bottom:1px solid #edf1f5; }
  .property-detail-page .detail-breadcrumb .breadcrumb { margin:0; font-size:11px; }
  .property-detail-page .detail-photo-mosaic { height:auto; display:block; margin:0 -12px 14px; }
  .property-detail-page .detail-mosaic-main { height:auto; aspect-ratio:1.48; border-radius:0; }
  .property-detail-page .detail-mosaic-main > img { height:100%; }
  .property-detail-page .detail-mosaic-side,.property-detail-page .mosaic-all-photos { display:none; }
  .property-detail-page .mosaic-arrow { width:38px; height:38px; color:#fff; background:#173553ad; border:1px solid #ffffffaa; }
  .property-detail-page .mosaic-prev { left:13px; }
  .property-detail-page .mosaic-next { right:13px; }
  .property-detail-page .mosaic-count { right:14px; bottom:12px; left:auto; padding:5px 9px; border-radius:16px; }
  .property-detail-page .mobile-detail-content { display:block; }
  .property-detail-page .detail-reference-heading,.property-detail-page > main > .detail-metrics,.property-detail-page .detail-information-grid,.property-detail-page .detail-resources,.property-detail-page .detail-related-section,.property-detail-page .sample-data-note { display:none!important; }
  .mobile-detail-heading { padding:0 4px 13px; }
  .mobile-detail-heading .detail-tags { margin-bottom:9px; }
  .mobile-detail-heading .detail-tag { padding:5px 9px; border-radius:4px; }
  .mobile-detail-heading .detail-tag-status { color:#886718; background:#fff0b5; border-color:#ffe9a0; }
  .mobile-detail-heading h1 { margin:0 0 6px; color:#102b49; font-size:24px; font-weight:800; line-height:1.4; }
  .mobile-detail-heading p { margin:0; color:#536b7e; font-size:14px; line-height:1.7; white-space:pre-line; }
  .mobile-detail-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0 0 14px; padding:10px 0; border-block:1px solid #dfe7ed; }
  .mobile-detail-metrics > div { display:flex; min-width:0; flex-direction:column; justify-content:center; gap:6px; padding:0 8px; border-left:1px solid #dfe7ed; text-align:center; }
  .mobile-detail-metrics > div:first-child { border-left:0; text-align:left; }
  .mobile-detail-metrics span { color:#728496; font-size:10px; font-weight:600; }
  .mobile-detail-metrics strong { color:#102b49; font-size:17px; font-weight:800; line-height:1.3; }
  .mobile-detail-metrics > div:first-child strong { font-size:20px; }
  .mobile-detail-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:20px; padding:12px 5px; background:#f0f6fb; border-radius:6px; }
  .mobile-detail-facts > div { display:flex; min-width:0; flex-direction:column; align-items:center; gap:6px; padding:2px 4px; border-left:1px solid #d7e4ed; color:#315575; text-align:center; }
  .mobile-detail-facts > div:first-child { border-left:0; }
  .mobile-detail-facts i { font-size:22px; line-height:1; }
  .mobile-detail-facts span { color:#536b7e; font-size:9px; line-height:1.45; white-space:pre-line; }
  .mobile-detail-points,.mobile-detail-photos,.mobile-detail-location,.mobile-detail-related { margin:0 0 22px; }
  .mobile-detail-section-title { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:9px; }
  .mobile-detail-section-title h2 { margin:0; color:#102b49; font-size:18px; font-weight:800; }
  .mobile-detail-section-title > span { height:2px; flex:1; background:#8ba1b7; }
  .mobile-detail-section-title a,.mobile-detail-section-title button { display:inline-flex; align-items:center; gap:6px; padding:0; color:#173553; background:transparent; border:0; font-size:11px; font-weight:700; text-decoration:none; white-space:nowrap; }
  .mobile-detail-points article { display:grid; grid-template-columns:52px minmax(0,1fr); align-items:center; gap:12px; padding:7px 0; }
  .mobile-detail-points article > i { display:grid; width:48px; height:48px; place-items:center; color:#173553; background:#eaf3fa; border-radius:50%; font-size:23px; }
  .mobile-detail-points h3 { margin:0 0 2px; color:#173553; font-size:14px; font-weight:800; }
  .mobile-detail-points p { margin:0; color:#536b7e; font-size:12px; line-height:1.55; }
  .mobile-detail-photos [data-mobile-photo-strip] { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
  .mobile-detail-photo { height:auto; aspect-ratio:1.05; border-radius:4px; }
  .mobile-detail-location > p { margin:0 0 8px; color:#61768a; font-size:13px; }
  .mobile-detail-location .mobile-detail-map { height:118px; overflow:hidden; background:#e8eff4; border-radius:5px; }
  .mobile-detail-map iframe { width:100%; height:100%; border:0; }
  .mobile-detail-related [data-mobile-related-properties] { display:flex; gap:9px; overflow-x:auto; padding-bottom:4px; scroll-snap-type:x mandatory; }
  .mobile-related-card { flex:0 0 44%; min-width:0; scroll-snap-align:start; }
  .mobile-related-card .related-property-image { height:100px; }
  .mobile-related-card .related-property-copy { gap:3px; padding:8px; }
  .mobile-related-card .related-property-copy h3 { font-size:11px; }
  .mobile-related-card .related-property-copy > b { font-size:14px; }
  .mobile-related-card .related-property-copy > div { font-size:9px; }
  .mobile-detail-contact { margin:0 -2px 2px; padding:15px 13px; background:#f0f6fb; border-radius:7px; }
  .mobile-detail-contact h2 { margin:0 0 3px; color:#173553; font-size:17px; font-weight:800; }
  .mobile-detail-contact > p { margin:0 0 10px; color:#61768a; font-size:11px; }
  .mobile-detail-contact-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .mobile-detail-contact-actions .btn { display:flex; min-height:44px; align-items:center; justify-content:center; gap:7px; padding:7px; font-size:10px; font-weight:700; white-space:nowrap; }
  .mobile-detail-contact-actions .btn-outline-ink { color:#173553; background:#fff; border-color:#aabccc; }
  .mobile-detail-social-title { display:flex; align-items:center; gap:7px; margin:13px 0 9px; color:#536b7e; font-size:9px; font-weight:700; white-space:nowrap; }
  .mobile-detail-social-title span { height:1px; flex:1; background:#bac9d6; }
  .mobile-detail-socials { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
  .mobile-detail-socials a { display:flex; min-height:40px; align-items:center; justify-content:center; gap:5px; color:#087e4c; background:#e1f5ef; border-radius:6px; font-size:10px; font-weight:700; text-decoration:none; }
  .mobile-detail-socials i { font-size:17px; }
  .property-detail-page .site-footer { width:100%; margin:22px 0 0; padding:18px 0 14px; color:#fff; background:#062449; }
  .property-detail-page .site-footer .container-xl { width:calc(100% - 34px); }
  .property-detail-page .site-footer .footer-main { min-height:0; display:block; }
  .property-detail-page .site-footer .navbar-brand { display:flex!important; margin:0 0 12px; color:#fff; }
  .property-detail-page .site-footer .brand-mark { width:40px; height:40px; }
  .property-detail-page .site-footer .brand-mark img { filter:brightness(0) invert(1); }
  .property-detail-page .site-footer .brand-copy strong { font-size:12px; }
  .property-detail-page .site-footer .brand-copy small { font-size:7px; }
  .property-detail-page .site-footer .footer-links,.property-detail-page .site-footer .social-links,.property-detail-page .site-footer .mobile-footer-address,.property-detail-page .site-footer .mobile-footer-language { display:none!important; }
  .property-detail-page .site-footer .footer-bottom { display:block; margin:0; padding:0; border:0; color:#c7d6e6; }
  .property-detail-page .site-footer .footer-bottom > span { display:none; }
  .property-detail-page .site-footer .footer-bottom > div { display:flex; gap:18px; font-size:10px; }
  .property-detail-page .site-footer .mobile-footer-copyright { display:block!important; margin:8px 0 0; color:#c7d6e6; font-size:9px; line-height:1.5; }
}

@media(max-width:767.98px) {
  .reference-home .reference-properties,
  .reference-home .reference-projects,
  .reference-home .reference-news { display:none!important; }
  .reference-home .quick-service-row {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    height:auto!important;
    min-height:0;
  }
  .reference-home .quick-service-row > .col-6 {
    width:auto;
    flex:none;
    max-width:none;
  }
  .reference-home .quick-service-row > .col-12 {
    grid-column:1 / -1;
    width:auto;
    flex:none;
    max-width:none;
  }
}


/* Property editor and downloadable detail resources */
.admin-access-editor { padding:12px; border:1px solid #dce5ec; border-radius:6px; background:#f7f9fb; }
.admin-access-editor > strong { display:block; margin-bottom:8px; color:#193956; }
.admin-access-row { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(120px,1fr) 36px; gap:8px; margin-top:8px; }
.detail-floorplan-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:12px; }
.detail-floorplan-thumb { position:relative; display:block; min-height:160px; padding:0; overflow:hidden; background:#f1f4f6; border:1px solid #dce5ec; border-radius:5px; cursor:zoom-in; }
.detail-floorplan-thumb img { display:block; width:100%; height:100%; min-height:160px; object-fit:contain; }
.detail-floorplan-thumb > i { position:absolute; right:9px; bottom:9px; display:grid; width:34px; height:34px; place-items:center; color:#fff; background:#102b49d9; border-radius:50%; }
.detail-floorplan-thumb:hover img { transform:scale(1.025); }
.detail-document-list { display:grid; gap:8px; margin-bottom:10px; }
.detail-document-link { color:inherit; text-decoration:none; }
.detail-document-link .btn { flex:0 0 auto; }
@media(max-width:767.98px) {
  .admin-access-row { grid-template-columns:minmax(0,1fr) 36px; }
  .admin-access-row [data-access-name] { grid-column:1; }
  .admin-access-row [data-access-detail] { grid-column:1; }
  .admin-access-row [data-remove-access] { grid-column:2; grid-row:1 / span 2; }
  .property-search-page > .page-heading { background-size:100% 100%,cover; background-position:center,right center; }
}

/* Business page reference layout */
.business-page > .business-hero { position:relative; left:auto; width:100vw; max-width:none; margin:0 0 34px calc(50% - 50vw); box-sizing:border-box; min-height:clamp(205px,12.5vw,275px); align-items:flex-start; justify-content:center; padding:16px max(24px,4vw,calc((100vw - 1480px)/2)); color:#102b49; background-color:#e9f3f8; background-image:linear-gradient(90deg,rgba(247,249,250,.82) 0%,rgba(245,249,251,.61) 34%,rgba(239,247,251,.04) 52%,rgba(239,247,251,0) 58%),url("../images/client-reference/business-hero-reference.webp"); background-position:center,right center; background-size:100% 100%,cover; }
.business-page > .business-hero .eyebrow { margin-bottom:3px; color:#54738c; font-size:10px; }
.business-page > .business-hero h1 { margin-bottom:3px; color:#102b49; font-size:clamp(32px,3.3vw,42px); }
.business-page > .business-hero h2 { margin:0 0 5px; color:#102b49; font-size:clamp(16px,1.55vw,20px); font-weight:800; }
.business-page > .business-hero > p:last-of-type { max-width:610px; margin:0 0 8px; color:#324e68; font-size:12px; line-height:1.45; }
.business-page > .business-hero .btn { padding:8px 18px; font-size:12px; }
.business-offerings { margin-bottom:26px; }
.business-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:20px; }
.business-section-heading .eyebrow { margin:0 0 6px; color:#6e8ba1; font-size:11px; letter-spacing:.12em; }
.business-section-heading h2 { margin:0; color:#102b49; font-size:clamp(25px,2.8vw,38px); font-weight:800; }
.business-section-heading > p { margin:0 0 3px; color:#536b7e; font-size:14px; line-height:1.8; }
.business-offer-card { display:flex; height:100%; flex-direction:column; overflow:hidden; color:inherit; background:#fff; border:1px solid #e1e9ef; border-radius:5px; box-shadow:0 4px 15px #102b4908; text-decoration:none; transition:transform .2s,box-shadow .2s; }
.business-offer-card:hover { color:inherit; transform:translateY(-3px); box-shadow:0 12px 28px #102b4914; }
.business-offer-image { position:relative; height:clamp(145px,13vw,195px); }
.business-offer-image img { display:block; width:100%; height:100%; object-fit:cover; }
.business-offer-image > span { position:absolute; top:12px; left:13px; color:#fff; font:600 15px "DM Sans",sans-serif; text-shadow:0 1px 5px #102b4980; }
.business-offer-image > i { position:absolute; right:13px; bottom:-22px; display:grid; width:66px; height:66px; place-items:center; color:#173553; background:#f0f6fa; border:5px solid #fff; border-radius:50%; font-size:27px; }
.business-offer-image > .business-offer-icon { position:absolute; right:13px; bottom:-22px; display:block; width:66px; height:66px; padding:8px; object-fit:contain; background:#f0f6fa; border:5px solid #fff; border-radius:50%; }
.business-offer-copy { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:17px 20px 19px; }
.business-offer-copy h3 { margin:0 0 10px; color:#102b49; font-size:20px; font-weight:800; line-height:1.45; }
.business-offer-copy p { margin:0 0 12px; color:#65798b; font-size:13px; line-height:1.8; }
.business-offer-copy .text-link { margin-top:auto; color:#173553; font-size:14px; font-weight:800; }
.business-page .business-process { display:block; margin:34px 0 28px; padding:0; color:#102b49; background:transparent; }
.business-page .business-process .eyebrow { color:#6e8ba1; }
.business-page .business-process h2 { font-size:clamp(26px,2.7vw,36px); font-weight:800; }
.business-page .business-process .business-section-heading { margin-bottom:15px; }
.business-process-steps { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); }
.business-process-steps article { display:flex; flex-direction:column; align-items:center; gap:5px; min-height:0; padding:8px 14px 4px; border-left:0; text-align:center; }
.business-process-icon { display:grid; width:100px; height:100px; place-items:center; margin-bottom:4px; overflow:hidden; color:#183c60; background:#f0f6fa; border:1px solid #e3edf3; border-radius:50%; }
.business-process-icon i { font-size:39px; }
.business-process-icon img { display:block; width:100%; height:100%; object-fit:cover; }
.business-offer-image > .business-handshake { position:absolute; top:auto; right:13px; bottom:-22px; left:auto; z-index:1; display:grid; width:66px; height:66px; place-items:center; color:#173553; background:#f0f6fa; border:5px solid #fff; border-radius:50%; font-size:27px; }
.business-handshake svg { width:1em; height:1em; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; fill:none; }
.business-process-steps article > span { color:#436788; font:700 13px "DM Sans",sans-serif; letter-spacing:.08em; }
.business-process-steps article strong { color:#102b49; font-size:16px; }
.business-process-steps article small { color:#667b8d; font-size:12px; line-height:1.65; }
.business-contact-banner { min-height:170px; display:flex; align-items:center; padding:24px 40px; overflow:hidden; color:#fff; background-color:#8ea9c0; background-image:linear-gradient(90deg,rgba(10,35,63,.32) 0%,rgba(10,35,63,.22) 38%,rgba(10,35,63,.08) 66%,rgba(10,35,63,0) 82%),url("../images/client-reference/business-contact-banner-reference.png"); background-position:center,center 50%; background-size:100% 100%,cover; background-repeat:no-repeat; border-radius:7px; }
.business-contact-banner .eyebrow { margin-bottom:7px; color:#c5d8e7; font-size:11px; }
.business-contact-banner h2 { margin:0 0 14px; color:#fff; font-size:clamp(21px,2.5vw,31px); font-weight:800; line-height:1.5; }
.business-contact-banner .btn { padding:10px 24px; color:#173553; font-weight:800; }
@media(max-width:767.98px) {
 .business-page > .business-hero { min-height:175px; margin-bottom:22px; padding:12px 18px; background-position:center,right center; background-size:100% 100%,auto 100%; }
 .business-page > .business-hero h1 { margin-bottom:2px; font-size:30px; }
 .business-page > .business-hero h2 { max-width:260px; margin-bottom:4px; font-size:15px; }
 .business-page > .business-hero > p:last-of-type { max-width:270px; margin-bottom:6px; font-size:11px; line-height:1.35; }
 .business-page > .business-hero .btn { padding:6px 12px; font-size:11px; }
 .business-section-heading { align-items:flex-start; flex-direction:column; gap:8px; }
 .business-section-heading > p { font-size:12px; }
 .business-offer-image { height:180px; }
 .business-offer-copy { padding:15px 15px 17px; }
 .business-offer-copy h3 { font-size:17px; }
 .business-offer-copy p { font-size:12px; }
 .business-process-steps { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:14px; }
 .business-process-steps article:last-child { grid-column:1 / -1; }
 .business-process-icon { width:82px; height:82px; }
 .business-process-icon i { font-size:32px; }
 .business-contact-banner { min-height:190px; padding:24px 20px; background-position:center,58% center; background-size:100% 100%,cover; }
}

/* News list matches the reference's category rail and compact image rows. */
.news-page > .page-heading { min-height:clamp(205px,12.5vw,275px); margin-bottom:28px; padding-block:24px; padding-inline:max(24px,4vw,calc((100vw - 1480px)/2)); color:#102b49; background-color:#e9f4fa; background-image:linear-gradient(90deg,rgba(246,249,250,.88) 0%,rgba(245,249,251,.65) 38%,rgba(245,249,251,.08) 70%),url("../images/client-reference/news-hero-reference.png"); background-size:100% 100%,cover; background-repeat:no-repeat; background-position:center,center 48%; }
.news-page > .page-heading .eyebrow { color:#54738c; font-size:10px; }
.news-page > .page-heading h1 { color:#102b49; font-size:clamp(31px,3.2vw,42px); }
.news-page > .page-heading > p:last-child { color:#344f68; font-size:14px; }
.news-page-layout { display:grid; grid-template-columns:190px minmax(0,1fr); gap:34px; align-items:start; }
.news-filter { display:flex; flex-direction:column; align-items:stretch; gap:0; padding:0; margin:0; overflow:visible; background:#fff; border:1px solid #e4eaf0; }
.news-filter .eyebrow,.news-filter h2 { display:none; }
.news-filter-button { position:relative; display:flex; flex:0 0 auto; align-items:center; justify-content:space-between; width:100%; padding:12px 28px 12px 16px; color:#183553; background:#fff; border:0; border-bottom:1px solid #e4eaf0; text-align:left; font-size:13px; }
.news-filter-button:last-child { border-bottom:0; }
.news-filter-button::after { content:"›"; position:absolute; right:15px; color:#183553; font-size:20px; line-height:1; }
.news-filter-button > span { display:none; }
.news-filter-button.active { color:#fff; background:#0d2850; font-weight:700; }
.news-filter-button.active::after { color:#fff; }
.news-articles { min-width:0; }
.news-article { position:relative; display:grid; grid-template-columns:minmax(120px,160px) minmax(0,1fr) 20px; grid-template-rows:auto auto; column-gap:17px; align-items:center; min-height:104px; padding:10px 0; border-bottom:1px solid #dfe7eb; }
.news-article:first-child { padding-top:0; }
.news-article-image { grid-column:1; grid-row:1 / span 2; width:100%; height:82px; aspect-ratio:auto; object-fit:cover; margin:0; border-radius:3px; }
.news-article-meta { grid-column:2; grid-row:1; display:flex; align-items:center; gap:12px; }
.news-article-meta time { color:#8ba0b2; font-family:"DM Sans",sans-serif; font-size:12px; }
.news-article-meta .news-category { padding:5px 11px; border-radius:20px; color:#183553; background:#eaf3fb; font-size:11px; }
.news-article h2 { grid-column:2; grid-row:2; min-width:0; margin:5px 0 0; color:#102b49; font-size:16px; font-weight:700; line-height:1.6; }
.news-article h2 a { color:inherit; text-decoration:none; }
.news-article h2 a:hover { color:#286394; text-decoration:underline; text-underline-offset:3px; }
.news-article p { display:none; }
.news-article .text-link { grid-column:3; grid-row:1 / span 2; display:flex; align-items:center; justify-content:flex-end; width:20px; height:100%; margin:0; overflow:hidden; color:#183553; font-size:0; }
.news-article .text-link i { font-size:14px; }
.news-pagination { display:flex; justify-content:center; gap:7px; margin-top:12px; }
.news-pagination:empty { display:none; }
.news-pagination button { display:grid; width:30px; height:30px; place-items:center; color:#60788c; background:#fff; border:1px solid #d8e2ea; border-radius:4px; font-size:11px; }
.news-pagination button.active { color:#fff; background:#0d2850; border-color:#0d2850; }
@media(max-width:767.98px) {
 .news-page > .page-heading { min-height:175px; margin-bottom:22px; padding:20px 18px; background-position:center,right center; }
 .news-page-layout { display:block; }
 .news-filter { flex-direction:row; align-items:stretch; gap:0; margin-bottom:15px; overflow-x:auto; }
 .news-filter-button { width:auto; min-width:max-content; padding:10px 25px 10px 12px; border-right:1px solid #e4eaf0; border-bottom:0; font-size:11px; }
 .news-filter-button::after { right:8px; font-size:16px; }
 .news-article { grid-template-columns:104px minmax(0,1fr) 16px; column-gap:12px; min-height:88px; padding:10px 0; }
 .news-article-image { height:68px; }
 .news-article-meta { gap:6px; }
 .news-article-meta time { font-size:10px; }
 .news-article-meta .news-category { padding:4px 8px; font-size:10px; }
 .news-article h2 { margin-top:4px; font-size:13px; line-height:1.55; }
 .news-article .text-link { width:16px; }
}

/* Mobile news listing follows the compact reference layout. */
@media (max-width: 767.98px) {
  .news-page > .page-heading {
    min-height: 120px;
    margin: 0 -12px 12px;
    padding: 14px 16px;
    background-position: center, right 46%;
  }
  .news-page > .page-heading .eyebrow { margin-bottom: 3px; font-size: 9px; }
  .news-page > .page-heading h1 { margin: 0 0 5px; font-size: 24px; }
  .news-page > .page-heading > p:last-child { max-width: 230px; margin: 0; font-size: 11px; line-height: 1.55; }
  .news-filter {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin: 0 0 8px;
    overflow: visible;
    border: 0;
  }
  .news-filter-button {
    justify-content: center;
    min-width: 0;
    padding: 8px 5px;
    border: 1px solid #e2eaf1;
    border-radius: 5px;
    background: #f3f7fb;
    font-size: 10px;
    white-space: nowrap;
  }
  .news-filter-button::after { content: none; }
  .news-filter-button.active { color: #fff; background: #0d2850; border-color: #0d2850; }
  .news-article {
    grid-template-columns: 62px minmax(0, 1fr) 12px;
    grid-template-rows: auto auto auto;
    column-gap: 9px;
    min-height: 94px;
    padding: 9px 0;
  }
  .news-article:first-child { padding-top: 4px; }
  .news-article-image { grid-row: 1 / span 3; height: 62px; border-radius: 4px; }
  .news-article-meta { grid-row: 1; gap: 5px; min-width: 0; }
  .news-article-meta time { font-size: 9px; white-space: nowrap; }
  .news-article-meta .news-category { max-width: 100px; padding: 3px 6px; overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
  .news-article h2 { grid-row: 2; margin: 3px 0 1px; font-size: 11px; line-height: 1.45; }
  .news-article p { display: -webkit-box; grid-column: 2; grid-row: 3; margin: 0; overflow: hidden; color: #647589; font-size: 9px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .news-article .text-link { grid-column: 3; grid-row: 1 / span 3; width: 12px; }
  .news-article .text-link i { font-size: 12px; }
  .news-pagination:not(:empty) { margin: 12px 0 18px; }
  .news-contact-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 18px 0 24px;
    padding: 14px 12px;
    color: #173654;
    background: #eef6fb;
    border-radius: 6px;
  }
  .news-contact-card > div { display: grid; grid-template-columns: 24px 1fr; align-items: center; column-gap: 7px; }
  .news-contact-card > div > i { grid-row: 1 / span 2; display: grid; width: 24px; height: 24px; place-items: center; color: #17436a; background: #dcecf8; border-radius: 50%; font-size: 13px; }
  .news-contact-card h2 { margin: 0; color: #102b49; font-size: 11px; font-weight: 700; }
  .news-contact-card p { margin: 2px 0 0; color: #62778a; font-size: 8px; }
  .news-contact-card .btn { flex: 0 0 auto; padding: 8px 10px; font-size: 9px; white-space: nowrap; }
}

/* Keep the inquiry banner aligned with the property search hero. */
body .inquiry-page > .page-heading { background-image:linear-gradient(90deg,rgba(246,249,250,.90) 0%,rgba(245,249,251,.70) 38%,rgba(245,249,251,.08) 72%),url("../images/client-reference/news-hero-reference.png"); background-size:100% 100%,cover; background-repeat:no-repeat; background-position:center,center 50%; }
body .inquiry-page .inquiry-page-card { padding:17px 16px 13px; }
@media(max-width:767.98px) {
 body .inquiry-page > .page-heading { background-position:center,right 50%; }
 body .inquiry-page .inquiry-page-card { padding:19px 16px; }
}

/* Match the About and Contact hero dimensions to the property search hero. */
body .about-page > .page-heading,
body .inquiry-page > .page-heading { position:relative; left:auto; width:100vw; max-width:none; margin-left:calc(50% - 50vw); box-sizing:border-box; min-height:clamp(205px,12.5vw,275px); padding-block:24px; padding-inline:max(24px,4vw,calc((100vw - 1480px)/2)); display:flex; flex-direction:column; justify-content:center; }
body .about-page > .page-heading { margin-bottom:28px; }
body .inquiry-page > .page-heading { margin-bottom:16px; }
@media(max-width:767.98px) {
 body .about-page > .page-heading,
 body .inquiry-page > .page-heading { min-height:175px; padding:20px 18px; }
 body .about-page > .page-heading { margin-bottom:22px; }
 body .inquiry-page > .page-heading { margin-bottom:14px; }
}

/* Full news article pages reached from the news list. */
.news-detail-page { padding-top:18px; padding-bottom:72px; }
.news-detail-page .inquiry-breadcrumb { overflow:hidden; white-space:nowrap; }
.news-detail-page .inquiry-breadcrumb [data-news-detail-crumb] { overflow:hidden; text-overflow:ellipsis; }
.news-detail-article { max-width:1080px; margin:0 auto; overflow:hidden; background:#fff; border:1px solid #e5ebf0; border-radius:6px; box-shadow:0 10px 34px rgba(16,43,73,.055); }
.news-detail-image { display:block; width:100%; max-height:460px; aspect-ratio:16/7; object-fit:cover; }
.news-detail-copy { max-width:850px; margin:0 auto; padding:clamp(25px,5vw,56px) clamp(20px,5vw,48px); }
.news-detail-meta { display:flex; align-items:center; gap:12px; margin-bottom:14px; color:#8295a6; font:500 13px "DM Sans",sans-serif; }
.news-detail-meta .news-category { padding:5px 11px; border-radius:20px; color:#183553; background:#eaf3fb; font:500 11px "Noto Sans JP",sans-serif; }
.news-detail-copy > h1 { margin:0 0 28px; color:#102b49; font-size:clamp(25px,3vw,38px); font-weight:800; line-height:1.55; }
.news-detail-body { color:#3e5368; font-size:16px; line-height:2.05; overflow-wrap:anywhere; }
.news-detail-body p { margin:0 0 1.35em; }
.news-detail-body h2,.news-detail-body h3 { margin:1.8em 0 .7em; color:#102b49; font-weight:800; line-height:1.55; }
.news-detail-body h2 { font-size:23px; }
.news-detail-body h3 { font-size:19px; }
.news-detail-body ul,.news-detail-body ol { margin:0 0 1.35em; padding-left:1.5em; }
.news-detail-body blockquote { margin:1.4em 0; padding:12px 18px; color:#526b81; background:#f3f7fa; border-left:3px solid #8daec7; }
.news-detail-body a { color:#1c5d92; text-decoration:underline; text-underline-offset:3px; }
.news-detail-back { display:inline-flex; align-items:center; margin-top:22px; padding-top:20px; color:#183553; border-top:1px solid #e4ebf0; font-size:13px; font-weight:700; text-decoration:none; }
.news-detail-not-found { max-width:760px; margin:40px auto 80px; padding:55px 24px; text-align:center; background:#f3f7fa; border-radius:6px; }
.news-detail-not-found > i { color:#8aa7bd; font-size:38px; }
.news-detail-not-found h1 { margin:12px 0; color:#102b49; font-size:25px; font-weight:800; }
.news-detail-not-found p,.news-detail-loading { color:#61778d; }
@media(max-width:767.98px) {
 .news-detail-page { padding-top:12px; padding-bottom:48px; }
 .news-detail-article { border-radius:4px; }
 .news-detail-image { min-height:190px; aspect-ratio:16/9; }
 .news-detail-copy { padding:24px 20px 30px; }
 .news-detail-copy > h1 { margin-bottom:20px; font-size:25px; }
 .news-detail-body { font-size:15px; line-height:1.95; }
 .news-detail-body h2 { font-size:21px; }
}

/* Keep the mobile overlay inset spacing on the reference homepage. */
@media (max-width: 1199.98px) {
  .reference-home .site-nav .navbar-collapse.show,
  .reference-home .site-nav .navbar-collapse.collapsing {
    padding:calc(22px + env(safe-area-inset-top)) 22px calc(22px + env(safe-area-inset-bottom));
    background:linear-gradient(145deg,rgba(17,57,91,.84),rgba(5,31,57,.91));
  }
  .reference-home .site-nav .mobile-menu-header .brand-mark img { filter:brightness(0) invert(1); }
  .reference-home .site-nav .navbar-collapse.show .navbar-nav .nav-link { font-size:14px; }
}

/* Mobile homepage composition from the three-panel scrolling reference. */
.mobile-home-only,.mobile-footer-address,.mobile-footer-language,.mobile-footer-linkedin,.mobile-footer-sitemap,.mobile-footer-copyright,.mobile-footer-project-link { display:none!important; }
@media (max-width: 575.98px) {
  .reference-home { overflow-x:hidden; }
  .reference-home .container-xl { width:calc(100% - 32px); }
  .reference-home .site-nav .container-xl { width:calc(100% - 26px); }
  .reference-home .site-nav { min-height:72px; border-bottom:0; }
  .reference-home .site-nav .navbar-brand { margin-right:0; }
  .reference-home .site-nav .brand-mark { width:40px; height:40px; }
  .reference-home .site-nav .brand-copy strong { font-size:13px; }
  .reference-home .site-nav .brand-copy small { font-size:7px; }
  .mobile-home-only { display:block!important; }
  .mobile-inline-label { display:inline!important; }
  .reference-home .desktop-home-label { display:none!important; }

  .reference-home .reference-hero { min-height:0; margin:0 12px; padding:0; overflow:visible; background:transparent; }
  .reference-home .reference-hero .hero-photo { inset:0 0 auto; height:clamp(690px,230vw,860px); border-radius:5px; background-image:url("../images/website/tokyo-skyline-hero.png"); background-position:20% center; background-size:auto 100%; }
  .reference-home .reference-hero .hero-shade { inset:0 0 auto; height:clamp(690px,230vw,860px); border-radius:5px; background:linear-gradient(180deg,rgba(242,249,254,.60),rgba(242,249,254,.08) 46%,transparent 75%); }
  .reference-home .reference-hero .hero-content { width:100%; padding:0 22px; }
  .reference-home .reference-hero .min-vh-hero { min-height:0; height:clamp(500px,163vw,610px); margin:0; padding:31px 0 0; align-items:flex-start!important; }
  .reference-home .reference-hero .eyebrow { display:none; }
  .reference-home .reference-hero h1 { max-width:250px; margin:0 0 13px; font-size:clamp(28px,7.8vw,32px); line-height:1.36; letter-spacing:.035em; }
  .reference-home .reference-hero .hero-lead { max-width:270px; margin:0; color:#173b60; font-size:10px; font-weight:700; line-height:1.75; }
  .mobile-hero-art { position:absolute; z-index:2; top:clamp(235px,72vw,280px); right:0; left:17px; height:335px; pointer-events:none; }
  .mobile-hero-art::before { position:absolute; inset:0; content:""; background:url("../images/client-reference/cheerful-mascot-overlooking-tokyo-skyline.webp") 82% bottom/auto 100% no-repeat; -webkit-mask-image:linear-gradient(transparent 5%,transparent 30%,#000 50%); mask-image:linear-gradient(transparent 5%,transparent 30%,#000 50%); }
  .mobile-hero-message { position:absolute; top:0; left:0; transform:rotate(-8deg); color:#102b49; font-size:18px; font-weight:800; line-height:1.45; letter-spacing:.07em; }
  .mobile-hero-message span { display:block; width:max-content; margin-top:8px; padding-top:8px; border-top:2px solid #102b49; font:700 13px/1.35 "DM Sans",sans-serif; letter-spacing:.02em; }
  .reference-home .reference-search-wrap { position:relative; z-index:3; bottom:auto; padding:0 11px 15px; }
  .reference-home .reference-search-wrap .container-xl { width:100%; padding:0; }
  .reference-home .search-tabs { display:none; }
  .reference-home .reference-search { display:grid; grid-template-columns:minmax(0,1fr); gap:9px; padding:16px 15px 18px; border:1px solid #e5edf4; border-radius:7px; background:#fff; box-shadow:0 5px 18px #0a2f5121; }
  .reference-home .mobile-search-title { display:flex!important; align-items:center; gap:10px; margin:0 0 3px; color:#102b49; font-size:16px; }
  .reference-home .mobile-search-title i { font-size:22px; }
  .reference-home .reference-search label { position:relative; display:flex; min-height:59px; flex-direction:column; justify-content:center; gap:2px; margin:0; padding:7px 30px 7px 11px; border:1px solid #dce7ef; border-radius:5px; background:#fff; font-size:11px; }
  .reference-home .reference-search label::after { position:absolute; top:50%; right:13px; width:7px; height:7px; content:""; border-right:1.5px solid #173d66; border-bottom:1.5px solid #173d66; transform:translateY(-65%) rotate(45deg); pointer-events:none; }
  .reference-home .reference-search label span:first-child { color:#55718b; font-size:10px; font-weight:700; }
  .reference-home .reference-search input,.reference-home .reference-search select { width:100%; height:25px; padding:0; border:0; outline:0; background:transparent; color:#173d66; font-size:11px; font-weight:600; }
  .reference-home .reference-search input::placeholder { color:#55718b; opacity:1; }
  .reference-home .reference-search select { appearance:none; }
  .reference-home .reference-search .home-price-range { gap:5px; }
  .reference-home .reference-search .home-price-range input { width:calc(50% - 12px); appearance:textfield; }
  .reference-home .reference-search .home-price-range span { color:#55718b; font-size:12px; }
  .reference-home .reference-search label:nth-of-type(5) { display:none; }
  .reference-home .reference-search .btn { grid-column:1; width:100%; min-height:44px; height:44px; margin-top:2px; border-radius:4px; font-size:12px; }
  .reference-home .advanced-search { grid-column:1; justify-self:center; margin:0; padding:5px; font-size:11px; text-decoration:underline; }
  .reference-home .reference-services { padding:6px 14px 15px; }
  .reference-home .quick-service-row { gap:0; }
  .reference-home .quick-service-row .service-link { min-height:105px; padding:12px 4px; border:0; }
  .reference-home .quick-service-row > .col-6:nth-child(odd) .service-link { border-right:1px solid #e0e9f0; }
  .reference-home .quick-service-row > .col-6:nth-child(n+3) .service-link { border-top:0; }
  .reference-home .quick-service-row > .col-12 .service-link { max-width:230px; min-height:112px; margin:auto; }
  .reference-home .reference-services .service-icon { font-size:33px; }
  .reference-home .reference-services .service-link strong { font-size:12px; }
  .reference-home .reference-services .service-link small { font-size:10px; }

  .mobile-intro { width:calc(100% - 32px); margin:0 auto; padding:0 0 28px; }
  .mobile-about-card { display:flex; min-height:185px; flex-direction:column; align-items:flex-start; justify-content:center; padding:20px; border-radius:6px; background:linear-gradient(90deg,rgba(226,237,245,.86),rgba(245,249,251,.25)),url("../images/client-reference/warm-minimalist-bedroom-with-tokyo-views.webp") center/cover; }
  .mobile-about-card strong { margin-bottom:16px; color:#102b49; font-size:22px; line-height:1.45; }
  .mobile-about-card span,.mobile-consult-banner span { display:inline-flex; align-items:center; gap:10px; padding:9px 16px; border:1px solid #9aaec1; border-radius:4px; background:#fff; color:#143858; font-size:11px; font-weight:800; }
  .mobile-why { margin-top:30px; }
  .mobile-why-hero { min-height:165px; padding:20px; border-radius:5px; background:url("../images/client-reference/cheerful-mascot-overlooking-tokyo-skyline.webp") 65% center/cover; }
  .mobile-why-hero h2 { margin:0 0 8px; color:#102b49; font-size:21px; font-weight:800; line-height:1.45; }
  .mobile-why-hero small { color:#557594; font:600 10px "DM Sans",sans-serif; letter-spacing:.04em; }
  .mobile-why-list { padding:10px 6px 0; }
  .mobile-why-list > div { display:flex; align-items:center; gap:18px; min-height:92px; border-bottom:1px solid #e4ebf0; }
  .mobile-why-list > div:last-child { border-bottom:0; }
  .mobile-why-list i { width:68px; flex:0 0 68px; color:#123e72; text-align:center; font-size:37px; line-height:1; }
  .mobile-why-list strong,.mobile-why-list small { display:block; }
  .mobile-why-list strong { color:#102b49; font-size:13px; }
  .mobile-why-list small { margin-top:5px; color:#637b90; font-size:10px; line-height:1.6; }
  .mobile-consult-banner { position:relative; display:flex; min-height:133px; flex-direction:column; align-items:flex-start; justify-content:center; margin-top:14px; padding:17px; overflow:hidden; border-radius:5px; color:#fff; background:linear-gradient(90deg,#062449 4%,#062449b8 45%,transparent 100%),url("../images/client-reference/business-contact-banner-reference.png") 86% center/auto 100% no-repeat,#062449; }
  .mobile-consult-banner strong { position:relative; z-index:1; margin-bottom:9px; font-size:17px; line-height:1.35; }
  .mobile-consult-banner span { position:relative; z-index:1; padding:7px 13px; border:0; font-size:10px; }
  .reference-home .mobile-finance-link.mobile-home-only { display:flex!important; }

  .reference-home .reference-properties,.reference-home .reference-projects,.reference-home .reference-news { display:block!important; }
  .reference-home .section-space { padding:25px 0; }
  .reference-home .reference-properties { padding-top:25px; padding-bottom:28px; }
  .reference-home .reference-properties .section-heading { align-items:flex-start!important; flex-wrap:wrap; gap:3px 8px; }
  .reference-home .reference-properties .reference-heading { align-items:baseline; gap:7px; }
  .reference-home .reference-properties .reference-heading h2 { font-size:22px; }
  .reference-home .reference-properties .mobile-inline-label { color:#7f95ab; font:600 10px "DM Sans",sans-serif; }
  .reference-home .reference-properties .text-link { width:100%; justify-content:flex-end; padding:0; font-size:10px; }
  .reference-home .reference-properties .row { gap:20px 0; }
  .reference-home .reference-properties .row > .col-sm-6:nth-child(n+3) { display:none; }
  .reference-home .reference-property-card { overflow:hidden; border-radius:6px; box-shadow:0 4px 15px #102b4910; }
  .reference-home .reference-property-card .property-image { height:235px; }
  .reference-home .reference-property-card .property-type-badge { top:11px; left:11px; padding:7px 10px; font-size:10px; }
  .reference-home .reference-property-card .second-badge { left:106px; background:#fff; }
  .reference-home .reference-property-card .favorite { top:10px; right:10px; width:31px; height:31px; }
  .reference-home .reference-property-card .property-body { padding:14px 13px 16px; }
  .reference-home .reference-property-card .property-location { font-size:11px; }
  .reference-home .reference-property-card .property-body h3 { margin:3px 0; font-size:17px; }
  .reference-home .reference-property-card .property-price { font-size:23px; }
  .reference-home .reference-property-card .property-price span { font-size:14px; }
  .reference-home .reference-property-card .property-meta,.reference-home .reference-property-card .property-access { font-size:11px; }
  .reference-home .reference-property-card .property-details-link { margin-top:10px; padding:10px; font-size:12px; }
  .mobile-property-dots { display:flex!important; justify-content:center; gap:8px; padding:17px 0 0; }
  .mobile-property-dots span { width:6px; height:6px; border-radius:50%; background:#ccd7e3; }
  .mobile-property-dots span:first-child { background:#102b49; }

  .reference-home .reference-types { padding-top:18px; padding-bottom:23px; }
  .reference-home .reference-types .reference-panel { padding:0; }
  .reference-home .reference-types .section-heading { margin-bottom:14px!important; }
  .reference-home .reference-types .reference-heading { display:block; }
  .reference-home .reference-types .reference-heading h2 { font-size:20px; }
  .reference-home .reference-types .reference-heading > span { display:block; margin-top:4px; font-size:10px; }
  .reference-home .reference-types .row { gap:10px 0; }
  .reference-home .reference-types .row > .col-6 { width:100%; }
  .reference-home .reference-types .row > .col-6:nth-child(3) { display:none; }
  .reference-home .reference-types .type-card img { height:110px; }
  .reference-home .reference-types .type-card > span { min-height:69px; padding:10px 13px; }
  .reference-home .reference-types .type-card strong { font-size:13px; }
  .reference-home .reference-types .type-card small { font-size:10px; }
  .reference-home .reference-types .type-card i { width:33px; height:33px; font-size:14px; }
  .mobile-finance-link { display:flex; align-items:center; gap:13px; min-height:72px; margin-top:15px; padding:13px 16px; border-radius:5px; background:#f0f5f9; color:#173a5d; }
  .mobile-finance-link > i:first-child { font-size:30px; }
  .mobile-finance-link > i:last-child { display:grid; width:27px; height:27px; place-items:center; margin-left:auto; border:1px solid #cfdae4; border-radius:50%; font-size:13px; }
  .mobile-finance-link strong,.mobile-finance-link small { display:block; }
  .mobile-finance-link strong { font-size:12px; }
  .mobile-finance-link small { margin-top:3px; color:#7890a4; font-size:10px; }

  .mobile-business { padding:24px 0 21px; }
  .mobile-business > .container-xl > .reference-heading { align-items:baseline; gap:7px; margin-bottom:13px; }
  .mobile-business .reference-heading h2 { font-size:20px; }
  .mobile-business-card { margin-bottom:12px; padding:12px; border-radius:6px; background:#f1f5f9; }
  .mobile-business-existing { background:#f8f4ed; }
  .mobile-business-title { display:flex; align-items:center; gap:12px; margin-bottom:10px; }
  .mobile-business-title b { display:grid; width:40px; height:40px; flex:0 0 40px; place-items:center; border-radius:4px; background:#5591e3; color:#fff; font:700 20px "DM Sans",sans-serif; }
  .mobile-business-existing .mobile-business-title b { background:#b9945a; }
  .mobile-business-title strong,.mobile-business-title small { display:block; }
  .mobile-business-title strong { color:#102b49; font-size:15px; }
  .mobile-business-title small { color:#73899d; font-size:10px; }
  .mobile-business-card > img { display:block; width:100%; height:135px; object-fit:cover; border-radius:4px; }
  .mobile-business-card p { margin:10px 1px 8px; color:#5e758a; font-size:10px; line-height:1.7; }
  .mobile-business-card > a { display:inline-flex; align-items:center; gap:10px; padding:8px 13px; border:1px solid #b8c8d7; border-radius:4px; background:#fff; color:#173a5d; font-size:11px; font-weight:800; }
  .mobile-business .mobile-finance-link { margin-top:14px; }

  .reference-home .reference-projects { padding-top:24px; padding-bottom:16px; }
  .reference-home .reference-projects .reference-panel { padding:0; }
  .reference-home .reference-projects .section-heading { align-items:end!important; margin-bottom:13px!important; }
  .reference-home .reference-projects .reference-heading { display:block; }
  .reference-home .reference-projects .reference-heading h2 { font-size:20px; }
  .reference-home .reference-projects .reference-heading > span { display:block; margin-top:3px; font-size:10px; }
  .reference-home .reference-projects .text-link { display:inline-flex!important; font-size:10px; }
  .reference-home .reference-project-grid { gap:12px; }
  .reference-home .reference-project-grid > article:nth-child(2) { display:none; }
  .reference-home .reference-project-card { overflow:hidden; border:1px solid #e5edf3; border-radius:5px; background:#fff; }
  .reference-home .reference-project-card .desktop-project-image { display:none; }
  .reference-home .reference-project-card img { display:block; width:100%; height:145px; object-fit:cover; }
  .reference-home .reference-project-card > div { padding:10px 13px 12px; }
  .reference-home .reference-project-card h3 { font-size:13px; }
  .reference-home .reference-project-card p { display:flex; flex-direction:column; gap:2px; font-size:10px; }
  .reference-home .reference-project-card p span:first-child { align-self:flex-start; padding:2px 5px; border:1px solid #9cb2c8; border-radius:2px; color:#234969; }
  .reference-home .reference-projects .hotel-promo { display:none; }
  .mobile-sale { padding:18px 0 22px; }
  .mobile-sale-card { overflow:hidden; border-radius:5px; background:#f0f5f9; }
  .mobile-sale-card > img { display:block; width:100%; height:185px; object-fit:cover; object-position:68% center; }
  .mobile-sale-card > div { padding:16px; }
  .mobile-sale-card h2 { margin:0 0 10px; color:#102b49; font-size:18px; font-weight:800; line-height:1.4; }
  .mobile-sale-card p { margin:0 0 12px; color:#637b90; font-size:11px; line-height:1.7; }
  .mobile-sale-card a { display:flex; align-items:center; justify-content:center; gap:12px; min-height:43px; border:1px solid #d7b87d; border-radius:4px; background:#edcb88; color:#173a5d; font-size:12px; font-weight:800; }

  .reference-home .reference-news { padding-top:13px!important; padding-bottom:17px!important; }
  .reference-home .reference-news .row > .col-lg-6:nth-child(2) { display:none; }
  .reference-home .reference-news .section-heading { align-items:end!important; gap:9px; }
  .reference-home .reference-news .reference-heading { display:block; }
  .reference-home .reference-news .reference-heading h2 { font-size:19px; }
  .reference-home .reference-news .reference-heading > span { display:block; margin-top:4px; font-size:10px; }
  .reference-home .reference-news .section-heading .text-link { font-size:10px; }
  .reference-home .reference-news .news-row { display:grid; grid-template-columns:88px 1fr; gap:2px 8px; min-height:76px; padding:9px 0; }
  .reference-home .reference-news .news-row time { grid-column:1; color:#6e86a0; font-size:11px; }
  .reference-home .reference-news .news-row .news-category { grid-column:2; justify-self:start; padding:3px 8px; font-size:9px; }
  .reference-home .reference-news .news-row strong { grid-column:1 / -1; color:#173a5d; font-size:11px; font-weight:600; line-height:1.5; }
  .mobile-journal { display:flex!important; min-height:119px; flex-direction:column; align-items:flex-start; justify-content:center; margin-top:12px; padding:15px; border-radius:5px; background:linear-gradient(90deg,rgba(12,31,48,.72),rgba(12,31,48,.10)),url("../images/client-reference/upscale-bedroom-with-panoramic-city-views.webp") center/cover; color:#fff; }
  .mobile-journal strong { font:700 15px "DM Sans",sans-serif; letter-spacing:.04em; }
  .mobile-journal span { margin:4px 0 9px; font-size:10px; }
  .mobile-journal em { padding:7px 13px; border-radius:3px; background:#fff; color:#153754; font-size:10px; font-style:normal; font-weight:800; }

  .reference-home .site-footer { width:calc(100% - 24px); margin:0 auto 12px; padding:20px 0 14px; border-radius:5px; background:#062449; }
  .reference-home .site-footer .container-xl { width:calc(100% - 36px); }
  .reference-home .footer-main { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:0 12px; text-align:left; }
  .reference-home .footer-main > .navbar-brand { grid-column:1 / -1; justify-self:start; margin:0 0 14px; }
  .reference-home .site-footer .brand-mark { width:37px; height:37px; }
  .reference-home .site-footer .brand-copy strong { font-size:12px; }
  .reference-home .site-footer .brand-copy small { font-size:7px; }
  .reference-home .mobile-footer-address { display:block!important; grid-column:1 / -1; margin:0 0 15px; color:#ccdbea; font-size:10px; line-height:1.65; }
  .reference-home .footer-links { display:grid; grid-column:1 / -1; width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px 8px; margin-bottom:16px; order:0; color:#e4ecf5; text-align:left; font-size:10px; }
  .reference-home .mobile-footer-project-link { display:block!important; }
  .reference-home .social-links { grid-column:1; gap:12px; }
  .reference-home .social-links a { font-size:20px; }
  .reference-home .desktop-footer-facebook { display:none; }
  .reference-home .mobile-footer-linkedin { display:grid!important; }
  .reference-home .mobile-footer-language { display:flex!important; grid-column:2; justify-self:end; align-self:center; gap:1px; }
  .reference-home .mobile-footer-language .language-option { padding:1px 2px; color:#d4e0ec; font-size:9px; }
  .reference-home .mobile-footer-language .language-option.active { color:#fff; }
  .reference-home .mobile-footer-language .language-separator { color:#7896b1; }
  .reference-home .footer-bottom { display:flex; align-items:stretch; margin-top:16px; padding-top:10px; border-color:#ffffff36; }
  .reference-home .footer-bottom > span { display:none; }
  .reference-home .footer-bottom > div { display:flex; justify-content:space-between; gap:14px; font-size:9px; }
  .reference-home .mobile-footer-sitemap { display:inline!important; }
  .reference-home .mobile-footer-copyright { display:block!important; margin:11px 0 0; color:#b8cada; font:400 9px/1.5 "DM Sans",sans-serif; }
}

/* Property search: mobile landing and filtered results share the desktop data. */
.property-search-page > .page-heading .eyebrow { order:1; }
.property-search-page > .page-heading h1 { order:2; }
.property-search-page > .page-heading .desktop-search-lead { order:3; max-width:680px; margin:0; color:#344f68; font-size:14px; line-height:1.8; }
.mobile-search-breadcrumb,.mobile-search-lead,.mobile-search-slogan,.mobile-area-filter,.mobile-search-extra,.mobile-search-contact,.mobile-results-suffix,.mobile-change-filters,.mobile-filter-label { display:none; }

@media(max-width:575.98px) {
  .property-search-body { background:#fff; }
  .property-search-body .topline { display:none; }
  .property-search-body .site-nav { min-height:72px; border-bottom:0; }
  .property-search-body .site-nav .container-xl { width:calc(100% - 24px); }
  .property-search-body .site-nav .navbar-brand { margin-right:0; }
  .property-search-body .site-nav .brand-mark { width:40px; height:40px; }
  .property-search-body .site-nav .brand-copy strong { font-size:13px; }
  .property-search-body .site-nav .brand-copy small { font-size:7px; }
  .property-search-body .site-nav .navbar-toggler { padding:5px 7px; border:0; }
  .property-search-page { width:calc(100% - 24px); padding:0 0 10px; }
  .property-search-page > .page-heading { left:auto; width:100%; min-height:515px; margin:0; padding:50px 18px 0; align-items:flex-start; justify-content:flex-start; border-radius:5px; background:linear-gradient(180deg,#c7e7fb 0%,#e3f2fc 45%,#d7eafa 100%); }
  .property-search-page > .page-heading::before { position:absolute; z-index:0; inset:175px 0 0; content:""; background:url("../images/client-reference/cheerful-mascot-overlooking-tokyo-skyline.webp") 75% bottom/auto 340px no-repeat; -webkit-mask-image:linear-gradient(transparent,#000 36%); mask-image:linear-gradient(transparent,#000 36%); }
  .property-search-page > .page-heading h1 { order:0; margin:0 0 1px; color:#0b2b52; font-size:32px; line-height:1.2; letter-spacing:.02em; }
  .property-search-page > .page-heading .eyebrow { order:0; margin:0 0 18px; color:#6988a5; font:500 13px/1.3 "DM Sans",sans-serif; letter-spacing:.04em; }
  .property-search-page > .page-heading .desktop-search-lead { display:none; }
  .property-search-page > .page-heading .mobile-search-lead { display:block; order:0; margin:0; color:#0d315a; font-size:13px; font-weight:700; line-height:1.75; }
  .property-search-page > .page-heading .mobile-search-breadcrumb { display:none; }
  .property-search-page > .page-heading .mobile-search-slogan { position:absolute; z-index:2; top:240px; left:21px; display:block; order:0; transform:rotate(-9deg); color:#092c56; font-size:18px; font-weight:800; line-height:1.45; letter-spacing:.07em; text-shadow:0 1px 8px #fff; }
  .mobile-search-slogan span { display:block; width:max-content; margin-top:7px; padding-top:7px; border-top:2px solid #092c56; font:700 12px/1.25 "DM Sans",sans-serif; letter-spacing:0; }
  .property-search-layout { display:block; margin:-55px 10px 0; }
  .property-search-layout > aside,.property-search-layout > div { width:100%; }
  .property-search-layout > div { display:none; }
  .property-search-page .search-panel { position:relative; top:auto; z-index:3; padding:18px 16px 20px; border:1px solid #e3ebf2; border-radius:8px; box-shadow:0 6px 24px #0d35501f; }
  .property-search-page .search-panel-heading { margin-bottom:19px; }
  .property-search-page .search-panel-heading h2 { font-size:16px; }
  .property-search-page .search-panel-heading h2::before { display:inline-block; margin-right:9px; color:#0d3158; content:"⌕"; font-size:26px; line-height:.5; vertical-align:-1px; }
  .property-search-page .reset-filters { display:none; }
  .property-search-page .desktop-area-filter { display:none; }
  .property-search-page .mobile-area-filter { display:block; }
  .property-search-form .filter-group { margin-bottom:18px; }
  .property-search-page .property-search-form .filter-group .form-label { margin-bottom:7px; color:#102e53; font-size:14px; font-weight:800; }
  .property-search-page .desktop-filter-label { display:none; }
  .property-search-page .mobile-filter-label { display:inline; }
  .property-search-page .property-search-form .form-label i { margin-right:5px; font-size:16px; }
  .property-search-page .property-search-form .form-control,.property-search-page .property-search-form .form-select { min-height:44px; padding:8px 11px; border:1px solid #d9e5f0; border-radius:5px; color:#4e6987; background-color:#fff; font-size:13px; }
  .property-search-page .property-search-form .filter-checks { gap:7px; }
  .property-search-page .property-search-form .filter-checks label { color:#294b72; font-size:13px; }
  .property-search-page .property-search-form .filter-checks input { width:19px; height:19px; accent-color:#092e57; }
  .property-search-page .property-search-form .range-fields { display:grid; grid-template-columns:minmax(0,1fr) 15px minmax(0,1fr); align-items:center; gap:5px; }
  .property-search-page .property-search-form .range-fields > span { text-align:center; color:#456381; font-size:13px; }
  .property-search-page .property-search-form .filter-group:nth-of-type(4) .form-label { margin-bottom:8px; }
  .property-search-page .property-search-form .search-submit { min-height:56px; border-radius:5px; background:#082c55; font-size:15px; }
  .property-search-page .property-search-form .search-submit i { font-size:18px; }
  .property-search-page .property-search-form > fieldset:nth-of-type(2),.property-search-page .property-search-form .advanced-filters { display:none; }
  .property-search-page .mobile-search-extra { display:block; padding:22px 10px 0; }
  .mobile-offmarket-card { display:flex; min-height:147px; align-items:center; padding:18px; overflow:hidden; border-radius:6px; color:#fff; background:linear-gradient(90deg,#09294c 4%,rgba(9,41,76,.91) 41%,rgba(9,41,76,.05) 100%),url("../images/client-reference/upscale-bedroom-with-panoramic-city-views.webp") center/cover; }
  .mobile-offmarket-card h2 { margin:0 0 12px; font-size:18px; font-weight:800; line-height:1.35; }
  .mobile-offmarket-card a { display:inline-flex; align-items:center; gap:18px; padding:9px 15px; border-radius:4px; background:#fff; color:#10325a; font-size:12px; font-weight:800; }
  .mobile-area-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:34px 0 12px; }
  .mobile-area-heading h2 { margin:0; color:#10345f; font-size:19px; font-weight:800; }
  .mobile-area-heading a { color:#193c65; font-size:11px; font-weight:700; white-space:nowrap; }
  .mobile-area-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .mobile-area-grid a { display:block; overflow:hidden; border:1px solid #dce7ef; border-radius:5px; background:#fff; color:#153963; text-align:center; font-size:12px; font-weight:800; }
  .mobile-area-grid img { display:block; width:100%; height:81px; object-fit:cover; }
  .mobile-area-grid span { display:block; padding:8px 4px; }
  .property-search-body .site-footer { width:calc(100% - 24px); margin:0 auto 12px; padding:18px 0 13px; border:0; border-radius:0 0 7px 7px; background:#062449; }
  .property-search-body .site-footer .container-xl { width:calc(100% - 34px); }
  .property-search-body .site-footer .footer-main { min-height:0; display:block; }
  .property-search-body .site-footer .navbar-brand { display:flex!important; margin:0 0 12px; color:#fff; }
  .property-search-body .site-footer .brand-mark { width:40px; height:40px; }
  .property-search-body .site-footer .brand-mark img { filter:brightness(0) invert(1); }
  .property-search-body .site-footer .brand-copy strong { font-size:12px; }
  .property-search-body .site-footer .brand-copy small { font-size:7px; }
  .property-search-body .site-footer .footer-links,.property-search-body .site-footer .social-links,.property-search-body .site-footer .mobile-footer-address,.property-search-body .site-footer .mobile-footer-language { display:none!important; }
  .property-search-body .site-footer .footer-bottom { display:block; margin:0; padding:0; border:0; color:#c7d6e6; }
  .property-search-body .site-footer .footer-bottom > span { display:none; }
  .property-search-body .site-footer .footer-bottom > div { display:flex; gap:18px; font-size:10px; }
  .property-search-body .site-footer .mobile-footer-copyright { display:block!important; margin:8px 0 0; color:#c7d6e6; font-size:9px; line-height:1.5; }
  .property-search-page > .page-heading .mobile-search-breadcrumb { font-size:11px; }
  .property-results-view .property-search-page > .page-heading { min-height:145px; padding:18px 17px; justify-content:center; border-radius:0; background:linear-gradient(90deg,rgba(255,255,255,.95),rgba(255,255,255,.46)),url("../images/website/tokyo-skyline-hero.png") right 49%/cover no-repeat; }
  .property-results-view .property-search-page > .page-heading .mobile-search-breadcrumb { display:flex; align-items:center; gap:8px; margin:0 0 12px; color:#526f8d; }
  .property-results-view .property-search-page > .page-heading h1 { font-size:28px; }
  .property-results-view .property-search-page > .page-heading .eyebrow { margin:0; font-size:12px; }
  .property-results-view .property-search-page > .page-heading::before,.property-results-view .property-search-page > .page-heading .mobile-search-lead,.property-results-view .property-search-page > .page-heading .mobile-search-slogan { display:none; }
  .property-results-view .property-search-layout { margin:0; }
  .property-results-view .property-search-layout > div { display:block; }
  .property-results-view .property-search-layout > aside,.property-results-view .property-search-page .mobile-search-extra { display:none; }
  .property-results-view .property-search-page .search-results { padding:12px 10px 0; }
  .property-results-view .property-search-page .results-toolbar { display:flex; flex-wrap:wrap; flex-direction:row; align-items:center; gap:7px; margin:0 0 13px; padding:0; border:0; }
  .property-results-view .property-search-page .results-toolbar > p { width:100%; font-size:14px; }
  .property-results-view .property-search-page .results-toolbar strong { margin-right:4px; font-size:34px; line-height:1; }
  .property-results-view .property-search-page .mobile-results-suffix { display:inline; }
  .property-results-view .property-search-page .results-tools { width:100%; justify-content:flex-end; gap:8px; }
  .property-results-view .property-search-page .sort-control > span { display:none; }
  .property-results-view .property-search-page .sort-control .form-select { min-width:112px; min-height:35px; border-radius:4px; font-size:12px; }
  .property-results-view .property-search-page .view-switch { gap:7px; }
  .property-results-view .property-search-page .view-switch button { width:36px; height:36px; border-radius:4px; font-size:17px; }
  .property-results-view .property-search-page .mobile-change-filters { display:block; width:100%; padding:1px 0 0; color:#486685; text-align:right; font-size:11px; font-weight:700; }
  .property-results-view .property-search-page #propertyResults,.property-results-view .property-search-page #propertyResults.is-list { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; margin:0; }
  .property-results-view .property-search-page .property-result-item { width:100%; padding:0; }
  .property-results-view .property-search-page .property-card,.property-results-view .property-search-page #propertyResults.is-list .property-card { display:grid; min-height:192px; grid-template-columns:43% minmax(0,1fr); border-radius:6px; }
  .property-results-view .property-search-page #propertyResults.is-list .property-card { min-height:150px; grid-template-columns:33% minmax(0,1fr); }
  .property-results-view .property-search-page .property-card:hover { transform:none; }
  .property-results-view .property-search-page .property-image,.property-results-view .property-search-page #propertyResults.is-list .property-image { height:100%; min-height:192px; grid-column:1; grid-row:1; }
  .property-results-view .property-search-page #propertyResults.is-list .property-image { min-height:150px; }
  .property-results-view .property-search-page .property-image img { object-position:center; }
  .property-results-view .property-search-page .property-image .listing-status { top:7px; bottom:auto; left:7px; padding:4px 5px; font-size:9px; }
  .property-results-view .property-search-page .property-type-badge { top:7px; left:7px; max-width:90%; padding:4px 5px; font-size:9px; }
  .property-results-view .property-search-page .property-image .listing-status { top:34px; }
  .property-results-view .property-search-page .favorite,.property-results-view .property-search-page #propertyResults.is-list .favorite { top:8px; right:7px; left:auto; width:24px; height:24px; box-shadow:none; }
  .property-results-view .property-search-page .property-body,.property-results-view .property-search-page #propertyResults.is-list .property-body { display:flex; min-width:0; flex-direction:column; align-self:stretch; grid-column:2; grid-row:1; padding:22px 8px 8px; }
  .property-results-view .property-search-page .property-location { margin:0 0 3px; padding-right:19px; font-size:10px; }
  .property-results-view .property-search-page .property-body h3 { margin:0 0 4px; font-size:14px; line-height:1.35; }
  .property-results-view .property-search-page .property-price { font-size:18px; line-height:1.25; }
  .property-results-view .property-search-page .property-meta { display:block; padding:5px 0 0; font-size:10px; line-height:1.4; }
  .property-results-view .property-search-page .property-meta span + span { margin-left:6px; padding-left:0; border:0; }
  .property-results-view .property-search-page .property-access { min-height:0; margin:3px 0 0; font-size:10px; line-height:1.35; }
  .property-results-view .property-search-page .property-details-link { min-height:32px; align-items:center; justify-content:center; gap:9px; margin-top:auto; padding:5px 3px; border:1px solid #b4c8dc; border-radius:4px; font-size:11px; }
  .property-results-view .property-search-page .results-pagination { flex-wrap:wrap; padding:18px 0 0; }
  .property-results-view .property-search-page .results-pagination button { min-width:34px; height:36px; }
  .property-results-view .property-search-page .mobile-search-contact { display:block; margin:28px 10px 8px; padding:17px 13px 18px; border-radius:8px; background:#eff5fa; }
  .mobile-search-contact-art { position:relative; height:124px; overflow:hidden; }
  .mobile-search-contact-art > span { position:absolute; top:19px; left:9px; transform:rotate(-9deg); color:#092e58; font-size:21px; font-weight:800; line-height:1.45; }
  .mobile-search-contact-art > img { position:absolute; right:2px; bottom:-19px; width:145px; height:145px; object-fit:contain; mix-blend-mode:multiply; }
  .mobile-search-contact > p { position:relative; margin:0 0 12px; color:#0d3159; font-size:13px; font-weight:800; line-height:1.45; }
  .mobile-search-email { display:flex; min-height:52px; align-items:center; justify-content:space-around; padding:8px; border-radius:4px; background:#082c55; color:#fff; font-size:13px; font-weight:800; }
  .mobile-search-email .bi-envelope { font-size:21px; }
  .mobile-other-contacts { display:flex; align-items:center; gap:12px; margin:19px 0 12px; color:#6c85a0; font-size:10px; font-weight:700; }
  .mobile-other-contacts::before,.mobile-other-contacts::after { height:1px; flex:1; content:""; background:#b8ccdf; }
  .mobile-contact-channels { display:flex; justify-content:space-between; gap:6px; color:#183f6d; font-size:10px; font-weight:700; }
  .mobile-contact-channels span { display:flex; align-items:center; gap:4px; }
  .mobile-contact-channels i { color:#08a642; font-size:21px; }
}

/* Final mobile homepage sequence overrides, kept after shared responsive rules. */
@media(max-width:767.98px) {
  .reference-home .reference-project-grid > article:nth-child(2) { display:block!important; }
  .reference-home .reference-project-grid { grid-template-columns:1fr; }
  .reference-home .reference-projects { padding-bottom:0; }
  .reference-home .reference-project-card .mobile-project-image { content:url("../images/client-reference/cosy-sunset-hotel-with-zebra-mascot.webp"); }
  .mobile-sale-card { background:#082c55!important; }
  .mobile-sale-card > div { color:#fff; }
  .mobile-sale-card h2 { color:#fff; }
  .mobile-sale-card p { color:#d6e2ed; }
  .mobile-company-building { content:url("../images/client-reference/zebra-homes-city-garden-entrance.webp"); }
}

/* Compact inquiry page adapted to the supplied mobile contact design. */
.mobile-inquiry-slogan,.inquiry-mobile-method-grid,.mobile-inquiry-only { display:none; }
@media(max-width:767.98px) {
  .inquiry-page { width:100%; max-width:none; padding:0 12px 18px; }
  .inquiry-page > .page-heading { min-height:166px!important; margin:0 -12px 8px!important; padding:18px 17px 27px!important; justify-content:flex-start!important; background-image:linear-gradient(90deg,rgba(245,250,253,.82),rgba(245,250,253,.40) 56%,rgba(245,250,253,.06)),url("../images/website/tokyo-skyline-hero.png")!important; background-size:100% 100%,cover!important; background-position:center,center 47%!important; }
  .inquiry-page > .page-heading .eyebrow { margin:0 0 3px; color:#829db4; font-size:9px; letter-spacing:.12em; }
  .inquiry-page > .page-heading h1 { margin:0 0 4px; color:#10325a; font-size:25px; line-height:1.2; }
  .inquiry-page > .page-heading > p:last-of-type { max-width:280px; margin:0; color:#46617a; font-size:10px; line-height:1.55; }
  .mobile-inquiry-slogan { display:block; margin-top:auto; color:#6e8ca5; font:600 7px "DM Sans",sans-serif; letter-spacing:.12em; }
  .inquiry-page .inquiry-breadcrumb { display:none; }
  .inquiry-reference-grid { display:flex; flex-direction:column; gap:9px; }
  .inquiry-page-card { order:1; padding:12px 14px 11px!important; border:0; border-radius:5px; background:#f1f6fa; box-shadow:none; }
  .inquiry-contact-methods { order:2; padding:11px 0 8px; background:#fff; border-radius:0; border-top:1px solid #dfe8ef; }
  .inquiry-contact-methods h2 { margin:0 0 2px; font-size:14px; }
  .inquiry-contact-intro { margin:0 0 8px; font-size:9px; }
  .inquiry-mobile-method-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:5px; }
  .inquiry-mobile-method-grid a { display:flex; min-width:0; min-height:57px; flex-direction:column; align-items:center; justify-content:center; gap:2px; padding:4px 2px; color:#294963; background:#f5f8fa; border:1px solid #e4ebf0; border-radius:4px; text-align:center; text-decoration:none; }
  .inquiry-mobile-method-grid i { color:#244769; font-size:17px; line-height:1.05; }
  .inquiry-mobile-method-grid a:nth-child(3) i,.inquiry-mobile-method-grid a:nth-child(4) i,.inquiry-mobile-method-grid a:nth-child(5) i { color:#0aa35b; }
  .inquiry-mobile-method-grid strong { font-size:8px; font-weight:800; line-height:1.2; }
  .inquiry-mobile-method-grid small { font-size:6px; line-height:1.1; }
  .inquiry-contact-methods > .inquiry-method-card,.inquiry-contact-methods > .inquiry-social { display:none!important; }
  .inquiry-side-panels { order:3; display:block; }
  .inquiry-visual-card { display:none!important; }
  .inquiry-faq-card { min-height:78px; background:#edf4f9; }
  .inquiry-faq-card::before { background:linear-gradient(90deg,#eff6fb 0%,rgba(239,246,251,.96) 68%,rgba(239,246,251,.2)); }
  .inquiry-faq-card > div { width:100%; padding:10px 12px; }
  .inquiry-faq-card h2 { margin-bottom:2px; font-size:12px; }
  .inquiry-faq-card p { margin-bottom:5px; font-size:8px; }
  .inquiry-faq-card .btn { padding:3px 8px; font-size:8px; }
  .inquiry-faq-card img { opacity:.2; object-position:82% center; }
  .inquiry-faq-list { display:none; margin:10px 0 0; grid-template-columns:1fr; gap:6px; }
  .inquiry-faq-list:target { display:grid; }
  .inquiry-faq-list details { padding:9px 11px; font-size:10px; }
  .mobile-inquiry-only { display:block; }
  .mobile-inquiry-bottom-banner { min-height:58px; margin:9px -12px 0; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#163a5f; background:linear-gradient(0deg,rgba(236,246,251,.7),rgba(236,246,251,.7)),url("../images/website/tokyo-skyline-hero.png") center 58%/cover; font-size:12px; font-weight:800; letter-spacing:.08em; }
  .mobile-inquiry-bottom-banner small { margin-top:2px; color:#6f8da5; font:600 6px "DM Sans",sans-serif; letter-spacing:.16em; }
  .inquiry-fields { display:flex; flex-direction:column; }
  .inquiry-form-heading { order:0; }
  .inquiry-name-field { order:1; }
  .inquiry-email-field { order:2; }
  .inquiry-company-field { order:3; }
  .inquiry-phone-field { display:none!important; }
  .inquiry-type-field { order:4; }
  .inquiry-message-field { order:5; }
  .inquiry-page-form .inquiry-privacy { order:6; width:100%; margin:0 0 7px; font-size:8px; }
  .inquiry-page-form .inquiry-submit { order:7; display:flex; width:100%; min-height:38px; align-items:center; justify-content:center; margin:0; padding:8px 12px!important; font-size:9px; }
  .inquiry-page-form .inquiry-submit span { font-size:0; }
  .inquiry-page-form .inquiry-submit span::after { content:"送信する"; font-size:9px; }
  .inquiry-form-heading h2 { margin-bottom:3px; font-size:14px; }
  .inquiry-form-heading p { margin-bottom:7px; font-size:8px; line-height:1.5; }
  .inquiry-page-form .mb-3 { margin-bottom:5px!important; }
  .inquiry-page-form .mb-4 { margin-bottom:6px!important; }
  .inquiry-page-form .form-label { margin-bottom:2px; font-size:8px; }
  .inquiry-page-form .form-control,.inquiry-page-form .form-select { min-height:27px; padding:4px 8px; font-size:8px; }
  .inquiry-page-form textarea.form-control { min-height:46px; }
  .inquiry-page-form .required-mark { font-size:7px; }
  .inquiry-page-form .invalid-feedback { font-size:8px; }
  .inquiry-page-form .inquiry-privacy .form-check-input { width:11px; height:11px; margin-top:.1em; }
  .inquiry-page-form .inquiry-privacy .form-check-label { line-height:1.35; }
}

/* Keep inquiry fields readable and comfortable to tap on phones. */
@media (max-width: 767.98px) {
  .inquiry-page-card { padding:16px 15px 14px!important; }
  .inquiry-form-heading h2 { margin-bottom:5px; font-size:16px; }
  .inquiry-form-heading p { margin-bottom:10px; font-size:10px; line-height:1.65; }
  .inquiry-page-form .mb-3 { margin-bottom:9px!important; }
  .inquiry-page-form .mb-4 { margin-bottom:10px!important; }
  .inquiry-page-form .form-label { margin-bottom:4px; font-size:11px; line-height:1.45; }
  .inquiry-page-form .form-control,.inquiry-page-form .form-select { min-height:40px; padding:8px 10px; font-size:12px; line-height:1.4; }
  .inquiry-page-form .form-control::placeholder { color:#8798a7; font-size:11px; opacity:1; }
  .inquiry-page-form textarea.form-control { min-height:96px; }
  .inquiry-page-form .required-mark { font-size:9px; }
  .inquiry-page-form .invalid-feedback { font-size:10px; }
  .inquiry-page-form .inquiry-privacy { margin-bottom:10px; font-size:10px; }
  .inquiry-page-form .inquiry-privacy .form-check-input { width:14px; height:14px; }
  .inquiry-page-form .inquiry-submit { min-height:46px; padding:10px 14px!important; font-size:13px; }
  .inquiry-page-form .inquiry-submit span::after { font-size:13px; }
}
