:root {
    --viu-black: #171715;
    --viu-ink: #242421;
    --viu-accent: #80640c;
    --viu-yellow: #f3c623;
    --viu-paper: #f2f0ea;
    --viu-white: #fbfaf6;
    --viu-muted: #6b6962;
    --viu-line: rgba(23, 23, 21, .17);
    --viu-shell: min(1200px, calc(100vw - 64px));
    --viu-ease: cubic-bezier(.22, 1, .36, 1);
}

html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body.viu-site { margin: 0; color: var(--viu-ink); background: var(--viu-paper); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.62; -webkit-font-smoothing: antialiased; }
body.viu-site *, body.viu-site *::before, body.viu-site *::after { box-sizing: border-box; }
body.viu-site img { display: block; max-width: 100%; height: auto; }
body.viu-site a { color: inherit; text-decoration: none; }
body.viu-site button, body.viu-site input, body.viu-site textarea { font: inherit; }
body.viu-site h1, body.viu-site h2, body.viu-site h3, body.viu-site p { margin-top: 0; }
.viu-shell { width: var(--viu-shell); margin-inline: auto; }
.viu-main { min-height: 60vh; overflow: clip; }
.viu-main, .viu-site section[id] { scroll-margin-top: 100px; }
.viu-section { padding-block: clamp(76px, 9vw, 128px); }
.viu-kicker { margin: 0 0 18px; color: var(--viu-accent); font-size: .69rem; font-weight: 780; letter-spacing: .16em; line-height: 1.35; text-transform: uppercase; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.viu-skip { position: fixed; z-index: 10000; left: 18px; top: 18px; padding: 11px 16px; color: var(--viu-black); background: var(--viu-yellow); transform: translateY(-200%); transition: transform .2s ease; }
.viu-skip:focus { transform: none; }

/* Header */
.viu-header { position: relative; z-index: 100; width: 100%; color: var(--viu-black); background: rgba(242, 240, 234, .98); border-bottom: 1px solid var(--viu-line); }
.viu-home .viu-header { position: absolute; color: var(--viu-white); background: linear-gradient(180deg, rgba(17, 17, 15, .9), rgba(17, 17, 15, .54)); border-bottom-color: rgba(255, 255, 255, .2); }
.viu-header.is-scrolled { position: fixed; color: var(--viu-black); background: rgba(242, 240, 234, .96); border-bottom-color: var(--viu-line); backdrop-filter: blur(18px); animation: viuHeaderIn .3s var(--viu-ease); }
@keyframes viuHeaderIn { from { transform: translateY(-100%); } }
.viu-header__inner { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 36px; }
.viu-brand { display: inline-flex; align-items: center; max-width: min(290px, 42vw); }
.viu-brand img { width: auto; height: 46px; max-width: 100%; object-fit: contain; object-position: left center; }
.viu-brand img.viu-brand__dark { display: block !important; }
.viu-brand img.viu-brand__light { display: none !important; }
.viu-home .viu-header:not(.is-scrolled) .viu-brand img.viu-brand__dark { display: none !important; }
.viu-home .viu-header:not(.is-scrolled) .viu-brand img.viu-brand__light { display: block !important; }
.viu-nav { display: flex; align-items: center; gap: 30px; }
.viu-nav__list, .viu-submenu { margin: 0; padding: 0; list-style: none; }
.viu-nav__list { display: flex; align-items: center; gap: clamp(18px, 2vw, 30px); }
.viu-nav__list > li { position: relative; }
.viu-nav__list > li > a { position: relative; display: inline-flex; align-items: center; min-height: 44px; font-size: .79rem; font-weight: 720; letter-spacing: .04em; }
.viu-nav__list > li > a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 5px; height: 2px; background: var(--viu-accent); transition: right .3s var(--viu-ease); }
.viu-nav__list > li:hover > a::after, .viu-nav__list > li.is-active > a::after, .viu-nav__list > li > a:focus-visible::after { right: 0; }
.viu-home .viu-header:not(.is-scrolled) .viu-nav__list > li > a::after { background: var(--viu-yellow); }
.viu-submenu { position: absolute; left: -18px; top: calc(100% - 2px); min-width: 240px; padding: 14px 0; color: var(--viu-white); background: var(--viu-black); opacity: 0; visibility: hidden; transform: translateY(8px); transition: .22s ease; }
.has-children:hover > .viu-submenu, .has-children:focus-within > .viu-submenu { opacity: 1; visibility: visible; transform: none; }
.viu-submenu a { display: block; padding: 9px 18px; font-size: .88rem; }
.viu-submenu a:hover, .viu-submenu a:focus-visible { color: var(--viu-yellow); }
.viu-languages { display: flex; align-items: center; gap: 3px; padding-left: 18px; border-left: 1px solid currentColor; }
.viu-languages a { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; min-height: 32px; padding: 7px 5px; font-size: .67rem; font-weight: 800; opacity: .62; }
.viu-languages a:hover, .viu-languages a:focus-visible, .viu-languages a.is-active { opacity: 1; }
.viu-menu-toggle { display: none; min-width: 44px; min-height: 44px; border: 0; padding: 9px; color: inherit; background: transparent; }
.viu-menu-toggle > span:not(.sr-only) { display: block; width: 25px; height: 2px; margin: 5px 0; background: currentColor; transition: .25s ease; }

