/* Practical service-page content. Uses the existing ImmoLosch type and colour tokens. */
.service-content + .service-content { border-top:1px solid var(--ink-08); }
.service-content__body { min-width:0; color:var(--ink-70); font-size:var(--type-body-lg); line-height:var(--line-body-lg); }
.service-content__body > p + p { margin-top:var(--space-paragraph); }
.service-content__lead { color:var(--ink); font-weight:var(--weight-label); }
.service-content__body a:not(.arrowlink) { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.service-practical-list { margin:18px 0; padding:0; list-style:none; }
.service-practical-list--columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:28px; }
.service-practical-list li { position:relative; padding:10px 0 10px 17px; border-bottom:1px solid var(--ink-08); }
.service-practical-list li::before { content:''; position:absolute; width:5px; height:5px; border-radius:50%; background:var(--brick); top:21px; left:0; }
.service-contact-steps { display:grid; gap:20px; }
.service-contact-steps > li { display:grid; grid-template-columns:24px 1fr; gap:16px; padding-bottom:20px; border-bottom:1px solid var(--ink-12); }
.service-contact-steps > li > span { color:var(--brick); font-size:var(--type-body); font-weight:var(--weight-label); }
.service-contact-steps h3 { color:var(--ink); font-size:var(--heading-size,var(--type-h3)); font-weight:var(--heading-weight,var(--weight-heading)); margin-bottom:6px; }
.service-value-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.service-value-options article { border-top:1px solid var(--ink-12); padding-top:18px; }
.service-small-label { color:var(--brick); font-size:var(--type-eyebrow); text-transform:uppercase; letter-spacing:var(--tracking-eyebrow); font-weight:var(--weight-label); }
.service-value-options h3 { color:var(--ink); font:var(--heading-weight,var(--weight-heading)) var(--heading-size,var(--type-h3))/var(--heading-line,var(--line-h3)) var(--heading-family,var(--sans)); margin:14px 0; }
.service-value-options .arrowlink { display:inline-flex; align-items:center; margin-top:20px; font-size:var(--type-ui); line-height:var(--line-ui); }
.service-value-options .arrowlink svg { flex:none; }
.service-priorities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-bottom:18px; }
.service-priorities article { border-top:1px solid var(--ink-12); padding-top:18px; }
.service-priorities h3 { color:var(--ink); font:var(--heading-weight,var(--weight-heading)) var(--heading-size,var(--type-h3))/var(--heading-line,var(--line-h3)) var(--heading-family,var(--sans)); }
.service-priorities .service-practical-list { font-size:var(--type-body); margin-top:12px; }
.service-next .otherlist { grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:24px 40px; margin-top:24px; }
.service-next .otherlist li { border-top:1px solid var(--ink-12); padding-top:18px; }
.service-next .otherlist p { font-size:var(--type-body); color:var(--ink-70); }
.service-next .otherlist a { border:0; padding:10px 0; font:var(--weight-medium) var(--type-ui)/var(--line-ui) var(--sans); }
.service-consultation-cases .step h3 { font-size:var(--heading-size,var(--type-h3)); line-height:var(--heading-line,var(--line-h3)); }
@media(max-width:900px) {
}
@media(max-width:600px) {
  .service-practical-list--columns,.service-value-options,.service-priorities { grid-template-columns:1fr; }
  .service-priorities { gap:24px; }
  .service-priorities .service-practical-list { margin-bottom:0; }
  .service-value-options { gap:30px; }
  .service-next .otherlist { grid-template-columns:1fr; }
}

