/* Language choice follows the existing type, colour and spacing system. */
.language-switch{display:flex;align-items:center;gap:8px;flex-shrink:0;font-family:var(--sans);font-size:11px;letter-spacing:.08em;line-height:1}
.language-switch a,.nav__overlay .language-switch a{font-family:var(--sans);font-size:11px;letter-spacing:.08em;color:var(--ink-dim);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:44px}
.language-switch span{color:var(--ink-faint)}
.language-switch a[aria-current="true"],.language-switch a:hover{color:var(--gold)}
.language-switch a[aria-current="true"]{text-decoration:underline;text-underline-offset:5px}
.language-switch a:focus-visible,.nav__close:focus-visible{outline:1px solid var(--gold);outline-offset:3px}
.nav__right{gap:20px}
.nav__close{position:absolute;top:18px;right:var(--m-x);width:44px;height:44px;display:grid;place-items:center;border:0;background:none;color:var(--ink);font-family:var(--serif);font-size:32px;cursor:pointer}
.nav__overlay{visibility:hidden}
.nav__overlay.is-open{visibility:visible}
@media(min-width:1180px){body > nav ul{gap:16px}}
@media(max-width:480px){body > nav{gap:12px}.nav__right{gap:10px}.language-switch{gap:4px}}
@media(max-height:620px){.nav__overlay{justify-content:flex-start;gap:12px;padding-top:72px}.nav__overlay>a{font-size:26px}}
html[lang="da"] .btn{white-space:normal}
html[lang="da"] .hybrid-head .page-head__title{overflow-wrap:anywhere;hyphens:auto}
html[lang="da"] .hybrid-head .page-head__title em{display:inline}
html[lang="da"] .hybrid-section h2{overflow-wrap:anywhere;hyphens:auto}
/* Keep both languages readable on compact screens. */
.hero{grid-template-columns:minmax(0,1fr)}
.hero__center,.hero__top,.contact__inner>div{min-width:0}
.contact__email{overflow-wrap:anywhere;max-width:100%}
@media(max-width:480px){
 .hero__top{flex-wrap:wrap;gap:12px}
 .hero__center{padding:48px 0}
 .wordmark{font-size:clamp(48px,12.5vw,60px)}
 .roles__grid{grid-template-columns:1fr!important}
}

/* Longer translated headings and labels must wrap within the original layout. */
html[lang="it"] .btn{white-space:normal}
html[lang="it"] .hybrid-head .page-head__title,html[lang="it"] .hybrid-section h2{overflow-wrap:anywhere;hyphens:auto}
.page-head__title{overflow-wrap:break-word}
.cv-link{max-width:100%;overflow-wrap:anywhere}
[data-vimeo-id][role="button"]:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media(max-width:1179px){body > nav{gap:12px}.nav__right{gap:10px}}
@media(max-width:360px){body > nav .mark{font-size:20px}.language-switch{gap:2px}.language-switch a{min-width:24px}.nav__right{gap:6px}}

.vimeo-direct{display:inline-block;margin-top:12px;color:var(--ink-dim);font-family:var(--sans);font-size:11px;letter-spacing:.06em;text-underline-offset:4px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body{animation:none;opacity:1}[data-reveal]{opacity:1;transform:none;transition:none}}

/* Small decorative flags; accessible language names stay on the links. */
.language-switch .language-flag{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:14px;line-height:1;letter-spacing:0;margin-right:4px;flex-shrink:0}
@media(max-width:360px){body > nav .mark{font-size:14px}body > nav{gap:8px}.language-switch .language-flag{font-size:12px;margin-right:3px}}