/* Shared actions */
.viu-actions { display: flex; align-items: center; gap: 26px; margin-top: 32px; flex-wrap: wrap; }
.viu-button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 13px 22px; border: 1px solid transparent; font-size: .74rem; font-weight: 800; letter-spacing: .09em; line-height: 1.2; text-transform: uppercase; transition: transform .25s var(--viu-ease), background-color .25s ease, color .25s ease; }
.viu-button:hover, .viu-button:focus-visible { transform: translateY(-2px); }
.viu-site a.viu-button--yellow { color: var(--viu-black); background: var(--viu-yellow); }
.viu-site a.viu-button--yellow:hover, .viu-site a.viu-button--yellow:focus-visible { color: var(--viu-black); background: var(--viu-white); }
.viu-site a.viu-button--black { color: var(--viu-white); background: var(--viu-black); }
.viu-site a.viu-button--black:hover, .viu-site a.viu-button--black:focus-visible { color: var(--viu-black); background: var(--viu-yellow); }
.viu-text-link { display: inline-flex; align-items: center; min-height: 32px; gap: 9px; padding-bottom: 3px; border-bottom: 1px solid currentColor; font-size: .79rem; font-weight: 760; letter-spacing: .03em; }
.viu-text-link span { transition: transform .25s var(--viu-ease); }
.viu-text-link:hover span, .viu-text-link:focus-visible span { transform: translateX(4px); }
.viu-text-link--light { color: var(--viu-white); }

