:root{--type-fallback:serif;--type-display:'Newsreader';--type-body:'Public Sans';--type-accent:'Newsreader';--type-micro:'Public Sans';}

/* Typography finishing: locally hosted Latin + Latin Extended, including TR/EN/DE. */
html { font-synthesis: none; text-size-adjust: 100%; -webkit-text-size-adjust:100%; }
body { font-family:var(--type-body),sans-serif; font-kerning:normal; font-optical-sizing:auto; font-variant-ligatures:common-ligatures; }
body :is(h1,h2,h3) { font-family:var(--type-display),var(--type-fallback,serif)!important; text-wrap:balance; }
body :is(p,address,figcaption) { text-wrap:pretty; }
body :is(input,select,textarea) { font-family:var(--type-body),sans-serif; font-size:16px; line-height:1.5; letter-spacing:0; }
body :is(button,input,select,textarea) { font-kerning:normal; }
body :is(input[type=tel],input[type=date],input[type=time],input[type=number],.guests button,.menu-price,.price,.depth-track,.hero-coordinate) { font-variant-numeric:tabular-nums lining-nums; }
body :is(input,textarea)::placeholder { opacity:.65; font-weight:400; }
body :is(a,button) { text-underline-offset:.23em; text-decoration-thickness:1px; }
body :is(nav a,nav button,.book,.menu-link) { font-weight:500; line-height:1.4; }
body :is(label,legend) { line-height:1.55; }
body :is(.v7-panel-brand,.v7-languages button,.v7-close,.v7-panel-intro>span,.v7-direct-contact) { font-family:var(--type-micro),sans-serif!important; }
body .v7-panel-brand { font-size:11px; font-weight:500; letter-spacing:.08em; line-height:1.45; }
body .v7-languages button { font-size:11px; font-weight:500; letter-spacing:.05em; font-variant-numeric:tabular-nums; }
body .v7-close { font-size:11px; letter-spacing:.02em; }
body .v7-close b { font-family:var(--type-body),sans-serif; }
body .v7-panel-intro>span { font-size:10px; line-height:1.6; letter-spacing:.045em; max-width:52ch; }
body .v7-panel-intro p { font-family:var(--type-body),sans-serif; font-size:14px; line-height:1.65; max-width:49ch; }
body .v7-panel-intro h2 { font-family:var(--type-display),var(--type-fallback,serif)!important; line-height:1.08; letter-spacing:-.035em; }
body :is(.v7-inline-open,.v7-hero-cta,.v7-art-inquiry) { font-family:var(--type-body),sans-serif!important; font-size:12px; font-weight:500; letter-spacing:.025em; line-height:1.5; }
body .v7-direct-contact { font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
body :is(.demo-note,.demo-notice,.privacy-note,.inquiry-privacy,.design-preview,.preview-badge) { font-size:11px!important; line-height:1.65; letter-spacing:.01em; }
body .v7-panel-body label { font-size:12px; line-height:1.5; letter-spacing:.02em; }
body .v7-panel-body :is(input,select,textarea) { font-size:16px; line-height:1.5; font-weight:400; min-width:0; }
body output { font-size:14px; line-height:1.7; }
body footer { font-size:11px; line-height:1.7; }
@media(max-width:760px) {
 body .v7-panel-intro>span { font-size:10px; letter-spacing:.01em; margin-bottom:20px; }
 body .v7-panel-intro p { font-size:14px; }
 body .v7-panel-brand { font-size:10px; letter-spacing:.035em; }
 body .v7-panel-intro h2 { font-size:clamp(34px,10.2vw,43px); }
 body .v7-languages { gap:2px; }
 body .v7-languages button { font-size:10px; min-width:28px; }
 body :is(input,select,textarea) { font-size:16px; }
}

/* Glaubwürdige Immobilien-Editorial-Typografie mit klaren Sachinformationen */
body h1,body h2{font-weight:400;letter-spacing:-.035em;line-height:1.04}body .editorial-opening h1{font-weight:400;letter-spacing:-.05em;line-height:1.02}body .masthead>a:first-child{font-family:var(--type-display),var(--type-fallback,serif);font-weight:600;letter-spacing:-.035em;line-height:1.05}body .masthead>a:first-child>span{font-size:10px;letter-spacing:.14em}body .opening-bottom p,body .project-letter>div p,body .living-note p{font-size:14px;line-height:1.75;max-width:40ch}body :is(.opening-meta,.opening-photo figcaption,.opening-bottom>a,.section-label,.types button>small,.finder-controls>label,.selection>span,.living-note>span,.living-caption,.project-letter>div>span,.letter-selection,.office-end>div>span){font-size:10px;letter-spacing:.08em;line-height:1.7}body .rail-find{font-size:10px;letter-spacing:.12em}body .types button{font-weight:500;letter-spacing:-.025em;line-height:1.25}body #cadde-form label{font-size:11px;letter-spacing:.035em}body .preview-letter{font-size:12px;letter-spacing:.04em}body .office-end address{font-size:14px;line-height:1.8}body[data-v7-brand=cadde] .v7-panel-intro h2{font-size:clamp(43px,5.4vw,74px);font-weight:400;line-height:1.08}@media(max-width:760px){body .editorial-opening h1{font-size:12.3vw;line-height:1.07}html:lang(de) body[data-v7-brand=cadde] h1{font-size:13.2vw}body .opening-meta{font-size:9px;letter-spacing:0}body .masthead>a:first-child{font-size:27px}body .masthead>a:first-child>span{font-size:9px}body .masthead>a:last-child{font-size:10px;max-width:130px}body .types button{font-size:25px;padding:18px 7px;gap:5px}body .section-label{font-size:9px;letter-spacing:.02em}body .opening-bottom>a{font-size:11px;letter-spacing:.02em}body[data-v7-brand=cadde] .v7-panel-intro h2{font-size:43px}}

/* Small controls are intentional typography too, with comfortable touch targets. */
body header [data-lang]{font-family:var(--type-micro),sans-serif;font-size:11px;line-height:1.4;letter-spacing:.025em;min-height:40px}
body :is(.motion,.motion-control){font-family:var(--type-micro),sans-serif;font-size:10px;line-height:1.4;letter-spacing:.035em}
body .v7-panel-body :is(.form-end p,.form-bottom p,.job-end p,.form-row>span,.job-row>span){font-size:11px;line-height:1.7}

