/* Office offers: uses the established SRInvest colour and type system. */
.rental-section .button-link, .rental-teaser .button-link { gap: 12px; }
body[data-page="freie-bueroflaechen.html"] .page-hero-inner { min-height: 300px; }
body[data-page="freie-bueroflaechen.html"] .hero-body { max-width: 700px; }
.rental-section { width: min(var(--max), calc(100% - 2 * var(--pad))); margin: auto; padding: clamp(48px, 6vw, 80px) 0; }
.rental-intro { display: grid; grid-template-columns: 1fr 1.05fr; gap: clamp(28px, 5vw, 72px); align-items: end; }
.rental-intro h2 { margin: 0; font-size: clamp(28px, 3.1vw, 42px); line-height: 1.16; letter-spacing: -.035em; text-transform: none; }
.rental-intro-copy p { margin: 0; color: var(--ink); max-width: 60ch; }
.rental-intro-copy .rental-availability { margin-top: 16px; color: var(--brand-red-dark); font-size: 13px; font-weight: 650; }
.rental-jumplinks { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); margin: 34px 0 44px; border-block: 1px solid var(--line-dark); }
.rental-jumplinks a { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 66px; padding: 14px 20px; transition: background .2s, color .2s; }
.rental-jumplinks a + a { border-left: 1px solid var(--line-dark); }
.rental-jumplinks span { font-weight: 700; }
.rental-jumplinks small { color: var(--ink); font-size: 13px; white-space: nowrap; }
.rental-jumplinks a:hover { background: var(--white); color: var(--brand-red-dark); }
.rental-list { display: grid; gap: 28px; }
.rental-offer { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); background: var(--white); border: 1px solid var(--line); scroll-margin-top: calc(var(--header-h) + 24px); }
.rental-visual { min-width: 0; display: grid; }
.rental-photo-pending { display: flex; flex-direction: column; justify-content: space-between; gap: 32px; min-height: 330px; padding: clamp(22px, 3vw, 36px); background: #e8e6df; border-right: 1px solid var(--line); }
.rental-photo-label, .rental-photo-foot { color: #535957; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.rental-photo-label { padding-left: 12px; border-left: 2px solid var(--brand-red-dark); }
.rental-photo-message { text-align: center; display: grid; justify-items: center; gap: 10px; color: #535957; }
.rental-photo-message svg { margin-bottom: 5px; }
.rental-photo-message strong { color: var(--graphite); font-size: clamp(17px, 1.5vw, 20px); line-height: 1.3; font-weight: 600; }
.rental-photo-message > span { font-size: 13px; }
.rental-photo-foot { font-size: 10px; }
.rental-copy { min-width: 0; padding: clamp(24px, 3.1vw, 42px); display: flex; flex-direction: column; }
.rental-heading { display: flex; justify-content: space-between; gap: 20px; align-items: start; }
.rental-heading .kicker { font-size: 11px; margin-bottom: 10px; }
.rental-heading h3 { margin: 0; font-size: clamp(27px, 2.5vw, 36px); line-height: 1.1; letter-spacing: -.025em; text-transform: none; }
.rental-index { font-size: 13px; font-weight: 650; color: #727672; padding-top: 2px; }
.rental-description { margin: 20px 0 24px; max-width: 55ch; color: #515653; font-size: 16px; line-height: 1.65; }
.rental-facts { display: grid; grid-template-columns: .85fr 1.15fr; gap: 16px; margin: auto 0 28px; padding-top: 20px; border-top: 1px solid var(--line); }
.rental-facts dt { font-size: 11px; color: #5e6460; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 8px; }
.rental-facts dd { margin: 0; font-size: 30px; line-height: 1.2; font-weight: 650; }
.rental-facts dd small { font-size: 16px; font-weight: 500; }
.rental-facts .rental-fact-text { font-size: 15px; line-height: 1.5; max-width: 24ch; }
.rental-offer-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.rental-offer-footer > span { font-size: 12px; color: #5e6460; }
.rental-offer-footer .button-link { flex-shrink: 0; min-height: 46px; padding: 12px 16px; font-size: 12px; }
.rental-contact { display: flex; justify-content: space-between; align-items: center; gap: 36px; margin-top: 44px; padding: clamp(28px, 4vw, 48px); background: var(--graphite); color: var(--white); }
.rental-contact h3 { margin: 0; font-size: clamp(23px, 2.3vw, 30px); line-height: 1.25; text-transform: none; }
.rental-contact .kicker { color: #d6d8d3; }
.rental-contact p:last-child { max-width: 61ch; margin: 16px 0 0; font-size: 15px; color: #d6d8d3; }
.rental-contact > a { flex-shrink: 0; font-size: 12px; }
.rental-existing-heading { margin-bottom: 24px; }
.rental-existing-heading h2 { font-size: clamp(24px, 2.6vw, 34px); margin: 0; text-transform: none; }
.rental-teaser { width: min(var(--max), calc(100% - 2 * var(--pad))); margin: clamp(36px, 5vw, 64px) auto 0; padding: 26px 0 26px 26px; border-block: 1px solid var(--line-dark); border-left: 3px solid var(--brand-red-dark); display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.rental-teaser h2 { margin: 0; font-size: clamp(23px, 2.4vw, 32px); line-height: 1.2; text-transform: none; }
.rental-teaser p:last-child { margin: 10px 0 0; color: var(--ink); font-size: 14px; }
.rental-teaser .button-link { flex-shrink: 0; font-size: 12px; }
#neue-mietflaechen { scroll-margin-top: calc(var(--header-h) + 20px); }
@media (max-width: 1000px) {
 .rental-offer { grid-template-columns: minmax(0,.72fr) minmax(0,1fr); }
 .rental-offer-footer { align-items: start; flex-direction: column; }
 .rental-intro { gap: 28px; }
 .rental-jumplinks a { padding-inline: 12px; }
 .rental-contact { align-items: start; flex-direction: column; }
}
@media (max-width: 700px) {
 body[data-page="freie-bueroflaechen.html"] .page-hero-inner { min-height: 270px; }
 .rental-intro, .rental-offer { grid-template-columns: 1fr; }
 .rental-jumplinks { grid-template-columns: repeat(2,minmax(0,1fr)); margin: 28px 0 32px; }
 .rental-jumplinks a { min-height: 58px; }
 .rental-jumplinks a:nth-child(3) { border-left: 0; }
 .rental-jumplinks a:nth-child(n+3) { border-top: 1px solid var(--line-dark); }
 .rental-jumplinks span { font-size: 14px; }
 .rental-jumplinks small { font-size: 12px; }
 .rental-photo-pending { min-height: 235px; gap: 24px; border-right: 0; border-bottom: 1px solid var(--line); padding: 22px; }
 .rental-copy { padding: 24px 22px; }
 .rental-offer-footer { align-items: stretch; gap: 14px; }
 .rental-offer-footer .button-link { justify-content: space-between; }
 .rental-contact { margin-top: 32px; padding: 28px 24px; gap: 24px; }
 .rental-contact > a { width: 100%; justify-content: space-between; }
 .rental-teaser { flex-direction: column; align-items: start; gap: 22px; padding-left: 20px; }
}
@media (prefers-reduced-motion: reduce) { .rental-jumplinks a { transition: none; } }