/* Home */
.viu-hero { position: relative; min-height: min(900px, 100svh); display: grid; align-items: end; overflow: hidden; color: var(--viu-white); background-color: var(--viu-black); }
.viu-hero__media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 67% center; }
.viu-hero__veil { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(17, 17, 15, .94) 0%, rgba(17, 17, 15, .78) 43%, rgba(17, 17, 15, .18) 78%), linear-gradient(0deg, rgba(17, 17, 15, .55), transparent 46%); }
.viu-hero__content { position: relative; z-index: 1; padding-top: 150px; padding-bottom: clamp(68px, 9vh, 108px); }
.viu-hero__title { max-width: 820px; margin: 0; font-size: clamp(3.8rem, 7.2vw, 7.2rem); font-weight: 680; letter-spacing: -.058em; line-height: .94; }
.viu-hero__lead { max-width: 680px; margin: 28px 0 0; color: rgba(255, 255, 255, .84); font-size: clamp(1.02rem, 1.4vw, 1.25rem); line-height: 1.62; }
.viu-hero__scroll { position: absolute; right: 0; bottom: 38px; display: flex; align-items: center; gap: 12px; font-size: .66rem; font-weight: 740; letter-spacing: .1em; text-transform: uppercase; }
.viu-hero__scroll span { display: block; width: 32px; height: 1px; background: var(--viu-yellow); }
.viu-hero .viu-kicker, .viu-lab .viu-kicker, .viu-archive-hero .viu-kicker, .viu-article__header .viu-kicker, .viu-legal-document__header .viu-kicker { color: var(--viu-yellow); }
.viu-mission { background: var(--viu-paper); }
.viu-mission__intro { display: grid; grid-template-columns: .42fr 1.35fr .82fr; gap: clamp(30px, 5vw, 72px); align-items: start; }
.viu-mission__intro h2, .viu-section-heading h2, .viu-news__head h2, .viu-partnership__copy h2 { margin: 0; font-size: clamp(2.35rem, 4.3vw, 4.65rem); font-weight: 620; line-height: 1.02; letter-spacing: -.05em; }
.viu-mission__intro > div p { margin-bottom: 24px; color: var(--viu-muted); font-size: 1.03rem; }
.viu-principles { margin-top: clamp(64px, 8vw, 104px); display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--viu-line); }
.viu-principle { min-height: 235px; padding: 30px 30px 18px 0; border-right: 1px solid var(--viu-line); }
.viu-principle + .viu-principle { padding-left: 30px; }
.viu-principle:last-child { border-right: 0; }
.viu-principle > span, .viu-scope__item > span { color: var(--viu-accent); font-size: .67rem; font-weight: 800; letter-spacing: .1em; }
.viu-principle h3 { margin: 40px 0 13px; font-size: clamp(1.4rem, 2.1vw, 2rem); font-weight: 650; line-height: 1.12; letter-spacing: -.035em; }
.viu-principle p { max-width: 320px; margin: 0; color: var(--viu-muted); }
.viu-scope { background: var(--viu-white); }
.viu-section-heading { display: grid; grid-template-columns: .42fr 1.58fr; gap: clamp(30px, 5vw, 72px); margin-bottom: clamp(48px, 6vw, 78px); }
.viu-scope__list { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--viu-line); }
.viu-scope__item { display: grid; grid-template-columns: 42px 1fr; column-gap: 18px; padding: 30px 32px 30px 0; border-bottom: 1px solid var(--viu-line); }
.viu-scope__item:nth-child(odd) { border-right: 1px solid var(--viu-line); }
.viu-scope__item:nth-child(even) { padding-left: 32px; }
.viu-scope__item h3 { margin: 0 0 9px; font-size: clamp(1.3rem, 2vw, 1.85rem); font-weight: 650; line-height: 1.15; letter-spacing: -.03em; }
.viu-scope__item p { grid-column: 2; margin: 0; color: var(--viu-muted); }
.viu-lab { color: var(--viu-white); background: var(--viu-black); }
.viu-lab__grid { display: grid; grid-template-columns: .42fr 1.58fr; gap: clamp(30px, 5vw, 72px); }
.viu-lab__content { max-width: 900px; }
.viu-lab__content h2 { margin: 0; max-width: 800px; font-size: clamp(2.7rem, 5vw, 5.4rem); font-weight: 610; line-height: .98; letter-spacing: -.052em; }
.viu-lab__content blockquote { margin: clamp(42px, 6vw, 74px) 0 28px; padding-left: 24px; border-left: 3px solid var(--viu-yellow); font-size: clamp(1.35rem, 2.5vw, 2.3rem); line-height: 1.3; }
.viu-lab__content > p { max-width: 710px; color: rgba(255, 255, 255, .7); }
.viu-lab__content strong { display: block; margin-top: 36px; color: var(--viu-yellow); font-size: .9rem; font-weight: 720; letter-spacing: .04em; }
.viu-programmes { background: var(--viu-paper); }
.viu-programme { display: grid; grid-template-columns: 70px 1fr; gap: clamp(20px, 4vw, 54px); padding: clamp(34px, 5vw, 58px) 0; border-top: 1px solid var(--viu-line); }
.viu-programme:last-child { border-bottom: 1px solid var(--viu-line); }
.viu-programme__number { padding-top: 6px; color: var(--viu-accent); font-size: .7rem; font-weight: 800; letter-spacing: .12em; }
.viu-programme__copy { display: grid; grid-template-columns: minmax(260px, .9fr) 1.1fr; gap: 26px clamp(28px, 6vw, 90px); align-items: start; }
.viu-programme__copy h3 { margin: 0; font-size: clamp(2rem, 4.3vw, 4.4rem); font-weight: 620; line-height: 1; letter-spacing: -.05em; }
.viu-programme__copy p { max-width: 560px; margin: 4px 0 14px; color: var(--viu-muted); }
.viu-programme__copy .viu-text-link { grid-column: 2; justify-self: start; }
.viu-partnership { background: var(--viu-white); }
.viu-partnership__grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(50px, 8vw, 112px); align-items: center; }
.viu-partnership__media { margin: 0; }
.viu-partnership__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; filter: saturate(.74) contrast(1.03); }
.viu-partnership__copy > p:not(.viu-kicker) { margin: 25px 0; color: var(--viu-muted); font-size: 1.04rem; }
.viu-news { background: var(--viu-paper); }
.viu-news__head { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 54px; }
.viu-news__grid { display: grid; grid-template-columns: 1.18fr 1fr 1fr; gap: 1px; background: var(--viu-line); border: 1px solid var(--viu-line); }
.viu-news-card { background: var(--viu-paper); }
.viu-news-card__image { display: block; overflow: hidden; background: #e5e2d9; }
.viu-news-card__image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .65s var(--viu-ease); }
.viu-news-card:hover .viu-news-card__image img { transform: scale(1.025); }
.viu-news-card__body { padding: clamp(25px, 3vw, 36px); }
.viu-news-card time, .viu-editorial-card time { display: block; margin-bottom: 16px; color: var(--viu-muted); font-size: .67rem; font-weight: 740; letter-spacing: .08em; }
.viu-news-card h3 { margin: 0 0 16px; font-size: clamp(1.2rem, 1.9vw, 1.75rem); font-weight: 650; line-height: 1.15; letter-spacing: -.03em; }
.viu-news-card p { color: var(--viu-muted); font-size: .93rem; }
.viu-news-card--lead.without-cover { grid-column: auto; display: block; }
.viu-cta { padding-block: clamp(70px, 8vw, 108px); color: var(--viu-ink); background: var(--viu-white); border-top: 1px solid var(--viu-line); }
.viu-cta__inner { display: grid; grid-template-columns: 1.35fr .65fr; gap: clamp(40px, 8vw, 120px); align-items: end; }
.viu-cta h2 { max-width: 760px; margin: 0; font-size: clamp(2.5rem, 5vw, 5.2rem); font-weight: 620; line-height: 1; letter-spacing: -.052em; }
.viu-cta__inner > div:last-child > p { margin: 0 0 26px; color: var(--viu-muted); }