/* Editorial service layouts: diagrams, document sheets and practical visual guides. */
.svc-icon { display:block; width:28px; height:28px; flex:none; color:var(--brick); }
.svc-icon--large { width:56px; height:56px; margin-bottom:28px; }
.svc-scope .service-editorial__grid { grid-template-columns:.8fr 1.2fr; gap:64px; }
.svc-scope-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; margin:0; }
.svc-scope-list li { display:flex; gap:16px; align-items:center; padding:19px 0; color:var(--ink); line-height:var(--line-body); }
.svc-scope-list li::before,.svc-document-list li::before,.svc-tenant-list li::before,.svc-outcome-list li::before { display:none; }
.svc-scope-list .svc-icon { width:25px; height:25px; }
.svc-scope--expanded .service-editorial__grid { display:block; }
.svc-scope--expanded header { max-width:610px; }
.svc-scope--expanded .service-content__body { margin-top:42px; }
.svc-scope-list--detailed { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 34px; }
.svc-scope-list--detailed li { align-items:flex-start; min-height:142px; padding:24px 0; }
.svc-scope-list--detailed li:nth-child(-n+3) { border-top:1px solid var(--ink-08); }
.svc-scope-list--detailed .svc-icon { width:27px; height:27px; margin-top:2px; }
.svc-scope-list--detailed li>span { display:block; }
.svc-scope-list--detailed strong { display:block; color:var(--ink); font-size:var(--type-metadata); font-weight:var(--weight-label); line-height:var(--line-metadata); }
.svc-scope-list--detailed small { display:block; margin-top:7px; color:var(--ink-55); font-size:var(--type-caption); line-height:var(--line-caption); }
.sell-timeline article>.svc-icon,.rental-phases article>.svc-icon,.renovation-stages article>.svc-icon { margin-bottom:24px; }
.sell-timeline__focus>.svc-icon { color:var(--on-ink); }
.svc-dark { background:var(--ink); color:var(--on-ink); }
.svc-dark h2,.svc-dark .eyebrow,.svc-dark .service-content__lead { color:var(--on-ink); }
.svc-dark header>p:last-child,.svc-dark .service-content__body,.svc-dark dd { color:rgba(245,242,232,.76); }
.svc-dark .svc-icon { color:var(--brick-on-ink); }
.svc-factors .service-editorial__grid { grid-template-columns:.9fr 1.1fr; gap:72px; }
.svc-factor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.svc-factor-grid>div { border-top:1px solid var(--ink-12); padding-top:22px; }
.svc-factor-grid dt { color:var(--ink); font:var(--weight-body) var(--type-body)/var(--line-body) var(--sans); }
.svc-factor-grid dt .svc-icon { margin-bottom:18px; }
.svc-factor-grid dd { margin-top:12px; font-size:var(--type-metadata); line-height:var(--line-metadata); }
.svc-dark .svc-factor-grid>div { border-color:var(--on-ink-line); }
.svc-dark .svc-factor-grid dt { color:var(--on-ink); }
.svc-value-diagram { position:relative; max-width:440px; margin:34px auto 0; aspect-ratio:1.26; }
.svc-value-diagram__orbit { position:absolute; inset:20px 38px 92px; border:1px solid var(--on-ink-line); border-radius:50%; }
.svc-value-diagram__orbit>span { position:absolute; display:flex; align-items:center; gap:8px; background:var(--ink); padding:6px 10px; font-size:var(--type-caption); color:var(--on-ink); }
.svc-value-diagram__orbit>span:nth-child(1) { left:50%; top:0; transform:translate(-50%,-50%); }
.svc-value-diagram__orbit>span:nth-child(2) { right:0; top:50%; transform:translate(30%,-50%); }
.svc-value-diagram__orbit>span:nth-child(3) { left:50%; bottom:0; transform:translate(-50%,50%); }
.svc-value-diagram__orbit>span:nth-child(4) { left:0; top:50%; transform:translate(-30%,-50%); }
.svc-value-diagram__orbit .svc-icon { width:18px; height:18px; }
.svc-value-diagram__centre { position:absolute; left:50%; top:43%; width:190px; min-height:92px; transform:translate(-50%,-50%); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; padding:14px 18px; background:var(--brick); color:var(--on-ink); text-align:center; pointer-events:none; }
.svc-value-diagram__centre>span { font-size:var(--type-caption); line-height:var(--line-caption); letter-spacing:var(--tracking-body); text-transform:uppercase; }
.svc-value-diagram__centre strong { font:var(--weight-body) var(--type-body)/var(--line-body) var(--sans); }
.svc-value-diagram__centre small { color:var(--on-ink-65); font-size:var(--type-caption); }
.svc-value-diagram__output { position:absolute; left:50%; bottom:0; min-width:190px; transform:translateX(-50%); border-top:1px solid var(--on-ink-line); padding:14px 18px 0; text-align:center; }
.svc-value-diagram__output::before { content:''; position:absolute; width:1px; height:19px; left:50%; top:-20px; background:var(--brick-on-ink); }
.svc-value-diagram__output>span { display:block; color:var(--brick-on-ink); font-size:var(--type-caption); letter-spacing:var(--tracking-body); text-transform:uppercase; }
.svc-value-diagram__output strong { display:block; margin-top:3px; color:var(--on-ink); font:var(--weight-body) var(--type-body)/var(--line-body) var(--sans); }
.svc-value-diagram__output small { color:var(--on-ink-65); font-size:var(--type-caption); }
.svc-factor-grid__signature { grid-column:1/-1; display:grid; grid-template-columns:minmax(190px,.75fr) minmax(0,1.25fr); gap:30px; align-items:center; padding:26px 28px !important; border-top:2px solid var(--brick) !important; background:rgba(245,242,232,.07); }
.svc-factor-grid__signature dt { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.svc-factor-grid__signature dt strong { color:var(--on-ink); font:var(--weight-body) var(--type-body)/var(--line-body) var(--sans); }
.svc-factor-grid__number { color:var(--brick-on-ink); font:var(--weight-body) var(--type-metadata)/var(--line-metadata) var(--sans); letter-spacing:var(--tracking-body); text-transform:uppercase; }
.svc-factor-grid__signature dd { margin:0; color:rgba(245,242,232,.82); }
.svc-photo { margin:28px 0 0; }
.svc-photo img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:3px; }
.svc-photo figcaption { font-size:var(--type-caption); color:var(--ink-55); line-height:var(--line-caption); border-left:2px solid var(--brick); padding-left:10px; margin-top:13px; }
.svc-renovation-comparison { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.svc-renovation-comparison .svc-photo { margin:0; min-width:0; }
.svc-renovation-comparison figcaption { font-size:var(--type-caption); color:var(--ink-70); }
@media(max-width:600px){
  .svc-renovation-comparison { grid-template-columns:1fr; gap:24px; }
}
.svc-documents { background:var(--ivory-deep); }
.svc-documents .svc-photo img { object-fit:contain; }
.svc-documents .service-editorial__grid { grid-template-columns:1fr 1.1fr; align-items:center; }
.svc-documents .service-content__body { padding:32px; background:var(--paper); border-top:3px solid var(--brick); box-shadow:0 10px 35px -25px var(--ink-40); }
.svc-documents .service-content__lead { font:var(--weight-body) var(--type-lead)/var(--line-lead) var(--sans); margin-bottom:12px; }
.svc-document-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
.svc-document-list li { display:flex; align-items:flex-start; gap:10px; padding:14px 0; font-size:var(--type-metadata); }
.svc-document-list .svc-icon { width:19px; height:19px; margin-top:2px; }
.svc-faq .service-editorial__grid { grid-template-columns:.7fr 1.3fr; }
.svc-accordion details { border-top:1px solid var(--ink-12); }
.svc-accordion details:last-child { border-bottom:1px solid var(--ink-12); }
.svc-accordion summary { padding:18px 0; list-style:none; cursor:pointer; color:var(--ink); font-size:var(--type-h3); font-weight:var(--weight-heading); display:flex; justify-content:space-between; align-items:center; gap:20px; }
.svc-accordion summary::-webkit-details-marker { display:none; }
.svc-accordion summary>span { font-weight:var(--weight-body); font-size:var(--type-icon); color:var(--brick); transition:transform var(--motion-fast) ease; }
.svc-accordion details[open] summary>span { transform:rotate(45deg); }
.svc-accordion summary:hover { color:var(--brick); }
.svc-accordion summary:focus-visible { outline:2px solid var(--brick); outline-offset:4px; }
.svc-accordion__answer { padding:0 30px 24px 0; font-size:var(--type-body); line-height:var(--line-body); }
.svc-options .service-editorial__grid { grid-template-columns:.72fr 1.28fr; gap:48px; align-items:center; }
.svc-options .service-value-options { gap:0; }
.svc-options .service-value-options article { border:1px solid var(--ink-12); padding:28px; display:flex; flex-direction:column; align-items:flex-start; }
.svc-options .service-value-options article:first-child { background:var(--ink); color:var(--on-ink-65); border-color:var(--ink); }
.svc-options .service-value-options article:first-child h3,.svc-options .service-value-options article:first-child a { color:var(--on-ink); }
.svc-options .service-value-options article:first-child .svc-icon,.svc-options .service-value-options article:first-child .service-small-label { color:var(--brick-on-ink); }
.svc-options .service-value-options article> .svc-icon { width:36px; height:36px; margin-bottom:24px; }
.svc-options .service-value-options h3 { font-size:var(--heading-size,var(--type-h3)); }
.svc-options .service-value-options article>p:not(.service-small-label) { font-size:var(--type-body); margin-bottom:22px; }
.svc-options .service-value-options .arrowlink { margin-top:auto; padding-top:8px; }
.svc-contact { background:var(--ivory-deep); }
.svc-contact .service-editorial__grid { display:block; }
.svc-contact header { max-width:590px; margin-bottom:40px; }
.svc-contact .service-contact-steps { grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.svc-contact .service-contact-steps>li { display:block; position:relative; border:0; padding:0; }
.svc-contact .service-contact-steps>li>span { display:grid; place-items:center; width:36px; height:36px; border:1px solid var(--brick); border-radius:50%; margin-bottom:24px; background:var(--ivory-deep); position:relative; z-index:1; }
.svc-contact .service-contact-steps>li:not(:last-child)::before { content:''; position:absolute; height:1px; top:18px; left:48px; right:-24px; background:var(--ink-12); }
.svc-contact .service-contact-steps h3 { font:var(--heading-weight,var(--weight-heading)) var(--heading-size,var(--type-h3))/var(--heading-line,var(--line-h3)) var(--heading-family,var(--sans)); max-width:310px; }
.svc-contact .service-contact-steps p { font-size:var(--type-body); }
.svc-flow { display:flex; margin-top:36px; gap:0; list-style:none; }
.svc-flow li { flex:1; min-width:0; display:flex; flex-direction:column; align-items:flex-start; padding:0 14px 0 0; position:relative; }
.svc-flow li+li { padding-left:20px; border-left:1px solid var(--on-ink-line); }
.svc-flow .svc-icon { width:36px; height:36px; margin-bottom:20px; }
.svc-flow__number { font-size:var(--type-metadata); color:var(--brick-on-ink); margin-bottom:8px; }
.svc-flow strong { font-size:var(--type-metadata); font-weight:var(--weight-medium); }
.svc-tenants .service-editorial__grid { grid-template-columns:1fr 1fr; gap:80px; }
.svc-tenants .service-content__lead { font:var(--weight-body) var(--type-lead)/var(--line-lead) var(--sans); }
.svc-tenant-list li { display:flex; gap:14px; align-items:center; padding:13px 0; border-color:var(--on-ink-line); font-size:var(--type-metadata); }
.svc-tenant-list .svc-icon { width:20px; height:20px; }
.service-consultation-cases .steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border:1px solid var(--ink-12); }
.service-consultation-cases .step { padding:30px; border:0; border-right:1px solid var(--ink-12); border-bottom:1px solid var(--ink-12); }
.service-consultation-cases .step:nth-child(3n) { border-right:0; }
.service-consultation-cases .step:nth-last-child(-n+3) { border-bottom:0; }
.service-consultation-cases .step:nth-child(even) { background:var(--ivory-deep); }
.service-consultation-cases .step>.svc-icon { margin-bottom:24px; width:32px; height:32px; }
.service-consultation-cases .step h3 { font:var(--heading-weight,var(--weight-heading)) var(--heading-size,var(--type-h3))/var(--heading-line,var(--line-h3)) var(--heading-family,var(--sans)); }
.service-consultation-cases .step p { margin-top:12px; font-size:var(--type-body); }
.svc-conversation .service-editorial__grid { grid-template-columns:1fr 1fr; align-items:center; }
.svc-conversation .service-content__lead { font:var(--weight-body) var(--type-lead)/var(--line-lead) var(--sans); margin-bottom:18px; }
.svc-conversation .service-content__body>p { font-size:var(--type-body); line-height:var(--line-body); }
.svc-outcomes { background:var(--ivory); }
.svc-outcome-list { margin:0; counter-reset:outcome; }
.svc-outcome-list li { display:block; padding:18px 0; border-color:var(--ink-12); color:var(--ink); }
.svc-outcome-list li:first-child { border-top:1px solid var(--ink-12); }
.svc-priority-section { background:var(--ivory-deep); }
.svc-priority-section .service-editorial__grid,.svc-responsibilities .service-editorial__grid { display:block; }
.svc-priority-section header,.svc-responsibilities header { max-width:650px; margin-bottom:34px; }
.svc-priority-section .service-priorities { gap:0; }
.svc-priority-section .service-priorities article { padding:32px; background:var(--paper); border:1px solid var(--ink-12); }
.svc-priority-section .service-priorities article:first-child { background:var(--ink); color:var(--on-ink); border-color:var(--ink); }
.svc-priority-section .service-priorities article:first-child h3 { color:var(--on-ink); }
.svc-priority-section .service-priorities article:first-child .svc-icon { color:var(--brick-on-ink); }
.svc-priority-section .service-priorities article:first-child li { border-color:var(--on-ink-line); }
.svc-priority-section .service-priorities article:last-child { background:transparent; }
.svc-priority-section .service-priorities article>.svc-icon { margin-bottom:25px; width:36px; height:36px; }
.svc-priority-section .service-priorities h3 { font-size:var(--heading-size,var(--type-h3)); }
.svc-priority-section .service-priorities .service-practical-list { font-size:var(--type-body); }
.svc-responsibility-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.svc-responsibility-grid>div { border-top:1px solid var(--ink-12); padding-top:24px; }
.svc-responsibility-grid dt { font:var(--weight-body) var(--type-body)/var(--line-body) var(--sans); color:var(--ink); }
.svc-responsibility-grid dt .svc-icon { margin-bottom:20px; }
.svc-responsibility-grid dd { font-size:var(--type-metadata); margin-top:15px; }
.svc-contact-photo { background:var(--ivory-deep); }
@media (max-width:1050px) {
 .svc-scope .service-editorial__grid,.svc-factors .service-editorial__grid,.svc-documents .service-editorial__grid,.svc-faq .service-editorial__grid,.svc-options .service-editorial__grid,.svc-tenants .service-editorial__grid,.svc-conversation .service-editorial__grid { gap:36px; }
 .svc-factor-grid { gap:22px; }
 .svc-documents .service-content__body { padding:24px; }
 .svc-options .service-editorial__grid { grid-template-columns:1fr; }
 .svc-options header { max-width:660px; }
 .svc-responsibility-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .svc-scope-list--detailed { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .svc-scope-list--detailed li:nth-child(3) { border-top:0; }
}
@media (max-width:760px) {
 .svc-scope .service-editorial__grid,.svc-factors .service-editorial__grid,.svc-documents .service-editorial__grid,.svc-faq .service-editorial__grid,.svc-tenants .service-editorial__grid,.svc-conversation .service-editorial__grid { grid-template-columns:1fr; }
 .svc-scope-list { gap:0 22px; }
 .svc-contact .service-contact-steps { grid-template-columns:1fr; gap:28px; }
 .svc-contact .service-contact-steps>li { display:grid; grid-template-columns:36px 1fr; gap:20px; }
 .svc-contact .service-contact-steps>li>span { margin:0; }
 .svc-contact .service-contact-steps>li:not(:last-child)::before { width:1px; height:auto; left:18px; top:46px; right:auto; bottom:-18px; }
 .svc-contact .service-contact-steps h3 { max-width:none; }
 .service-consultation-cases .steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .service-consultation-cases .step { padding:24px; }
 .service-consultation-cases .step:nth-child(n) { border-right:1px solid var(--ink-12); border-bottom:1px solid var(--ink-12); }
 .service-consultation-cases .step:nth-child(2n) { border-right:0; }
 .service-consultation-cases .step:last-child { border-bottom:0; }
 .svc-priority-section .service-priorities { grid-template-columns:1fr; gap:16px; }
 .svc-priority-section .service-priorities article { padding:26px; }
 .svc-photo img { max-height:350px; }
}
@media (max-width:480px) {
 .svc-scope-list,.svc-factor-grid,.svc-document-list,.service-consultation-cases .steps,.svc-responsibility-grid { grid-template-columns:1fr; }
 .svc-scope-list li { padding:14px 0; }
 .svc-factor-grid dt { display:flex; gap:14px; align-items:center; }
 .svc-factor-grid dt .svc-icon { margin:0; }
 .svc-factor-grid dd { margin-left:42px; }
 .svc-options .service-value-options { grid-template-columns:1fr; }
 .service-consultation-cases .step:nth-child(n) { border-right:0; border-bottom:1px solid var(--ink-12); }
 .service-consultation-cases .step:last-child { border-bottom:0; }
 .svc-documents .service-content__body { padding:24px 20px; }
 .svc-flow { gap:12px; }
 .svc-flow li { padding:0; }
 .svc-flow li+li { padding-left:12px; }
 .svc-flow strong { font-size:var(--type-caption); }
 .svc-value-diagram__centre strong { font-size:var(--type-h4); }
 .svc-scope-list--detailed { grid-template-columns:1fr; }
 .svc-scope-list--detailed li { min-height:0; }
 .svc-scope-list--detailed li:nth-child(n) { border-top:0; }
 .svc-scope-list--detailed li:first-child { border-top:1px solid var(--ink-08); }
 .svc-factor-grid__signature { display:block; padding:24px 20px !important; }
 .svc-factor-grid__signature dd { margin-top:14px; }
}
@media (prefers-reduced-motion:reduce) {
 .svc-accordion summary>span { transition:none; }
}
/* Keep explanatory copy legible inside the navy sections. */
.svc-dark p { color:rgba(245,242,232,.76); }
.svc-dark header>.eyebrow { color:var(--on-ink); }
.svc-dark .service-content__lead { color:var(--on-ink); }
.svc-conversation .service-content__body>.service-content__lead { font:var(--weight-body) var(--type-lead)/var(--line-lead) var(--sans); }
.svc-factors header>h2+p { margin-top:var(--space-heading-body); font-size:var(--type-lead); }
.svc-options .service-value-options article:first-child>p:not(.service-small-label) { color:rgba(245,242,232,.76); }

/* Explicit limits also protect against old cached layout styles. */
.svc-icon { max-width:40px; max-height:40px; }
.svc-icon--large { width:36px; height:36px; }

/* Seven selling steps: four introductions, then three completion stages. */
.service-process--sell .sell-timeline { grid-template-columns:repeat(12,minmax(0,1fr)); }
.service-process--sell .sell-timeline article { grid-column:span 3; min-height:0; border-left:1px solid var(--ink-12); border-bottom:0; padding:26px 24px; }
.service-process--sell .sell-timeline article:nth-child(n+5) { grid-column:span 4; border-top:1px solid var(--ink-12); }
.service-process--sell .sell-timeline article:nth-child(1),
.service-process--sell .sell-timeline article:nth-child(5) { border-left:0; }

/* Rental process is the first section after the hero: seven steps in reading order. */
.service-page--rent .rental-process { display:block; }
.service-page--rent .rental-process .service-section-head { max-width:760px; }
.service-page--rent .rental-process .service-section-head > p:last-child { max-width:570px; margin-top:var(--space-heading-body); color:var(--ink-70); font-size:var(--type-lead); line-height:var(--line-lead); }
.rental-steps { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); margin:0; padding:0; list-style:none; }
.rental-steps > li { position:relative; grid-column:span 3; min-height:220px; padding:27px clamp(16px,2vw,30px) 34px; border-top:1px solid var(--ink-12); border-left:1px solid var(--ink-12); }
.rental-steps > li:nth-child(n+5) { grid-column:span 4; }
.rental-steps > li:nth-child(1),.rental-steps > li:nth-child(5) { border-left:0; }
.rental-steps > li::before { content:''; position:absolute; top:-2px; left:clamp(16px,2vw,30px); width:36px; height:3px; background:var(--brick); }
.rental-steps__number { display:block; margin-bottom:30px; color:var(--brick); font:var(--weight-body) var(--type-metadata)/var(--line-metadata) var(--sans); letter-spacing:var(--tracking-body); }
.rental-steps h3 { max-width:var(--heading-measure,var(--measure-heading)); margin:0 0 12px; color:var(--ink); font:var(--heading-weight,var(--weight-heading)) var(--heading-size,var(--type-h3))/var(--heading-line,var(--line-h3)) var(--heading-family,var(--sans)); letter-spacing:var(--heading-tracking,var(--tracking-heading)); }
.rental-steps p { max-width:var(--measure-body); margin:0; color:var(--ink-70); font-size:var(--type-body); line-height:var(--line-body); }
@media(max-width:1000px) {
 .rental-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .rental-steps > li:nth-child(n) { grid-column:auto; min-height:190px; border-left:1px solid var(--ink-12); }
 .rental-steps > li:nth-child(odd) { border-left:0; }
 .rental-steps > li:last-child { grid-column:1/-1; min-height:0; }
}
@media(max-width:560px) {
 .rental-steps { grid-template-columns:1fr; }
 .rental-steps > li:nth-child(n) { grid-column:1; min-height:0; padding:24px 8px 28px; border-left:0; }
 .rental-steps > li::before { left:8px; }
 .rental-steps__number { margin-bottom:16px; }
 .rental-steps h3 { max-width:none; }
 .rental-steps p { max-width:var(--measure-body); }
}

/* Rental guidance follows the process, then a short trust block and FAQ. */
.rental-guidance { background:var(--canvas); }
.rental-guidance__head { max-width:740px; margin-bottom:var(--space-head-content); }
.rental-guidance__head > p:last-child { max-width:590px; margin-top:var(--space-heading-body); color:var(--ink-70); font-size:var(--type-lead); line-height:var(--line-lead); }
.rental-guidance__block { display:grid; grid-template-columns:minmax(220px,.38fr) minmax(0,.62fr); gap:clamp(34px,5vw,78px); padding:clamp(32px,4vw,50px) 0; border-top:1px solid var(--ink-12); scroll-margin-top:80px; }
.rental-guidance__intro > span,.rental-trust__points article > span { display:block; margin-bottom:var(--space-eyebrow-heading); color:var(--brick); font-size:var(--type-eyebrow); font-weight:var(--weight-label); line-height:var(--line-eyebrow); letter-spacing:var(--tracking-eyebrow); text-transform:uppercase; }
.rental-guidance__intro h3 { max-width:var(--heading-measure,var(--measure-heading)); color:var(--ink); font:var(--heading-weight,var(--weight-heading)) var(--heading-size,var(--type-h3))/var(--heading-line,var(--line-h3)) var(--heading-family,var(--sans)); letter-spacing:var(--heading-tracking,var(--tracking-heading)); }
.rental-guidance__intro p { max-width:var(--measure-body); margin-top:var(--space-title-body); color:var(--ink-70); font-size:var(--type-body); line-height:var(--line-body); }
.rental-guidance__answers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 clamp(18px,3vw,46px); margin:0; }
.rental-guidance__answers > div { padding:18px 0 21px; border-top:1px solid var(--ink-12); }
.rental-guidance__answers > div:last-child:nth-child(odd) { grid-column:1/-1; }
.rental-guidance__answers dt { color:var(--ink); font-size:var(--type-body); font-weight:var(--weight-bold); line-height:var(--line-body); }
.rental-guidance__answers dd { margin-top:7px; color:var(--ink-70); font-size:var(--type-body); line-height:var(--line-body); }
.rental-guidance__answers a,.rental-guidance__source a { color:var(--ink); text-decoration:underline; text-decoration-color:var(--brick); text-underline-offset:3px; }
.rental-guidance__source { padding-top:18px; border-top:1px solid var(--ink-12); color:var(--ink-55); font-size:var(--type-metadata); line-height:var(--line-metadata); }
.rental-trust { background:var(--ivory-deep); }
.rental-trust__grid { display:grid; grid-template-columns:minmax(240px,.38fr) minmax(0,.62fr); gap:clamp(40px,6vw,90px); align-items:start; }
.rental-trust header > p:not(.eyebrow) { max-width:var(--measure-body); margin-top:var(--space-heading-body); color:var(--ink-70); font-size:var(--type-lead); line-height:var(--line-lead); }
.rental-trust .arrowlink { display:inline-flex; align-items:center; gap:10px; margin-top:28px; color:var(--brick); font-size:var(--type-ui); font-weight:var(--weight-medium); }
.rental-trust .arrowlink svg { width:18px; height:18px; }
.rental-trust__proof { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 24px; margin-top:28px; padding:24px 0 0; border-top:1px solid var(--ink-12); list-style:none; }
.rental-trust__proof li { min-width:0; }
.rental-trust__proof strong { display:block; color:var(--brick); font:var(--weight-body) var(--type-body)/var(--line-body) var(--sans); }
.rental-trust__proof span { display:block; max-width:23ch; margin-top:8px; color:var(--ink-70); font-size:var(--type-metadata); line-height:var(--line-metadata); }
.rental-trust__proof .rental-trust__language { grid-column:1/-1; padding-top:20px; border-top:1px solid var(--ink-12); }
.rental-trust__language strong { color:var(--ink); font:var(--weight-body) var(--type-body)/var(--line-body) var(--sans); }
.rental-trust__language span { max-width:42ch; margin-top:5px; }
.rental-trust__points { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--ink-12); }
.rental-trust__points article { min-height:200px; padding:23px clamp(15px,1.5vw,24px) 14px; border-left:1px solid var(--ink-12); }
.rental-trust__points article:first-child { border-left:0; }
.rental-trust__points h3 { max-width:var(--heading-measure,var(--measure-heading)); color:var(--ink); font:var(--heading-weight,var(--weight-heading)) var(--heading-size,var(--type-h3))/var(--heading-line,var(--line-h3)) var(--heading-family,var(--sans)); }
.rental-trust__points p { margin-top:11px; color:var(--ink-70); font-size:var(--type-body); line-height:var(--line-body); }
.rental-faq { background:var(--canvas); }
.rental-faq header > p:last-child { max-width:var(--measure-body); color:var(--ink-70); line-height:var(--line-lead); }
@media(max-width:900px) {
 .rental-guidance__block,.rental-trust__grid { grid-template-columns:1fr; gap:28px; }
 .rental-guidance__intro h3 { max-width:none; }
 .rental-trust__points article { min-height:0; }
}
@media(max-width:600px) {
 .rental-guidance__answers,.rental-trust__points { grid-template-columns:1fr; }
 .rental-guidance__answers > div:last-child:nth-child(odd) { grid-column:1; }
 .rental-guidance__block { padding-block:32px; }
 .rental-trust__points article:nth-child(n) { padding:20px 0; border-left:0; border-bottom:1px solid var(--ink-12); }
 .rental-trust__points article:last-child { border-bottom:0; }
}
.svc-faq-topics { margin:20px 0; }
.svc-faq-topics>div+div { margin-top:20px; padding-top:16px; border-top:1px solid var(--ink-12); }
.svc-faq-topics dt { color:var(--ink); font-weight:var(--weight-label); margin-bottom:5px; }
.svc-faq-topics dd { margin:0; }
.svc-faq-topics:last-child { margin-bottom:0; }
.svc-faq-note { margin-top:18px; padding:16px 20px; border-left:3px solid var(--brick); border-radius:0 var(--r-lg) var(--r-lg) 0; background:var(--ivory); }
.svc-faq-note > p + p { margin-top:8px; }
.svc-faq-note__title { color:var(--ink); font-weight:var(--weight-label); }
.svc-faq-note ul,.svc-faq-list { margin:8px 0 0; padding-left:20px; list-style:disc; }
.svc-faq-note li + li,.svc-faq-list li + li { margin-top:6px; }
.svc-faq-note li::marker,.svc-faq-list li::marker { color:var(--brick); }
.svc-accordion__answer > .svc-faq-list + p { margin-top:12px; }
/* FAQs grouped by stage (rent page): a short heading above each accordion. */
.svc-faq-group + .svc-faq-group { margin-top:40px; }
.svc-faq-group__title { margin-bottom:10px; color:var(--brick); }
.svc-accordion__answer > p + p, .svc-accordion__answer > p + .svc-faq-list, .svc-accordion__answer > p + .svc-faq-note { margin-top:10px; }
.svc-faq-aside { margin-top:14px; color:var(--ink-55); font-size:var(--type-metadata); line-height:var(--line-metadata); }
.service-sale-contact .contact__in { align-items:center; }
.service-sale-contact .contact__info { max-width:580px; }
.service-sale-contact .contact__formwrap { box-shadow:none; }
.service-sale-contact__direct { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:38px; padding-top:24px; border-top:1px solid var(--on-ink-line); }
.service-sale-contact__direct p { display:flex; flex-direction:column; gap:6px; }
.service-sale-contact__direct span { color:var(--on-ink-65); font-size:var(--type-caption); font-weight:var(--weight-bold); letter-spacing:var(--tracking-body); text-transform:uppercase; }
.service-sale-contact__direct a { width:max-content; color:var(--on-ink); border-bottom:1px solid var(--on-ink-line); }
.service-sale-contact .field label small { color:var(--ink-40); font-size:var(--type-body); font-weight:var(--weight-body); }
.service-consultation-contact .contact__info { max-width:520px; }
.service-consultation-contact .contact__formwrap { max-width:590px; }
.service-fees-link { display:inline-flex; align-items:center; gap:8px; color:var(--ink-55); font-size:var(--type-ui); font-weight:var(--weight-medium); border-bottom:1px solid var(--ink-12); padding-block:4px; transition:color var(--motion-fast) ease,border-color var(--motion-fast) ease; line-height:var(--line-ui);}
.service-fees-link:hover { color:var(--brick); border-color:var(--brick); }

