:root{--type-fallback:sans-serif;--type-display:'Space Grotesk';--type-body:'Instrument Sans';--type-accent:'Space Grotesk';--type-micro:'IBM Plex Mono';}

/* 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; }
}

/* Architektonische Grotesk mit präzisen Signal- und Koordinatenzeilen */
body[data-page=home],body.subpage{font-family:var(--type-body),sans-serif}body .wordmark>span,body .service-link,body .discipline-title{font-family:var(--type-display),sans-serif}body[data-page=home] .hero-heading{font-weight:500;letter-spacing:-.075em;line-height:.98}body[data-page=home] .hero-heading .outline-word{padding-top:.03em}body[data-page=home] .hero-copy>p{font-size:14px;line-height:1.65}body[data-page=home] .about-copy p{font-size:23px;line-height:1.5;letter-spacing:-.015em}body[data-page=home] .principle h3{font-weight:500;letter-spacing:-.03em}body[data-page=home] .services-intro h2{letter-spacing:-.05em}body .desktop-nav a{font-size:12px;letter-spacing:.015em}body :is(.hero-coordinate,.hero-footer,.depth-scale,.eyebrow-row,.principle-index,.space-caption,.service-no,.inquiry-caption>span,.discipline-meta,.discipline-footer){font-family:var(--type-micro),monospace;font-size:10px;line-height:1.6;letter-spacing:.04em}body .inquiry-fields label,body #project-form legend{font-size:11px;letter-spacing:.035em}body[data-v7-brand=frove] .v7-panel-intro h2{font-weight:500;letter-spacing:-.06em;line-height:1.04}body.subpage .discipline-intro p{font-size:15px;line-height:1.7}@media(max-width:760px){body[data-page=home] .hero-heading{font-size:17vw;letter-spacing:-.07em}html:lang(de) body[data-page=home] .hero-heading{font-size:12.3vw}html:lang(tr) body[data-page=home] .hero-heading{font-size:14.6vw}body[data-page=home] .hero-copy>p{font-size:13px}body .hero-coordinate{font-size:8px;gap:12px}body .hero-footer,body .space-caption,body .depth-scale{font-size:8px;letter-spacing:0}body[data-page=home] .eyebrow-row{font-size:9px;gap:12px}body[data-page=home] .principle-index,body[data-page=home] .service-link .service-no{font-size:9px}body[data-page=home] .hero-topline{font-size:9px;letter-spacing:.02em}body[data-v7-brand=frove] .v7-panel-intro h2{font-size:43px}body .wordmark small{letter-spacing:.2em}}

/* 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}