/* Archives */
.viu-archive-hero { padding: clamp(70px, 9vw, 116px) 0 clamp(58px, 7vw, 88px); color: var(--viu-white); background: var(--viu-black); }
.viu-archive-hero__inner { display: grid; grid-template-columns: .38fr 1.45fr .62fr; gap: clamp(28px, 5vw, 68px); align-items: start; }
.viu-archive-hero h1 { margin: 0; font-size: clamp(2.8rem, 6vw, 6.3rem); font-weight: 620; line-height: .96; letter-spacing: -.055em; }
.viu-archive-hero__inner > p:last-child { margin: 6px 0 0; color: rgba(255, 255, 255, .65); }
.viu-category-bar { background: var(--viu-white); border-bottom: 1px solid var(--viu-line); }
.viu-category-bar__inner { display: flex; align-items: center; gap: 10px 24px; padding-block: 20px; overflow-x: auto; white-space: nowrap; }
.viu-category-bar__inner > span { margin-right: 14px; color: var(--viu-muted); font-size: .65rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.viu-category-bar a { font-size: .78rem; font-weight: 650; }
.viu-category-bar a:hover, .viu-category-bar a:focus-visible, .viu-category-bar a.is-active { color: #8a6b0a; }
.viu-initiative-list, .viu-editorial-list, .viu-document-list, .viu-team-list { background: var(--viu-paper); }
.viu-initiative-row { display: grid; gap: clamp(24px, 5vw, 64px); padding: 34px 0; border-top: 1px solid var(--viu-line); align-items: center; }
.viu-initiative-row.has-cover { grid-template-columns: 58px minmax(230px, .72fr) 1.28fr; }
.viu-initiative-row.without-cover { grid-template-columns: 58px minmax(0, 1fr); }
.viu-initiative-row:last-child { border-bottom: 1px solid var(--viu-line); }
.viu-initiative-row__index { align-self: start; color: var(--viu-accent); font-size: .68rem; font-weight: 800; letter-spacing: .1em; }
.viu-initiative-row__image { overflow: hidden; background: #e5e2d9; }
.viu-initiative-row__image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .65s var(--viu-ease); }
.viu-initiative-row:hover img { transform: scale(1.025); }
.viu-initiative-row__body { max-width: 780px; }
.viu-initiative-row__body h2 { margin: 0 0 14px; font-size: clamp(1.75rem, 3.4vw, 3.5rem); font-weight: 620; line-height: 1.04; letter-spacing: -.045em; }
.viu-initiative-row__body p { margin-bottom: 22px; color: var(--viu-muted); }
.viu-editorial-list__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; padding: 1px; background: var(--viu-line); }
.viu-editorial-card { background: var(--viu-paper); }
.viu-editorial-card--featured.has-cover { grid-column: 1 / -1; display: grid; grid-template-columns: 1.08fr .92fr; }
.viu-editorial-card--featured.without-cover { grid-column: 1 / -1; }
.viu-editorial-card__image { display: block; overflow: hidden; background: #e5e2d9; }
.viu-editorial-card__image img { width: 100%; height: 100%; min-height: 320px; object-fit: cover; transition: transform .65s var(--viu-ease); }
.viu-editorial-card:hover img { transform: scale(1.025); }
.viu-editorial-card__body { padding: clamp(27px, 4vw, 48px); }
.viu-editorial-card__meta { display: flex; flex-wrap: wrap; gap: 8px 20px; color: var(--viu-muted); font-size: .67rem; font-weight: 740; letter-spacing: .06em; }
.viu-editorial-card__meta time { margin: 0; }
.viu-editorial-card h2 { margin: 0 0 16px; font-size: clamp(1.55rem, 2.8vw, 3rem); font-weight: 620; line-height: 1.06; letter-spacing: -.043em; }
.viu-editorial-card p { color: var(--viu-muted); }
.viu-document-row { display: grid; grid-template-columns: 58px 1fr 50px; gap: 24px; padding: 30px 0; border-top: 1px solid var(--viu-line); align-items: center; }
.viu-document-row:last-of-type { border-bottom: 1px solid var(--viu-line); }
.viu-document-row__number, .viu-document-row time { color: var(--viu-muted); font-size: .67rem; font-weight: 760; letter-spacing: .08em; }
.viu-document-row h2 { margin: 6px 0 4px; font-size: clamp(1.35rem, 2.6vw, 2.6rem); font-weight: 620; line-height: 1.1; letter-spacing: -.038em; }
.viu-document-row p { margin-bottom: 0; color: var(--viu-muted); }
.viu-document-row__arrow { font-size: 1.5rem; text-align: right; transition: transform .25s var(--viu-ease); }
.viu-document-row:hover .viu-document-row__arrow { transform: translate(3px, -3px); }
.viu-archive-hero--team { padding-block: clamp(64px, 8vw, 96px); }
.viu-archive-hero--team h1 { font-size: clamp(2.9rem, 5.6vw, 5.6rem); }
.viu-team-list { padding-block: clamp(62px, 8vw, 104px); }
.viu-team-list__grid { display: block; border-bottom: 1px solid var(--viu-line); }
.viu-person {
    position: relative;
    display: grid;
    grid-template-columns: 38px minmax(150px, 200px) minmax(0, 1fr) 42px;
    gap: clamp(22px, 4vw, 54px);
    align-items: center;
    min-height: 244px;
    padding: 26px 0;
    border-top: 1px solid var(--viu-line);
    transition: padding .35s var(--viu-ease), background-color .35s ease;
}
.viu-person.without-cover { grid-template-columns: 38px minmax(0, 1fr) 42px; }
.viu-person__index { align-self: start; padding-top: 4px; color: var(--viu-accent); font-size: .67rem; font-weight: 800; letter-spacing: .1em; }
.viu-person__image { display: block; width: 100%; overflow: hidden; background: #e5e2d9; }
.viu-person__image img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; transition: transform .65s var(--viu-ease), filter .4s ease; }
.viu-person:hover .viu-person__image img { transform: scale(1.025); filter: saturate(.9); }
.viu-person__body { max-width: 700px; }
.viu-person.without-cover .viu-person__body { grid-column: 2; }
.viu-person h2 { margin: 0 0 10px; font-size: clamp(1.65rem, 3vw, 3rem); font-weight: 620; line-height: 1.04; letter-spacing: -.043em; }
.viu-person h2 a { transition: color .25s ease; }
.viu-person:hover h2 a { color: #80640c; }
.viu-person p { max-width: 620px; margin: 0; color: var(--viu-muted); font-size: .92rem; }
.viu-person__arrow { justify-self: end; font-size: 1.45rem; line-height: 1; transition: transform .3s var(--viu-ease); }
.viu-person:hover .viu-person__arrow, .viu-person__arrow:focus-visible { transform: translate(4px, -4px); }
.viu-empty { padding: 36px 0; }

/* Posts */
.viu-article__header, .viu-legal-document__header { padding: clamp(78px, 10vw, 132px) 0 clamp(55px, 7vw, 88px); color: var(--viu-white); background: var(--viu-black); }
.viu-article__header .viu-shell, .viu-legal-document__header .viu-shell { max-width: 960px; margin-inline: auto; }
.viu-article__category { display: inline-block; margin-bottom: 22px; color: var(--viu-yellow); font-size: .69rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.viu-article__header h1, .viu-legal-document__header h1 { margin: 0; font-size: clamp(2.7rem, 6vw, 6rem); font-weight: 620; line-height: .97; letter-spacing: -.055em; }
.viu-article__header p, .viu-legal-document__header p:not(.viu-kicker) { max-width: 740px; margin: 26px 0 0; color: rgba(255, 255, 255, .68); font-size: 1.06rem; }
.viu-article__header time { display: block; margin-top: 25px; color: rgba(255, 255, 255, .48); font-size: .68rem; letter-spacing: .09em; }
.viu-article__cover { width: var(--viu-shell); max-width: 1280px; margin: -1px auto 0; background: #e5e2d9; }
.viu-article__cover img { width: 100%; max-height: 720px; object-fit: cover; }
.viu-article__layout { max-width: 880px; margin-inline: auto; padding-block: clamp(64px, 8vw, 110px); }
.viu-richtext { font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.05rem, 1.35vw, 1.19rem); line-height: 1.85; color: #2b2b28; }
.viu-richtext > *:first-child { margin-top: 0; }
.viu-richtext h2, .viu-richtext h3, .viu-richtext h4 { font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-weight: 630; line-height: 1.14; letter-spacing: -.032em; }
.viu-richtext h2 { margin: 2.2em 0 .7em; font-size: clamp(1.8rem, 3.4vw, 3rem); }
.viu-richtext h3 { margin: 1.9em 0 .6em; font-size: clamp(1.4rem, 2.4vw, 2.05rem); }
.viu-richtext p, .viu-richtext ul, .viu-richtext ol { margin-bottom: 1.3em; }
.viu-richtext a { text-decoration: underline; text-decoration-color: var(--viu-accent); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.viu-richtext blockquote { margin: 2em 0; padding: 7px 0 7px 24px; border-left: 3px solid var(--viu-accent); font-size: 1.3em; line-height: 1.5; }
.viu-richtext img { width: auto; height: auto; margin: 2em auto; }
.viu-article__gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 54px; }
.viu-article__gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.viu-attachments { margin-top: 54px; padding: 26px; background: var(--viu-white); border-top: 3px solid var(--viu-accent); }
.viu-attachments h2 { font-size: 1.25rem; }
.viu-attachments a { display: flex; justify-content: space-between; gap: 18px; padding: 11px 0; border-top: 1px solid var(--viu-line); }
.viu-related { padding-block: 70px; border-top: 1px solid var(--viu-line); }
.viu-related h2 { margin-bottom: 26px; font-size: clamp(1.7rem, 2.8vw, 2.7rem); font-weight: 620; letter-spacing: -.038em; }
.viu-related__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--viu-line); border: 1px solid var(--viu-line); }
.viu-related__grid a { min-height: 180px; display: flex; flex-direction: column; padding: 25px; background: var(--viu-paper); }
.viu-related__grid span { color: var(--viu-muted); font-size: .67rem; }
.viu-related__grid strong { margin-top: 17px; line-height: 1.25; }
.viu-related__grid i { margin-top: auto; font-style: normal; }
.viu-profile { padding-block: clamp(78px, 10vw, 132px); }
.viu-profile__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(48px, 8vw, 112px); align-items: start; }
.viu-profile.without-cover .viu-profile__grid { grid-template-columns: minmax(0, 880px); }
.viu-profile__image { position: sticky; top: 112px; margin: 0; background: #e5e2d9; }
.viu-profile__image img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.viu-profile__copy { padding-top: 28px; }
.viu-profile__copy h1 { margin: 0 0 24px; font-size: clamp(2.8rem, 5.6vw, 5.8rem); font-weight: 620; line-height: .96; letter-spacing: -.055em; }
.viu-profile__lead { color: var(--viu-muted); font-size: 1.1rem; }
.viu-profile__copy .viu-richtext { margin-top: 40px; }
.viu-legal-document__body { max-width: 880px; margin-inline: auto; padding-block: clamp(64px, 8vw, 110px); }

/* Footer */
.viu-footer { padding: 74px 0 24px; color: var(--viu-white); background: var(--viu-black); }
.viu-footer__grid { display: grid; grid-template-columns: 1.15fr .8fr 1fr; gap: clamp(40px, 7vw, 104px); }
.viu-footer__brand img { width: min(290px, 100%); max-height: 60px; object-fit: contain; object-position: left center; }
.viu-footer__brand p { max-width: 370px; margin: 25px 0 0; color: rgba(255, 255, 255, .58); }
.viu-footer__nav { display: flex; flex-direction: column; align-items: start; gap: 9px; }
.viu-footer__nav a, .viu-footer__contact a { border-bottom: 1px solid transparent; }
.viu-footer__nav a:hover, .viu-footer__nav a:focus-visible, .viu-footer__contact a:hover, .viu-footer__contact a:focus-visible { color: var(--viu-yellow); border-bottom-color: currentColor; }
.viu-footer__contact { display: flex; flex-direction: column; align-items: start; gap: 8px; color: rgba(255, 255, 255, .67); }
.viu-footer__contact strong { margin-bottom: 8px; color: var(--viu-white); font-size: .71rem; letter-spacing: .11em; text-transform: uppercase; }
.viu-footer__bottom { margin-top: 60px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .14); display: flex; justify-content: space-between; gap: 22px; color: rgba(255, 255, 255, .58); font-size: .71rem; }
.viu-footer__bottom div { display: flex; flex-wrap: wrap; gap: 17px; }
.viu-footer__bottom a { display: inline-flex; align-items: center; min-height: 32px; }
.viu-footer__bottom a:hover, .viu-footer__bottom a:focus-visible { color: var(--viu-white); }
.viu-reveal { opacity: 1; transform: none; }
.viu-js .viu-reveal { opacity: 0; transition: opacity .45s ease-out; }
.viu-js .viu-reveal.is-visible { opacity: 1; }
body.viu-menu-open { overflow: hidden; }
body.viu-site :focus-visible { outline: 3px solid var(--viu-white); outline-offset: 2px; box-shadow: 0 0 0 5px #005fcc; }

@media (max-width: 1100px) {
    :root { --viu-shell: min(100% - 40px, 960px); }
    .viu-menu-toggle { display: block; position: relative; z-index: 3; }
    .viu-nav { position: fixed; inset: 0; z-index: 2; display: flex; flex-direction: column; align-items: stretch; justify-content: center; gap: 28px; padding: 96px max(24px, 8vw) 44px; color: var(--viu-white); background: var(--viu-black); opacity: 0; visibility: hidden; transform: translateY(-10px); transition: .3s var(--viu-ease); overflow-y: auto; }
    .viu-nav.is-open { opacity: 1; visibility: visible; transform: none; }
    .viu-nav__list { flex-direction: column; align-items: stretch; gap: 2px; }
    .viu-nav__list > li > a { display: block; min-height: 0; padding: 7px 0; font-size: clamp(1.55rem, 5vw, 2.8rem); letter-spacing: -.03em; }
    .viu-nav__list > li > a::after { display: none; }
    .viu-submenu { position: static; min-width: 0; padding: 0 0 8px 18px; opacity: 1; visibility: visible; transform: none; }
    .viu-languages { padding: 16px 0 0; border-left: 0; border-top: 1px solid rgba(255, 255, 255, .18); }
    .viu-menu-toggle[aria-expanded="true"] { color: var(--viu-white); }
    .viu-menu-toggle[aria-expanded="true"] > span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .viu-menu-toggle[aria-expanded="true"] > span:nth-child(2) { opacity: 0; }
    .viu-menu-toggle[aria-expanded="true"] > span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
    .viu-hero__scroll { display: none; }
    .viu-mission__intro { grid-template-columns: .4fr 1.6fr; }
    .viu-mission__intro > div { grid-column: 2; }
    .viu-news__grid { grid-template-columns: 1fr 1fr; }
    .viu-news-card--lead.has-cover { grid-column: 1 / -1; display: grid; grid-template-columns: 1.05fr .95fr; }
    .viu-footer__grid { grid-template-columns: 1fr 1fr; }
    .viu-footer__contact { grid-column: 2; }
    .viu-archive-hero__inner { grid-template-columns: .35fr 1.65fr; }
    .viu-archive-hero__inner > p:last-child { grid-column: 2; }
}

@media (max-width: 760px) {
    :root { --viu-shell: calc(100% - 32px); }
    .viu-section { padding-block: 68px; }
    .viu-header__inner { min-height: 72px; }
    .viu-brand { max-width: 230px; }
    .viu-brand img { height: 39px; }
    .viu-hero { min-height: 720px; }
    .viu-hero__media { object-position: 62% center; }
    .viu-hero__veil { background: linear-gradient(90deg, rgba(17, 17, 15, .94), rgba(17, 17, 15, .58)), linear-gradient(0deg, rgba(17, 17, 15, .75), transparent); }
    .viu-hero__content { padding-top: 122px; padding-bottom: 62px; }
    .viu-hero__title { font-size: clamp(3.4rem, 16vw, 5.2rem); }
    .viu-mission__intro, .viu-section-heading, .viu-lab__grid, .viu-partnership__grid, .viu-archive-hero__inner, .viu-profile__grid, .viu-cta__inner { grid-template-columns: 1fr; }
    .viu-mission__intro > div, .viu-archive-hero__inner > p:last-child { grid-column: auto; }
    .viu-principles, .viu-scope__list { grid-template-columns: 1fr; }
    .viu-principle, .viu-principle + .viu-principle { min-height: auto; padding: 26px 0 30px; border-right: 0; border-bottom: 1px solid var(--viu-line); }
    .viu-principle h3 { margin-top: 26px; }
    .viu-scope__item, .viu-scope__item:nth-child(even) { padding: 25px 0; border-right: 0; }
    .viu-programme { grid-template-columns: 38px 1fr; }
    .viu-programme__copy { grid-template-columns: 1fr; }
    .viu-programme__copy .viu-text-link { grid-column: auto; }
    .viu-partnership__media { order: 2; }
    .viu-news__head { align-items: start; flex-direction: column; }
    .viu-news__grid, .viu-editorial-list__grid, .viu-team-list__grid, .viu-related__grid { grid-template-columns: 1fr; }
    .viu-news-card--lead.has-cover, .viu-editorial-card--featured.has-cover { grid-column: auto; display: block; }
    .viu-initiative-row.has-cover, .viu-initiative-row.without-cover { grid-template-columns: 38px 1fr; gap: 18px; }
    .viu-initiative-row__image, .viu-initiative-row__body { grid-column: 2; }
    .viu-document-row { grid-template-columns: 38px 1fr; }
    .viu-document-row__arrow { grid-column: 2; text-align: left; }
    .viu-person { grid-template-columns: 26px 88px minmax(0, 1fr); gap: 14px; min-height: 0; padding: 18px 0; }
    .viu-person.without-cover { grid-template-columns: 26px minmax(0, 1fr); min-height: 132px; }
    .viu-person__index { padding-top: 2px; }
    .viu-person__image img { aspect-ratio: 4 / 5; }
    .viu-person.without-cover .viu-person__body { grid-column: 2; }
    .viu-person h2 { margin-bottom: 7px; font-size: clamp(1.3rem, 6vw, 1.75rem); }
    .viu-person p { font-size: .79rem; line-height: 1.5; }
    .viu-person__arrow { display: none; }
    .viu-footer__grid { grid-template-columns: 1fr; }
    .viu-footer__contact { grid-column: auto; }
    .viu-footer__bottom { flex-direction: column; }
    .viu-profile__image { position: static; }
    .viu-article__gallery { grid-template-columns: 1fr; }
    .viu-article__cover { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .viu-reveal { opacity: 1; transform: none; transition: none; }
    .viu-site * { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media print {
    .viu-header, .viu-footer, .viu-related, .viu-cta { display: none !important; }
    body.viu-site { color: #000; background: #fff; }
    .viu-article__header, .viu-legal-document__header { padding: 20px 0; color: #000; background: #fff; }
    .viu-article__header p, .viu-legal-document__header p:not(.viu-kicker) { color: #000; }
    .viu-reveal { opacity: 1; transform: none; }
}