/* Fees page */
.fees-ledger { padding-block:var(--sect); background:var(--canvas); }
.fees-ledger__head { margin-bottom:clamp(42px,5vw,66px); }
.fees-ledger__label { margin-bottom:12px; color:var(--brick); font-size:var(--type-eyebrow); font-weight:var(--weight-label); letter-spacing:var(--tracking-eyebrow); text-transform:uppercase; }
.fees-ledger__head h1 { color:var(--ink); font:var(--heading-weight,var(--weight-heading)) var(--heading-size,var(--type-display))/var(--heading-line,var(--line-display)) var(--heading-family,var(--sans)); letter-spacing:var(--heading-tracking,var(--tracking-editorial)); text-wrap:balance; }
.fees-ledger__intro { max-width:none; margin-top:14px; color:var(--ink-70); font-size:var(--type-h4); line-height:var(--line-h4); }
.fees-accordion { border-top:1px solid var(--ink-12); }
.fees-ledger__note { margin-top:24px; color:var(--ink-70); font-size:var(--type-metadata); line-height:var(--line-metadata); }
.fees-item { border-bottom:1px solid var(--ink-12); }
.fees-item__toggle { display:grid; grid-template-columns:66px minmax(0,1fr) minmax(136px,auto) 22px; align-items:center; column-gap:clamp(18px,3vw,38px); width:100%; min-height:86px; padding:16px 0; text-align:left; }
.fees-item__toggle:hover .fees-item__title { color:var(--brick); }
.fees-item__toggle:focus-visible { outline-offset:-3px; }
.fees-item__number { color:var(--brick); font-size:var(--type-metadata); font-weight:var(--weight-bold); }
.fees-item__title { min-width:0; padding-left:clamp(20px,2.8vw,42px); border-left:1px solid var(--ink-12); color:var(--ink); font:var(--weight-medium) var(--type-question)/var(--line-h4) var(--sans); letter-spacing:var(--tracking-heading); transition:color var(--motion-fast) ease; }
.fees-item__price { justify-self:end; color:var(--brick); font:var(--weight-heading) var(--type-h3)/var(--line-h3) var(--sans); letter-spacing:var(--tracking-heading); text-align:right; white-space:nowrap; }
.fees-item__price small { display:block; margin-top:3px; color:var(--ink-70); font:var(--weight-body) var(--type-metadata)/var(--line-metadata) var(--sans); letter-spacing:var(--tracking-heading); }
.fees-item__chevron { width:15px; height:15px; border-right:1.7px solid var(--brick); border-bottom:1.7px solid var(--brick); transform:rotate(45deg) translateY(-3px); transition:transform var(--motion-ui) ease; }
.fees-item.is-open .fees-item__chevron { transform:rotate(225deg) translateY(-2px); }
.fees-item__panel { display:grid; grid-template-rows:0fr; opacity:0; transition:grid-template-rows var(--motion-ui) var(--ease),opacity var(--motion-fast) ease; }
.fees-item.is-open .fees-item__panel { grid-template-rows:1fr; opacity:1; }
.fees-item__panel-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); gap:clamp(30px,4vw,60px); min-height:0; overflow:hidden; padding:0 0 0 calc(66px + clamp(18px,3vw,38px) + clamp(20px,2.8vw,42px)); transition:padding var(--motion-ui) var(--ease); }
.fees-item.is-open .fees-item__panel-inner { padding-bottom:34px; }
.fees-item__overview { max-width:370px; padding-top:17px; color:var(--ink-70); font-size:var(--type-body); line-height:var(--line-body); }
.fees-item__overview p { color:inherit; }
.fees-item__overview strong,.fees-item__advice dt { color:var(--ink); font-weight:var(--weight-bold); }
.fees-item__overview a { display:inline-flex; align-items:center; gap:8px; margin-top:21px; color:var(--brick); font-size:var(--type-ui); font-weight:var(--weight-medium); }
.fees-item__overview a:hover { text-decoration:underline; text-underline-offset:4px; }
.fees-item__included { padding:4px 0 0 clamp(28px,3vw,46px); border-left:1px solid var(--ink-12); }
.fees-item__kicker { margin-bottom:19px; color:var(--ink-55); font-size:var(--type-eyebrow); font-weight:var(--weight-label); letter-spacing:var(--tracking-eyebrow); text-transform:uppercase; }
.fees-item__included ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(3,auto); grid-auto-flow:column; column-gap:26px; row-gap:10px; }
.fees-item__included li { position:relative; padding-left:24px; color:var(--ink-70); font-size:var(--type-body); line-height:var(--line-body); }
.fees-item__included li::before { content:'✓'; position:absolute; left:0; color:var(--brick); font-weight:var(--weight-bold); }
.fees-item__advice { display:grid; gap:14px; }
.fees-item__advice dd { color:var(--ink-70); }
.fees-contact { background:var(--ink); color:var(--on-ink); }
.fees-contact__in { min-height:280px; display:flex; align-items:center; justify-content:space-between; gap:50px; padding-block:54px; }
.fees-contact h2 { max-width:var(--heading-measure,var(--measure-heading)); color:var(--on-ink); font:var(--heading-weight,var(--weight-heading)) var(--heading-size,var(--type-h2-editorial))/var(--heading-line,var(--line-h2-editorial)) var(--heading-family,var(--sans)); letter-spacing:var(--heading-tracking,var(--tracking-editorial)); }
.fees-contact p:not(.eyebrow) { max-width:520px; margin-top:16px; color:var(--on-ink-65); }
@media(max-width:900px) {
 .fees-item__panel-inner { grid-template-columns:1fr; gap:24px; }
 .fees-item__included { padding:0; border-left:0; }
}
@media(max-width:600px) {
 .fees-ledger__head h1 { font-size:var(--heading-size,var(--type-display)); }
 .fees-item__toggle { grid-template-columns:28px minmax(0,1fr) minmax(88px,auto) 16px; column-gap:11px; min-height:78px; }
 .fees-item__number { font-size:var(--type-metadata); }
 .fees-item__title { padding-left:11px; font-size:var(--type-question); letter-spacing:var(--tracking-heading); }
 .fees-item__price { font-size:var(--type-h3); }
 .fees-item__price small { font-size:var(--type-metadata); }
 .fees-item__chevron { width:11px; height:11px; }
 .fees-item__panel-inner { padding-left:40px; gap:24px; }
 .fees-item__overview { padding-top:0; }
 .fees-item__included ul { grid-template-columns:1fr; grid-template-rows:none; grid-auto-flow:row; row-gap:9px; }
 .fees-contact__in { align-items:flex-start; flex-direction:column; }
 .fees-contact__in .btn { width:100%; }
}
@media(prefers-reduced-motion:reduce) {
 .fees-item__panel,.fees-item__panel-inner,.fees-item__chevron,.fees-item__title { transition:none; }
}
@media(max-width:1000px) {
 .service-process--sell .sell-timeline { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .service-process--sell .sell-timeline article:nth-child(n) { grid-column:auto; border-left:1px solid var(--ink-12); border-top:0; border-bottom:1px solid var(--ink-12); }
 .service-process--sell .sell-timeline article:nth-child(odd) { border-left:0; }
 .service-process--sell .sell-timeline article:last-child { grid-column:1/-1; border-bottom:0; }
}
@media(max-width:560px) {
 .service-process--sell .sell-timeline { grid-template-columns:1fr; }
 .service-process--sell .sell-timeline article:nth-child(n) { border-left:0; padding:24px 16px; }
 .service-process--sell .sell-timeline article>.svc-icon { float:right; margin:0 0 12px 16px; }
 .service-process--sell .sell-timeline article>span { margin-bottom:14px; }
 .service-sale-contact__direct { grid-template-columns:1fr; gap:14px; }
}

/* V5 shared service system: retain the existing ImmoLosch components and tokens. */
.service-page .service-hero { background:var(--canvas); }
.service-page .service-hero__in { min-height:440px; }
.service-page .service-hero h1 { max-width:var(--heading-measure,var(--measure-heading)); font-size:var(--heading-size,var(--type-display)); }
/* Fees has no fees strip below its hero, so it closes with the same rule the strip draws. */
.service-page.service-page--fees .service-hero { border-bottom:1px solid var(--ink-12); }
.service-page .service-process,.service-page .service-editorial,.service-page .service-consultation-cases { padding-block:var(--sect); }
.service-page .service-editorial__grid { gap:clamp(32px,5vw,64px); }
.service-page .svc-icon { width:28px; height:28px; color:var(--brick); stroke-width:1.4; }
.service-page .svc-dark .svc-icon { color:var(--brick-on-ink); }
.service-fees-strip { background:var(--canvas); border-block:1px solid var(--ink-12); }
.service-fees-strip__in { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-block:16px; color:var(--ink-70); font-size:var(--type-metadata); }
.service-fees-strip a { color:var(--ink); text-decoration:underline; text-underline-offset:4px; }
.service-fees-strip a:hover { color:var(--brick); }
.service-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--ink-12); }
.service-steps>li { padding:24px 22px 28px; border-bottom:1px solid var(--ink-12); transition:background var(--motion-fast) var(--ease); }
.service-steps>li>span { display:block; margin-bottom:18px; color:var(--brick); font-size:var(--type-caption); font-weight:var(--weight-bold); letter-spacing:var(--tracking-body); }
.service-steps h3 { margin-bottom:10px; font-size:var(--heading-size,var(--type-h3)); line-height:var(--heading-line,var(--line-h3)); }
.service-steps p { color:var(--ink-70); font-size:var(--type-body); line-height:var(--line-body); }
.service-steps>li:hover { background:var(--ivory); }
.service-page .rental-process { display:block; }
.service-page .rental-process .service-section-head { margin-bottom:var(--space-head-content); }
.service-page .svc-scope--expanded .service-editorial__grid { display:grid; grid-template-columns:.65fr 1.35fr; }
.service-page .svc-scope--expanded .service-content__body { margin:0; }
.service-page .svc-scope-list--detailed { grid-template-columns:repeat(2,minmax(0,1fr)); }
.service-page .svc-scope-list--detailed li { min-height:0; padding:18px 0; }
.service-page .svc-scope-list--detailed strong { font-size:var(--type-metadata); }
.service-page .svc-scope-list--detailed small { font-size:var(--type-caption); color:var(--ink-70); }
.service-page .svc-factor-grid__signature { display:block; padding:22px 0 0!important; border-top:1px solid var(--on-ink-line)!important; background:none; }
.service-page .svc-factor-grid__signature dt { display:block; font:var(--weight-body) var(--type-body)/var(--line-body) var(--sans); }
.service-page .svc-factor-grid__signature dt svg { margin-bottom:18px; }
.service-page .svc-factor-grid__signature dd { margin-top:12px; }
/* A compact flow replaces the overlapping orbit and keeps every label readable. */
.service-page .svc-value-diagram { display:grid; gap:18px; width:100%; max-width:380px; min-height:0; margin-top:32px; padding:0; aspect-ratio:auto; }
.service-page .svc-value-diagram__orbit { position:static; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:auto; height:auto; margin:0; border:0; gap:8px; transform:none; }
.service-page .svc-value-diagram__orbit>span:nth-child(n) { position:static; display:flex; align-items:center; justify-content:flex-start; gap:8px; width:auto; min-height:42px; padding:10px; border:1px solid var(--on-ink-line); transform:none; font-size:var(--type-caption); }
.service-page .svc-value-diagram__orbit:before,.service-page .svc-value-diagram__orbit:after { display:none; }
.service-page .svc-value-diagram__centre,.service-page .svc-value-diagram__output { position:static; width:auto; min-width:0; transform:none; }
.service-page .svc-value-diagram__centre { padding:18px; border-radius:var(--r); }
.service-page .svc-value-diagram__output { padding:16px 0 0; }
.service-page .svc-value-diagram__output:before { display:none; }
.service-page .svc-documents .service-content__body { padding:0; background:none; border:0; box-shadow:none; }
.service-page .svc-documents .service-content__lead { font-size:var(--type-lead); }
.service-page .svc-document-list { grid-template-columns:1fr; margin:18px 0; }
.service-page .svc-document-list li { display:flex; align-items:center; gap:12px; padding:10px 0; }
.svc-check { color:var(--brick); font-weight:var(--weight-bold); }
.service-page .svc-faq { padding-block:var(--sect); }
.service-page .svc-accordion summary { padding:15px 0; font-size:var(--type-question); }
.service-page .svc-accordion__answer { padding-bottom:18px; }
.service-contact { background:var(--ink); }
.service-contact .contact__in { grid-template-columns:minmax(0,1fr) minmax(0,.88fr); align-items:center; gap:clamp(36px,6vw,80px); }
.service-contact .contact__formwrap { justify-self:end; width:100%; max-width:520px; padding:0; border:0; background:transparent; box-shadow:none; }
.service-contact .field label small { font-size:var(--type-body); font-weight:var(--weight-body); color:var(--on-ink-65); }
/* Service enquiries keep the landing page controls in a smaller, open layout. */
.service-contact .section-title { max-width:var(--heading-measure,var(--measure-heading)); font-size:var(--heading-size,var(--type-h2-editorial)); line-height:var(--heading-line,var(--line-h2-editorial)); }
.service-contact .lead { max-width:var(--measure-lead); font-size:var(--type-lead); }
.service-contact .field { gap:7px; margin-bottom:16px; }
.service-contact .field2 { gap:0 16px; }
.service-contact .form .btn--full { margin-top:0; }
.service-contact .service-sale-contact__direct { margin-top:24px; padding-top:20px; gap:20px; }
.service-contact .service-sale-contact__direct a { font-size:var(--type-body); }
@media(max-width:900px) {
 .service-contact .contact__in { grid-template-columns:1fr; gap:30px; }
 .service-contact .contact__formwrap { justify-self:start; max-width:600px; }
}
@media(max-width:600px) {
 .service-contact .section-title { font-size:var(--heading-size,var(--type-h2-editorial)); }
 .service-contact .field2 { grid-template-columns:1fr; gap:0; }
 .service-contact .service-sale-contact__direct { grid-template-columns:1fr 1fr; gap:12px; }
 .service-contact .service-sale-contact__direct a { overflow-wrap:anywhere; width:auto; }
}
.service-page .rental-guidance__blocks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:start; }
.rental-guidance__card { padding:24px; border:1px solid var(--ink-12); border-radius:var(--r-lg); background:var(--canvas); }
.rental-guidance__card summary { list-style:none; cursor:pointer; }
.rental-guidance__card summary::-webkit-details-marker { display:none; }
.service-page .rental-guidance__intro h3 { font-size:var(--heading-size,var(--type-h3)); }
.service-page .rental-guidance__intro p { font-size:var(--type-body); }
.rental-guidance__intro > .rental-guidance__toggle { margin-top:18px; display:flex!important; justify-content:space-between; gap:12px; color:var(--brick)!important; font-weight:var(--weight-medium); font-size:var(--type-ui); line-height:var(--line-ui); letter-spacing:var(--tracking-body); text-transform:none!important; }
.rental-guidance__card[open] .rental-guidance__toggle>span { transform:rotate(45deg); }
.service-page .rental-guidance__answers { grid-template-columns:1fr; margin-top:20px; }
.service-page .rental-guidance__answers>div { padding:14px 0; }
.service-page .rental-guidance__answers dt { font-size:var(--type-body); }
.service-page .rental-guidance__answers dd { font-size:var(--type-body); }
.service-page .rental-guidance__source { margin-top:24px; }
.rental-guidance__panel { margin-top:20px; padding:8px 28px 14px; border:1px solid var(--ink-12); border-radius:var(--r-lg); background:var(--canvas); }
.service-page .rental-guidance__panel .rental-guidance__answers { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 clamp(20px,3vw,44px); margin-top:0; }
.service-page .rental-guidance__panel .rental-guidance__answers > div:last-child:nth-child(odd) { grid-column:auto; }
.rental-guidance__card.is-active { border-color:var(--brick); }
.rental-guidance__card.is-active .rental-guidance__toggle>span { transform:rotate(45deg); }
@media(min-width:901px) {
 .service-page .rental-guidance__blocks { align-items:stretch; }
 .rental-guidance__card { display:flex; flex-direction:column; }
 .rental-guidance__card > summary { flex:1; display:flex; flex-direction:column; }
 .rental-guidance__intro > .rental-guidance__toggle { margin-top:auto; padding-top:18px; }
}
.rental-trust__team>img { width:100%; height:260px; object-fit:cover; object-position:50% 25%; border-radius:var(--r-lg); }
.service-page .rental-trust__points { margin-top:18px; display:block; }
.service-page .rental-trust__points article { padding:14px 0; }
.service-page .rental-trust__points h3 { font-size:var(--heading-size,var(--type-h3)); }
.service-page .rental-trust__points p { font-size:var(--type-body); }
.svc-case-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 36px; }
.svc-case { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; padding:22px 0; border-top:1px solid var(--ink-12); }
.svc-case h3 { font-size:var(--heading-size,var(--type-h3)); line-height:var(--heading-line,var(--line-h3)); }
.svc-case p { color:var(--ink-70); font-size:var(--type-body); }
.service-estimate p:not(.eyebrow) { margin:20px 0; max-width:var(--measure-body); }
.service-page .svc-outcome-list { display:block; }
.service-page .svc-outcome-list li { display:flex; align-items:center; gap:16px; padding:14px 0; line-height:var(--line-body); }
.service-page .svc-outcome-list .svc-icon { width:25px; height:25px; }
.svc-preparation-stages { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.svc-preparation-stages article { padding-top:20px; border-top:1px solid var(--ink-12); }
.svc-preparation-stages article>span { display:block; margin-bottom:16px; color:var(--brick); font-size:var(--type-caption); font-weight:var(--weight-bold); }
.svc-preparation-stages h3 { font-size:var(--heading-size,var(--type-h3)); margin:12px 0; }
.svc-preparation-stages li { font-size:var(--type-metadata); color:var(--ink-70); margin-top:8px; }
.service-page .renovation-process { display:block; }
.service-page .renovation-process .service-section-head { margin-bottom:var(--space-head-content); }
.service-page .service-priorities { grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(20px,3vw,40px); }
.service-page .service-priorities article { display:grid; grid-template-columns:28px minmax(0,1fr); gap:18px; align-content:start; align-items:center; }
.service-page .service-priorities h3 { font-size:var(--heading-size,var(--type-h3)); }
.service-page .service-priorities ul { grid-column:1/-1; margin:0; }
.service-page .fees-ledger { padding-top:var(--sect); }
.service-page .fees-item__toggle { grid-template-columns:minmax(0,1fr) minmax(136px,auto) 22px; }
/* The number column is hidden on the service page, so the title needs no divider before it. */
.service-page .fees-item__title { padding-left:0; border-left:0; }
.service-page .fees-item__panel-inner { padding-left:0; }
.service-fees-strip a { white-space:nowrap; }
@media(max-width:900px) {
 .service-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .service-page .service-hero__in { min-height:380px; }
 .service-page .svc-scope--expanded .service-editorial__grid { grid-template-columns:1fr; }
 .service-page .rental-guidance__blocks { grid-template-columns:1fr; }
 .rental-guidance__card { padding:22px; }
 .service-page .rental-guidance__answers { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .service-page .service-priorities article { grid-template-columns:28px 1fr; }
 .service-page .service-priorities article>ul { grid-column:1/-1; }
}
@media(max-width:600px) {
 .service-page .service-priorities { grid-template-columns:1fr; gap:24px; }
 .service-page .fees-item__toggle { grid-template-columns:minmax(0,1fr) minmax(88px,auto) 16px; }
 .service-page .service-hero__in { min-height:0; }
 .service-page .service-hero h1 { font-size:var(--heading-size,var(--type-display)); }
 .service-steps,.svc-case-list,.svc-preparation-stages { grid-template-columns:1fr; }
 .service-steps>li { padding:20px 0; }
 .service-page .svc-scope-list--detailed,.service-page .rental-guidance__answers { grid-template-columns:1fr; }
 .service-fees-strip__in { align-items:flex-start; flex-wrap:wrap; gap:8px 16px; font-size:var(--type-caption); }
 .rental-trust__team>img { height:auto; }
}
.service-page .rental-trust__points article { min-height:0; padding-inline:0; border-left:0; border-bottom:1px solid var(--ink-12); }
.service-page .rental-trust__points h3 { max-width:none; }
.service-page .svc-priority-section .service-priorities article { padding:22px 0; background:none; border:0; border-top:1px solid var(--ink-12); color:var(--ink); }
.service-page .svc-priority-section .service-priorities article h3 { color:var(--ink); font-size:var(--heading-size,var(--type-h3)); }
.service-page .svc-priority-section .service-priorities article>.svc-icon { width:28px; height:28px; margin:0; color:var(--brick); }
.service-page .svc-priority-section .service-priorities article li { border-color:var(--ink-12); }
@media(min-width:901px) { .service-page .service-hero__in { min-height:500px; } }

.rental-guidance__toggle > span { margin-right:8px; flex:none; letter-spacing:var(--tracking-body); }
/* Phones: the valuation-method row reads like the four factor rows above it. */
@media(max-width:480px) {
 .service-page .svc-factor-grid__signature dt { display:flex; flex-direction:row; gap:14px; align-items:center; text-align:left; }
 .service-page .svc-factor-grid__signature dt svg { margin:0; }
 .service-page .svc-factor-grid__signature dd { margin-left:42px; }
}

/* Rental guide topics carry the same small line icons as the other service lists. */
.rental-guidance__intro .rental-guidance__icon { width:26px; height:26px; margin-bottom:14px; color:var(--brick); }
/* Office photo in "Why rent with ImmoLosch?": keep the sign and building in frame. */
.rental-trust__team>img { object-position:50% 45%; }
/* Fees: the calculator drawing fills more of its box than the other hero sketches,
   so it is shown smaller to read at the same scale. */
.service-page--fees .service-hero__visual img { height:clamp(230px,26vw,340px); width:min(100%,340px); }
@media(max-width:720px) { .service-page--fees .service-hero__visual img { height:210px; width:min(70%,240px); } }

/* Setting the price: four inputs drop onto one line that leads into the ImmoLosch valuation,
   and from there to the recommended range. Lines are plain borders so they stay crisp and
   line up under each input at every width. */
.svc-factors .svc-price-flow-grid { grid-template-columns:minmax(0,.8fr) minmax(0,1.35fr); gap:64px; align-items:center; }
.svc-price-flow { --flow-line:rgba(245,242,232,.28); --flow-gap:16px; width:100%; max-width:760px; margin:0 auto; display:flex; flex-direction:column; align-items:center; text-align:center; }
.svc-price-flow__inputs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--flow-gap); width:100%; margin:0; padding:0; list-style:none; }
.svc-price-flow__inputs li { display:flex; flex-direction:column; align-items:center; gap:6px; }
.svc-price-flow__badge { display:grid; place-items:center; width:52px; height:52px; margin-bottom:12px; border:1px solid var(--on-ink-line); border-radius:50%; background:#ffffff06; transition:border-color var(--motion-fast) var(--ease), background-color var(--motion-fast) var(--ease); }
.svc-price-flow__badge .svc-icon { width:24px; height:24px; color:var(--brick-on-ink); }
.svc-price-flow__inputs strong { color:var(--on-ink); font-size:var(--type-body); font-weight:var(--weight-label); line-height:var(--line-body); }
.svc-price-flow__inputs li > span:not(.svc-price-flow__badge) { max-width:18ch; color:rgba(245,242,232,.7); font-size:var(--type-metadata); line-height:var(--line-metadata); }
/* Each drop starts with a small dot under its text; all drops end on the same line. */
.svc-price-flow__drop { position:relative; display:block; flex:none; width:1.5px; height:28px; margin-top:auto; background:var(--flow-line); transform-origin:top; transition:background-color var(--motion-fast) var(--ease), transform 420ms var(--ease); }
.svc-price-flow__inputs li > span:last-of-type { margin-bottom:16px; }
.svc-price-flow__drop::before { content:''; position:absolute; top:-3px; left:50%; width:5px; height:5px; border-radius:50%; background:var(--brick-on-ink); transform:translateX(-50%); }
.svc-price-flow__inputs li:hover .svc-price-flow__drop { background:rgba(245,242,232,.7); }
.svc-price-flow__inputs li:hover .svc-price-flow__badge { border-color:var(--brick-on-ink); background:#ffffff0d; }
/* The middle drops continue down through the bus's height to meet its line. */
.svc-price-flow__inputs li:not(:first-child):not(:last-child) .svc-price-flow__drop { height:calc(28px + 18px - 1.5px); margin-bottom:calc(-18px + 1.5px); }
/* The bus spans from the first input's centre to the last one's, rounding into them. */
.svc-price-flow__bus { position:relative; display:block; align-self:stretch; height:18px; margin:0 calc((100% - 3 * var(--flow-gap)) / 8); border:1.5px solid var(--flow-line); border-top:0; border-radius:0 0 14px 14px; transform-origin:center; transition:transform 520ms var(--ease) 180ms; }
.svc-price-flow__bus::after { content:''; position:absolute; left:50%; top:100%; width:1.5px; height:20px; background:var(--flow-line); transform:translateX(-50%); }
.svc-price-flow__node { display:block; width:11px; height:11px; margin-top:20px; border:1.5px solid var(--brick-on-ink); border-radius:50%; background:var(--ink); }
.svc-price-flow__node::after { content:''; display:block; width:1.5px; height:18px; margin:9.5px auto 0; background:var(--flow-line); }
.svc-price-flow__box { display:flex; flex-direction:column; align-items:center; gap:4px; width:min(100%,400px); margin-top:18px; padding:22px 26px; border:1px solid var(--on-ink-line); border-top:2px solid var(--brick-on-ink); border-radius:var(--r-lg); background:#ffffff0d; transition:opacity 480ms var(--ease) 520ms, transform 480ms var(--ease) 520ms; }
.svc-price-flow__box span { color:var(--brick-on-ink); font-size:var(--type-caption); font-weight:var(--weight-label); letter-spacing:var(--tracking-eyebrow); line-height:var(--line-eyebrow); text-transform:uppercase; }
.svc-price-flow__box strong { color:var(--on-ink); font-size:var(--type-h4); font-weight:var(--weight-label); line-height:var(--line-h4); }
.svc-price-flow__box small { color:rgba(245,242,232,.7); font-size:var(--type-metadata); line-height:var(--line-metadata); }
.svc-price-flow__arrow { width:16px; height:36px; margin:0 0 12px; transition:opacity 400ms var(--ease) 680ms; }
.svc-price-flow__arrow path { fill:none; stroke:var(--flow-line); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.svc-price-flow__arrow path + path { stroke:var(--brick-on-ink); }
.svc-price-flow__output { display:flex; flex-direction:column; align-items:center; gap:4px; margin:0; transition:opacity 480ms var(--ease) 820ms, transform 480ms var(--ease) 820ms; }
.svc-price-flow__output strong { color:var(--on-ink); font-size:var(--type-h4); font-weight:var(--weight-label); line-height:var(--line-h4); }
.svc-price-flow__output span { color:rgba(245,242,232,.7); font-size:var(--type-metadata); line-height:var(--line-metadata); }
/* Before the section scrolls in, the lines are undrawn and the result is waiting. */
@media (prefers-reduced-motion:no-preference) {
  .js .reveal.is-pending .svc-price-flow__drop { transform:scaleY(0); }
  .js .reveal.is-pending .svc-price-flow__bus { transform:scaleX(0); }
  .js .reveal.is-pending :is(.svc-price-flow__box,.svc-price-flow__output) { opacity:0; transform:translateY(10px); }
  .js .reveal.is-pending .svc-price-flow__arrow { opacity:0; }
}
@media (max-width:1080px) {
  .svc-factors .svc-price-flow-grid { grid-template-columns:1fr; gap:40px; }
  .svc-price-flow { max-width:640px; }
}
/* Phones: inputs in two rows; one line runs from them to the valuation. */
@media (max-width:640px) {
  .svc-price-flow__inputs { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:28px; }
  .svc-price-flow__drop,.svc-price-flow__bus { display:none; }
  .svc-price-flow__inputs li > span:last-of-type { margin-bottom:0; }
  .svc-price-flow__node { margin-top:28px; }
}

/* The VAT note under the fees is part of the price, so it reads as clearly as the fees. */
.fees-ledger__note { display:flex; align-items:center; gap:10px; width:fit-content; margin-top:28px; padding:12px 16px; border-left:2px solid var(--brick); border-radius:0 var(--r) var(--r) 0; background:var(--ivory-deep); color:var(--ink); font-size:var(--type-body); font-weight:var(--weight-label); line-height:var(--line-body); }

.svc-case__link { display:inline-flex; align-items:center; width:fit-content; margin-top:4px; color:var(--brick); font-size:var(--type-metadata); font-weight:var(--weight-label); line-height:var(--line-metadata); text-decoration:none; }
.svc-case__link:hover { text-decoration:underline; text-underline-offset:4px; }

/* Buying a property: a dark band. The steps are a journey line from the brief to the keys,
   drawn in as the section scrolls into view; the call to talk sits beside the heading. */
.service-buying { padding-block:clamp(64px,8vw,112px); }
.service-buying .eyebrow { color:var(--brick-on-ink); }
.service-buying .type-lead { color:rgba(245,242,232,.76); }
.service-buying__head { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr); gap:32px 64px; align-items:end; }
.service-buying__head .service-section-head { margin:0; }
.service-buying__cta { display:flex; flex-direction:column; align-items:flex-start; gap:16px; padding:24px 26px; border:1px solid var(--on-ink-line); border-top:2px solid var(--brick-on-ink); border-radius:var(--r-lg); background:#ffffff08; }
.service-buying__cta p { margin:0; color:var(--on-ink); font-size:var(--type-h4); font-weight:var(--weight-label); line-height:var(--line-h4); }
.buy-journey { --node:52px; position:relative; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0 24px; margin:clamp(48px,6vw,72px) 0 0; padding:0; list-style:none; }
/* The path: from the first node's centre to the last one's. */
.buy-journey::before { content:''; position:absolute; top:calc(var(--node) / 2); left:calc((100% - 4 * 24px) / 10); right:calc((100% - 4 * 24px) / 10); height:1.5px; background:linear-gradient(90deg,var(--brick-on-ink),rgba(245,242,232,.32)); transform-origin:left; transition:transform 900ms var(--ease); }
.buy-journey li { position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; transition:opacity 500ms var(--ease), transform 500ms var(--ease); transition-delay:calc(var(--i) * 160ms + 150ms); }
.buy-journey__node { position:relative; z-index:1; display:grid; place-items:center; width:var(--node); height:var(--node); margin-bottom:20px; border:1.5px solid var(--brick-on-ink); border-radius:50%; background:var(--ink); color:var(--on-ink); font-size:var(--type-metadata); font-weight:var(--weight-bold); font-variant-numeric:tabular-nums; line-height:var(--line-metadata); }
.buy-journey li:last-child .buy-journey__node { background:var(--brick); border-color:var(--brick); }
.service-buying .buy-journey__node .svc-icon { color:var(--ivory); }
.buy-journey h3 { margin:0 0 8px; color:var(--on-ink); }
.buy-journey p { margin:0; max-width:26ch; color:rgba(245,242,232,.7); font-size:var(--type-metadata); line-height:var(--line-metadata); }
.service-buying__why { display:flex; flex-wrap:wrap; justify-content:center; gap:16px 40px; margin:clamp(48px,6vw,64px) 0 0; padding:28px 0 0; border-top:1px solid var(--on-ink-line); list-style:none; }
.service-buying__why li { display:flex; align-items:center; gap:10px; color:var(--on-ink); font-size:var(--type-body); line-height:var(--line-body); }
.service-buying__why .svc-icon { color:var(--brick-on-ink); }
/* Before the section is in view the path is undrawn and the steps wait. */
@media (prefers-reduced-motion:no-preference) {
  .js .buy-journey.reveal.is-pending { opacity:1; translate:none; }
  .js .buy-journey.reveal.is-pending::before { transform:scaleX(0); }
  .js .buy-journey.reveal.is-pending li { opacity:0; transform:translateY(10px); }
}
@media(max-width:1080px) {
  .service-buying__head { grid-template-columns:1fr; align-items:start; }
  .service-buying__cta { flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; }
}
/* Phones and narrow tablets: the journey runs down the left. */
@media(max-width:860px) {
  .buy-journey { grid-template-columns:1fr; gap:28px; }
  /* Each step draws its own segment down to the next node, so the line ends exactly at the keys. */
  .buy-journey::before { display:none; }
  .buy-journey li:not(:last-child)::after { content:''; position:absolute; top:calc(var(--node) / 2); left:calc(var(--node) / 2 - .75px); width:1.5px; height:calc(100% + 28px); background:var(--brick-on-ink); opacity:.55; }
  .buy-journey li { display:grid; grid-template-columns:var(--node) minmax(0,1fr); column-gap:18px; align-items:start; text-align:left; }
  .buy-journey__node { grid-row:1 / span 2; margin:0; }
  .buy-journey h3 { margin-top:12px; }
  .buy-journey p { max-width:none; }
  .service-buying__why { flex-direction:column; align-items:flex-start; }
}
