:root{--type-fallback:serif;--type-display:'Literata';--type-body:'Cabin';--type-accent:'Literata';--type-micro:'Cabin';}

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

/* Maritimes Reisejournal mit Buchtypografie und praktischen Boarding-Details */
body h1,body h2,body h3{font-weight:400;letter-spacing:-.045em;line-height:1.1}body h1{font-size:clamp(60px,7.6vw,118px);line-height:1.02}body .brand{font-family:var(--type-display),var(--type-fallback,serif);letter-spacing:-.025em}body .brand span{font-family:var(--type-body),sans-serif;font-size:10px;letter-spacing:.12em}body .departure-type p,body .coast>p{font-size:15px;line-height:1.75}body :is(.mast,.departure-type a,.coordinates>span,.coordinates small,.photo-note,.log-line,.log aside>span,.coast-title>span,.board-head>span,.contact>span,.voyage>span,.stops span,.coast small,.pass-head,.pass-title>span){font-size:10px;letter-spacing:.075em;line-height:1.65}body .boarding label{font-size:12px;letter-spacing:.035em}body .boarding button{font-size:12px;letter-spacing:.045em}body .contact p{font-family:var(--type-display),var(--type-fallback,serif);line-height:1.12;letter-spacing:-.05em}body .contact>a{font-size:clamp(20px,2.7vw,40px);letter-spacing:-.02em}body[data-v7-brand=deniz-kusu] .v7-panel-intro h2{font-weight:400;letter-spacing:-.04em;line-height:1.14}@media(max-width:760px){body h1{font-size:12.6vw;line-height:1.12}html:lang(de) body[data-v7-brand=deniz-kusu] h1{font-size:12.3vw}body .mast{font-size:9px;letter-spacing:.015em}body .coordinates{gap:15px}body .coordinates small{font-size:9px}body .pass-grid{gap:20px}body .contact p{font-size:12.5vw}}

/* 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}
@media(max-width:760px){html:lang(de) body .coast h2{font-size:10.8vw;line-height:1.15}body .voyage>div{min-width:0}body .contact{overflow-wrap:anywhere}}

@media(max-width:760px){html:lang(de) body .log h2{font-size:9.4vw;line-height:1.18}body .voyage{grid-template-columns:24px minmax(0,1fr) 24px;gap:12px}body .voyage h3{font-size:27px;line-height:1.25}body .voyage p{font-size:13px;line-height:1.6}}
