:root{--type-fallback:sans-serif;--type-display:'Outfit';--type-body:'Outfit';--type-accent:'Crimson Pro';--type-micro:'Outfit';}

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

/* Geometrische Interior-Schrift mit weichen literarischen Kursiv-Akzenten */
body h1,body h2,body h3{font-weight:400;letter-spacing:-.045em;line-height:1.1}body .brand{font-family:var(--type-display),sans-serif;font-weight:500;letter-spacing:-.06em}body .brand sup{font-family:var(--type-body),sans-serif;font-size:10px;letter-spacing:.09em}body .stage-intro p,body .room-description>p,body .collection-head>p{font-size:14px;line-height:1.7}body :is(.stage-intro>span,.room>span,.room-description>span,.photo-note,.collection-head>span,.series-list span,.interlude>span,.brief-heading>span,.brief-heading p,.form-row>span){font-size:10px;line-height:1.7;letter-spacing:.075em}body .collection h2 em,body .interlude em{font-family:var(--type-accent),serif;font-style:italic;letter-spacing:-.04em;font-weight:400;font-size:1.13em}body .series-list strong{font-weight:400;letter-spacing:-.055em;line-height:1.2}body .series-list small{font-size:12px;line-height:1.6}body .form-row label{font-size:12px;letter-spacing:.02em}body .form-end button{font-size:12px;letter-spacing:.05em}body .interlude>p{line-height:1.04;letter-spacing:-.055em}body[data-v7-brand=diffa] .v7-panel-intro h2{font-weight:400;letter-spacing:-.045em;line-height:1.1}@media(max-width:760px){body h1{font-size:12.3vw;line-height:1.1}body .collection-head h2{font-size:17vw}body .series-list strong{font-size:19vw}body .interlude>p{font-size:16.5vw;line-height:1.12}body header nav{gap:15px;font-size:12px}}

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

