:root {
  --lease-ink:#102d36; --lease-soft:#4a6268; --lease-paper:#f3f0e8; --lease-light:#faf8f2;
  --lease-navy:#0d3742; --lease-deep:#082932; --lease-blue:#1b6171; --lease-signal:#dd5c35;
  --lease-lime:#d6e35b; --lease-line:rgba(16,45,54,.18); --lease-white:#fffef9;
}
.leasing-page { margin:0; background:var(--lease-paper); color:var(--lease-ink); font-family:"IBM Plex Sans JP","Noto Sans CJK JP","Yu Gothic",Meiryo,sans-serif; }
.leasing-page * { box-sizing:border-box; }
.leasing-page a { color:inherit; text-decoration:none; }
.leasing-page img { display:block; max-width:100%; }
.leasing-page h1,.leasing-page h2,.leasing-page h3,.leasing-page p { margin-top:0; }
.lease-header { position:sticky; top:0; z-index:30; min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:0 5vw; border-bottom:1px solid var(--lease-line); background:rgba(250,248,242,.95); backdrop-filter:blur(14px); }
.lease-brand { font-family:"Noto Serif CJK JP","Yu Mincho",serif; font-size:24px; font-weight:700; letter-spacing:.01em; }
.lease-brand small { display:block; margin-top:2px; font-family:inherit; font-size:9px; font-weight:700; letter-spacing:.16em; color:var(--lease-soft); }
.lease-nav { display:flex; align-items:center; gap:22px; font-size:13px; font-weight:700; }
.lease-nav a:hover { color:var(--lease-signal); }
.lease-header-actions { display:flex; align-items:center; gap:12px; }
.lease-language { font-size:12px; font-weight:700; white-space:nowrap; }
.lease-button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 22px; border:1px solid var(--lease-signal); background:var(--lease-signal); color:#fff !important; font-weight:800; }
.lease-button.ghost { border-color:rgba(255,255,255,.68); background:rgba(8,41,50,.24); }
.lease-button.light { border-color:var(--lease-white); background:var(--lease-white); color:var(--lease-navy)!important; }
.lease-hero { display:grid; grid-template-columns:1.03fr .97fr; min-height:650px; background:var(--lease-navy); color:white; }
.lease-hero-copy { display:flex; flex-direction:column; justify-content:center; padding:88px 7vw; }
.lease-kicker,.lease-label { margin-bottom:16px; color:var(--lease-lime); font-size:11px; font-weight:800; letter-spacing:.18em; }
.lease-hero h1 { margin-bottom:26px; font-family:"Noto Serif CJK JP","Yu Mincho",serif; font-size:clamp(46px,5.3vw,76px); line-height:1.25; }
.lease-hero-copy > p:not(.lease-kicker) { max-width:680px; margin-bottom:30px; color:rgba(255,255,255,.82); font-size:17px; line-height:1.95; }
.lease-hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.lease-hero-media { position:relative; min-height:520px; overflow:hidden; }
.lease-hero-media img { width:100%; height:100%; object-fit:cover; }
.lease-hero-badge { position:absolute; right:28px; bottom:28px; max-width:310px; padding:18px 20px; background:var(--lease-light); color:var(--lease-ink); box-shadow:0 16px 40px rgba(0,0,0,.2); }
.lease-hero-badge strong { display:block; margin-bottom:6px; font-size:19px; }
.lease-hero-badge span { font-size:12px; color:var(--lease-soft); line-height:1.7; }
.lease-quick { display:grid; grid-template-columns:repeat(4,1fr); background:var(--lease-light); border-bottom:1px solid var(--lease-line); }
.lease-quick div { padding:23px 3vw; border-right:1px solid var(--lease-line); }
.lease-quick small { display:block; margin-bottom:7px; color:var(--lease-soft); font-size:11px; }
.lease-quick strong { font-size:15px; }
.lease-section { padding:96px max(6vw,24px); }
.lease-section.light { background:var(--lease-light); }
.lease-section.navy { background:var(--lease-navy); color:white; }
.lease-heading { display:grid; grid-template-columns:.55fr 1.15fr .9fr; gap:34px; align-items:start; margin-bottom:52px; }
.lease-heading .lease-label { color:var(--lease-signal); }
.lease-section.navy .lease-heading .lease-label { color:var(--lease-lime); }
.lease-heading h2 { margin:0; font-family:"Noto Serif CJK JP","Yu Mincho",serif; font-size:clamp(34px,4vw,54px); line-height:1.35; }
.lease-heading > p:last-child { margin:0; color:var(--lease-soft); line-height:1.9; }
.lease-section.navy .lease-heading > p:last-child { color:rgba(255,255,255,.72); }
.lease-price-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.lease-price-card { display:flex; flex-direction:column; min-height:330px; padding:30px; border:1px solid var(--lease-line); background:var(--lease-light); }
.lease-price-card.featured { background:var(--lease-deep); color:white; border-color:var(--lease-deep); }
.lease-price-card .tag { align-self:flex-start; padding:7px 9px; background:var(--lease-lime); color:var(--lease-ink); font-size:10px; font-weight:800; letter-spacing:.08em; }
.lease-price-card h3 { margin:34px 0 12px; font-size:22px; }
.lease-price { margin-bottom:20px; font-size:18px; font-weight:700; }
.lease-price strong { font-size:32px; }
.lease-price-card p:last-child { margin-top:auto; margin-bottom:0; color:var(--lease-soft); line-height:1.85; }
.lease-price-card.featured p:last-child { color:rgba(255,255,255,.72); }
.lease-note { margin:22px 0 0; padding:18px 20px; border-left:4px solid var(--lease-signal); background:rgba(221,92,53,.07); color:var(--lease-soft); line-height:1.85; }
.lease-photo-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; grid-template-rows:300px 280px; gap:12px; }
.lease-photo-grid figure { position:relative; margin:0; overflow:hidden; background:var(--lease-deep); }
.lease-photo-grid figure:first-child { grid-row:1/3; }
.lease-photo-grid figure:last-child { grid-column:2/4; }
.lease-photo-grid img { width:100%; height:100%; object-fit:cover; }
.lease-photo-grid figcaption { position:absolute; left:12px; bottom:12px; padding:7px 9px; background:rgba(8,41,50,.82); color:#fff; font-size:11px; }
.lease-flex-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid currentColor; }
.lease-flex-grid article { min-height:210px; padding:25px; border-right:1px solid var(--lease-line); border-bottom:1px solid var(--lease-line); }
.lease-flex-grid span { color:var(--lease-signal); font-weight:800; }
.lease-flex-grid h3 { margin:38px 0 10px; font-size:19px; }
.lease-flex-grid p { margin-bottom:0; color:var(--lease-soft); line-height:1.8; }
.lease-service-table { width:100%; border-collapse:collapse; background:var(--lease-light); color:var(--lease-ink); }
.lease-service-table th,.lease-service-table td { padding:17px 18px; border-bottom:1px solid var(--lease-line); text-align:left; vertical-align:top; }
.lease-service-table th { font-size:12px; color:var(--lease-soft); }
.lease-service-table td:nth-child(2) { white-space:nowrap; font-weight:800; }
.lease-service-table tr:last-child td { border-bottom:0; }
.lease-cost-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.lease-cost-grid article { padding:27px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.18); }
.lease-cost-grid h3 { font-size:18px; }
.lease-cost-grid strong { display:block; margin:15px 0 10px; color:var(--lease-lime); font-size:24px; }
.lease-cost-grid p { margin-bottom:0; color:rgba(255,255,255,.72); line-height:1.8; }
.lease-location { display:grid; grid-template-columns:.9fr 1.1fr; gap:7vw; align-items:center; }
.lease-location-card { padding:36px; background:var(--lease-light); border:1px solid var(--lease-line); }
.lease-location-card h3 { margin-bottom:20px; font-family:"Noto Serif CJK JP","Yu Mincho",serif; font-size:30px; }
.lease-location-card strong { display:block; margin-bottom:22px; font-size:22px; line-height:1.6; }
.lease-location-card ul { margin:0; padding-left:20px; color:var(--lease-soft); line-height:2; }
.lease-checklist { margin:0; padding:0; list-style:none; border-top:1px solid var(--lease-line); }
.lease-checklist li { padding:17px 0; border-bottom:1px solid var(--lease-line); color:var(--lease-soft); }
.lease-checklist li::before { content:"→"; margin-right:10px; color:var(--lease-signal); font-weight:800; }
.lease-cta { display:grid; grid-template-columns:1.25fr .75fr; gap:6vw; align-items:end; padding:84px 7vw; background:var(--lease-signal); color:white; }
.lease-cta h2 { margin-bottom:18px; font-family:"Noto Serif CJK JP","Yu Mincho",serif; font-size:clamp(34px,4vw,54px); line-height:1.35; }
.lease-cta p { margin-bottom:0; color:rgba(255,255,255,.82); line-height:1.85; }
.lease-cta-actions { display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.lease-cta-actions small { color:rgba(255,255,255,.78); }
.lease-footer { display:flex; justify-content:space-between; gap:30px; padding:40px 6vw; background:var(--lease-deep); color:white; }
.lease-footer p { margin:0; color:rgba(255,255,255,.62); font-size:12px; }
.lease-footer nav { display:flex; gap:20px; font-size:12px; }
.zh-leasing { font-family:"Noto Sans CJK SC","Microsoft YaHei","PingFang SC",sans-serif; }

@media (max-width:980px) {
  .lease-nav { display:none; }
  .lease-hero { grid-template-columns:1fr; }
  .lease-hero-copy { padding:72px 24px; }
  .lease-hero-media { min-height:430px; }
  .lease-quick { grid-template-columns:1fr 1fr; }
  .lease-heading { grid-template-columns:1fr; gap:12px; }
  .lease-price-grid { grid-template-columns:1fr; }
  .lease-price-card { min-height:auto; }
  .lease-photo-grid { grid-template-columns:1fr 1fr; grid-template-rows:330px 220px 220px; }
  .lease-photo-grid figure:first-child { grid-column:1/3; grid-row:auto; }
  .lease-photo-grid figure:last-child { grid-column:1/3; }
  .lease-flex-grid { grid-template-columns:1fr 1fr; }
  .lease-cost-grid { grid-template-columns:1fr; }
  .lease-location,.lease-cta { grid-template-columns:1fr; }
}
@media (max-width:560px) {
  .lease-header { min-height:68px; padding:0 18px; }
  .lease-brand { font-size:21px; }
  .lease-header-actions .lease-button { display:none; }
  .lease-hero h1 { font-size:40px; }
  .lease-hero-copy > p:not(.lease-kicker) { font-size:15px; }
  .lease-hero-actions { flex-direction:column; }
  .lease-button { width:100%; }
  .lease-hero-media { min-height:360px; }
  .lease-hero-badge { right:14px; bottom:14px; left:14px; max-width:none; }
  .lease-quick { grid-template-columns:1fr; }
  .lease-section { padding:70px 20px; }
  .lease-heading h2 { font-size:34px; }
  .lease-photo-grid { display:block; }
  .lease-photo-grid figure { height:240px; margin-bottom:10px; }
  .lease-photo-grid figure:first-child { height:300px; }
  .lease-flex-grid { grid-template-columns:1fr; }
  .lease-service-table th:nth-child(3),.lease-service-table td:nth-child(3) { display:none; }
  .lease-service-table th,.lease-service-table td { padding:14px 10px; }
  .lease-service-table td:first-child { white-space:nowrap; font-size:13px; }
  .lease-cta { padding:70px 20px; }
  .lease-footer { flex-direction:column; padding:34px 20px; }
}

@media print {
  @page { size:A4; margin:10mm; }
  .lease-header,.lease-footer { display:none !important; }
  .leasing-page { background:white; color:#102d36; font-size:9.5pt; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .lease-hero { min-height:0; grid-template-columns:1fr 1fr; break-inside:avoid; }
  .lease-hero-copy { padding:16mm 12mm; }
  .lease-hero h1 { font-size:29pt; }
  .lease-hero-copy > p:not(.lease-kicker) { font-size:10pt; line-height:1.65; }
  .lease-hero-media { min-height:105mm; }
  .lease-hero-badge { right:8mm; bottom:8mm; }
  .lease-quick div { padding:5mm; }
  .lease-section { padding:12mm 8mm; }
  .lease-heading { margin-bottom:8mm; gap:6mm; }
  .lease-heading h2 { font-size:22pt; }
  .lease-price-card { min-height:66mm; padding:7mm; break-inside:avoid; }
  .lease-price-card h3 { margin-top:8mm; }
  .lease-price strong { font-size:22pt; }
  .lease-photo-grid { grid-template-rows:60mm 54mm; break-inside:avoid; }
  .lease-flex-grid article { min-height:45mm; padding:6mm; break-inside:avoid; }
  .lease-service-table { font-size:9pt; }
  .lease-service-table tr { break-inside:avoid; }
  .lease-cost-grid article,.lease-location-card { break-inside:avoid; }
  .lease-cta { padding:12mm 8mm; break-inside:avoid; }
  .lease-button { min-height:auto; padding:3mm 5mm; }
}

/* Five real facility roles: fixed space, interior, stock, work, and circulation. */
.lease-photo-grid { grid-template-columns: repeat(4, 1fr); grid-template-rows: 300px 280px; }
.lease-photo-grid figure:first-child, .lease-photo-grid figure.photo-main { grid-column: 1 / 3; grid-row: 1 / 3; }
.lease-photo-grid figure:nth-child(2) { grid-column: 3; grid-row: 1; }
.lease-photo-grid figure:nth-child(3) { grid-column: 4; grid-row: 1; }
.lease-photo-grid figure:nth-child(4) { grid-column: 3; grid-row: 2; }
.lease-photo-grid figure:nth-child(5) { grid-column: 4; grid-row: 2; }
.lease-photo-grid .lightbox-trigger { display: block; width: 100%; height: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.lease-photo-grid .lightbox-trigger img { pointer-events: none; }

@media (max-width: 980px) {
  .lease-photo-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 330px 220px 220px; }
  .lease-photo-grid figure:first-child, .lease-photo-grid figure.photo-main { grid-column: 1 / 3; grid-row: 1; }
  .lease-photo-grid figure:nth-child(2) { grid-column: 1; grid-row: 2; }
  .lease-photo-grid figure:nth-child(3) { grid-column: 2; grid-row: 2; }
  .lease-photo-grid figure:nth-child(4) { grid-column: 1; grid-row: 3; }
  .lease-photo-grid figure:nth-child(5) { grid-column: 2; grid-row: 3; }
}

@media (max-width: 560px) {
  .lease-photo-grid { display: block; }
  .lease-photo-grid figure, .lease-photo-grid figure:first-child, .lease-photo-grid figure.photo-main { height: 240px; margin-bottom: 10px; }
  .lease-photo-grid figure:first-child, .lease-photo-grid figure.photo-main { height: 300px; }
}

/* Print layout: override narrow-page responsive rules so the browser-exported PDF
   keeps the desktop information hierarchy instead of stacking every card. */
@media print {
  .lease-hero { grid-template-columns:1.35fr .65fr; }
  .lease-hero h1 { font-size:23pt; line-height:1.28; }
  .lease-heading { grid-template-columns:.45fr 1.1fr .85fr; gap:5mm; }
  .lease-price-grid { grid-template-columns:repeat(3,1fr); gap:3mm; }
  .lease-price-card { min-height:58mm; padding:5mm; }
  .lease-price-card h3 { margin:5mm 0 2mm; font-size:13pt; }
  .lease-price { margin-bottom:3mm; font-size:10pt; }
  .lease-price strong { font-size:18pt; }
  .lease-photo-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; grid-template-rows:52mm 48mm; gap:2mm; }
  .lease-photo-grid figure:first-child { grid-column:auto; grid-row:1/3; }
  .lease-photo-grid figure:last-child { grid-column:2/4; }
  .lease-flex-grid { grid-template-columns:repeat(4,1fr); }
  .lease-flex-grid article { min-height:38mm; padding:4mm; }
  .lease-flex-grid h3 { margin:5mm 0 2mm; font-size:11pt; }
  .lease-cost-grid { grid-template-columns:repeat(3,1fr); gap:3mm; }
  .lease-location { grid-template-columns:.9fr 1.1fr; gap:8mm; }
  .lease-cta { grid-template-columns:1.25fr .75fr; gap:8mm; }
  #costs, #location { break-inside:avoid; page-break-inside:avoid; }
}
