:root{--sans:'Inter Tight','Helvetica Neue',Helvetica,Arial,sans-serif}
body{margin:0;background:#FAFAF8;font-family:var(--sans);color:#141414}
html{-webkit-tap-highlight-color:transparent}
a{color:#141414;text-decoration:none;transition:color .2s ease,filter .2s ease,transform .25s ease,opacity .2s ease}@media (hover:hover) and (pointer:fine){a:hover{color:#B84A6E}}
a:focus-visible,button:focus-visible{outline:2px solid #B84A6E;outline-offset:4px}
a:active,button:active{transform:translateY(1px)}
.btn-p:hover{color:#FFFFFF !important;filter:brightness(.88)}
nav a{font-size:15px;font-weight:400;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}nav a[aria-current="page"]{color:#B84A6E}nav a:active{color:#B84A6E}
h1,h2,h3,.serif{font-family:'Newsreader',Georgia,serif;font-weight:400 !important;font-optical-sizing:auto}
.lbl{font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}
h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}
.orb{position:absolute;border-radius:50%;pointer-events:none}
.cover{position:relative;overflow:hidden;background:#F0F0EE;border-radius:16px}
.ph{background-color:#F0F0EE;background-image:repeating-linear-gradient(135deg,rgba(20,20,20,.03) 0 1px,transparent 1px 16px)}
html{scroll-behavior:smooth}
:root{--ease-out:cubic-bezier(0.23,1,0.32,1);--ease-in-out:cubic-bezier(0.77,0,0.175,1)}
.chrome{position:sticky;top:0;z-index:10;background:rgba(250,250,248,.8);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%)}
.btn-p{transition:transform 160ms var(--ease-out),filter 200ms ease}
.btn-p:active{transform:scale(.97)}
.card .cover,.card .ph{transition:transform 250ms var(--ease-out)}
.card .orb{transition:transform 300ms var(--ease-out)}
.card:active .cover{transform:scale(.985);transition-duration:120ms}
@media (hover:hover) and (pointer:fine){.card:hover .cover{transform:translateY(-4px)}.card:hover .orb{transform:scale(1.05)}.chip:hover{background:#F0F0EE}}
.svc{transition:border-color 200ms ease}.svc svg{transition:transform 300ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){.svc:hover{border-color:#BDBDBD}.svc:hover svg{transform:translateY(-4px)}}
@media (prefers-reduced-motion: reduce){.svc:hover svg{transform:none}}
.giant .word{display:inline-flex}
h1.giant{font-size:clamp(34px,9.1vw,132px) !important}
.giant .ch{display:inline-block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
.giant .ch>span{display:inline-block;animation:charup 1100ms cubic-bezier(0.16,1,0.3,1) both}
@keyframes charup{from{transform:translateY(112%)}to{transform:none}}
@media (prefers-reduced-motion: reduce){.giant .ch>span{animation:fadein 300ms ease both}}
.btn-s{transition:background-color 160ms ease,color 160ms ease,transform 160ms var(--ease-out)}
.btn-s:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){.btn-s:hover{background:#141414 !important;color:#FFFFFF !important}}
@media (prefers-reduced-motion: reduce){.btn-s:active{transform:none}}
.grab{cursor:grab;touch-action:none}.grab:active{cursor:grabbing}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes materialize{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}
@keyframes fadein{from{opacity:0}}
.rise{animation:rise 600ms var(--ease-out) both}
.mat{animation:materialize 800ms var(--ease-out) both}
.enter{transition:opacity 250ms var(--ease-out),transform 250ms var(--ease-out),filter 250ms var(--ease-out)}
@starting-style{.enter{opacity:0;transform:scale(.97);filter:blur(4px)}}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.rise,.mat{animation:fadein 200ms ease both}.enter{transition:opacity 200ms ease}.card:active .cover,.btn-p:active,.card:hover .cover,.card:hover .orb{transform:none}}
@media (prefers-reduced-transparency: reduce){.chrome{background:#FAFAF8 !important;-webkit-backdrop-filter:none;backdrop-filter:none}}
@media (max-width:1100px){
.rpx{padding-left:40px !important;padding-right:40px !important}
.rg4,.rg3{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
header.chrome{padding:0 24px !important}
}
@media (max-width:760px){
.rroot{min-height:0 !important}
.rpx{padding-left:20px !important;padding-right:20px !important}
[style*="padding: 176px"],[style*="padding: 160px"],[style*="padding: 144px"]{padding-top:88px !important}
[style*="margin: 176px"],[style*="margin: 160px"],[style*="margin: 144px"]{margin-top:72px !important}
[style*="margin: 176px 24px"],[style*="margin: 160px 24px"],[style*="margin: 144px 24px"],[style*="margin: 0 24px"],[style*="margin: 24px 24px"],[style*="margin: 120px 24px"]{margin-left:12px !important;margin-right:12px !important}
.rpanel{padding:40px 24px !important}
.rg12,.rg8,.rg4,.rg3,.rg2{grid-template-columns:minmax(0,1fr) !important;row-gap:24px !important}
.rgc{grid-column:auto !important;padding-top:0 !important;padding-right:0 !important;margin-left:0 !important}
.rimg{height:320px !important}
.rhero{height:auto !important;margin-left:0 !important;margin-right:0 !important}
.rhero-copy{padding:32px 20px !important;gap:24px}
.rhero-panel{height:440px;border-left:0 !important;border-top:1px solid #E2E2E2}
.rhero-panel [data-orb]{left:calc(50% - 230px) !important;top:-10px !important}
.rhero-panel svg[data-ring]{left:calc(50% - 300px) !important;top:-80px !important}
.rhero-panel a[href="#work"]{right:20px !important}
.rhero-panel span[aria-hidden]{left:20px !important}
.rportrait{height:440px !important;grid-column:auto !important}
.rportrait .ph{width:100% !important;height:100% !important}
.rdiagram{height:400px !important;transform:scale(.68);transform-origin:top left}
.rwrap{flex-wrap:wrap !important;row-gap:16px}
.svc{min-height:0 !important}
.svc > div{margin-top:28px !important}
.svc > svg{margin-top:20px !important}
h1{font-size:44px !important;line-height:1.05 !important}
h2{font-size:32px !important}
h3{font-size:24px !important}
.serif{font-size:30px !important;line-height:1.2 !important}
p{max-width:none !important}
header.chrome{grid-template-columns:minmax(0,1fr) !important;height:auto !important;padding:14px 20px !important;row-gap:10px;justify-items:center}
header.chrome > a{order:-1}
header.chrome nav{justify-content:center !important;gap:22px !important}
dl{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.rfoot{height:auto !important;flex-wrap:wrap;padding:20px !important;row-gap:14px;margin-left:12px !important;margin-right:12px !important}
.rfoot .rfoot-meta{flex-wrap:wrap;row-gap:8px;white-space:normal !important}
}
[hidden]{display:none !important}
h1.giant{column-gap:.2em}
@media (max-width:760px){h1.giant{justify-content:flex-start !important;column-gap:.22em}section:has(> h1.giant){padding-left:20px !important;padding-right:20px !important}}
button{transition:background-color .2s ease,color .2s ease,transform .2s ease;cursor:pointer}
@media (hover:hover) and (pointer:fine){.chip:active{transform:scale(.97)}}
.cover.sq .orb{width:70% !important;height:70% !important;left:15% !important;top:15% !important}
html,body{overflow-x:clip}
@media (max-width:760px){
header.chrome{display:flex !important;flex-wrap:wrap;justify-content:center;column-gap:22px !important;row-gap:6px !important}
header.chrome > a{flex-basis:100%;justify-content:center}
header.chrome nav{gap:22px !important}
header.chrome nav a{padding:6px 0;display:inline-block}
.rhero-copy .lbl{font-size:12px !important}
.rhero-panel{height:380px !important}
.rhero-panel [data-orb]{top:-40px !important}
.rhero-panel svg[data-ring]{top:-110px !important}
section[aria-label="Organizations"]{flex-direction:column;align-items:stretch !important;gap:16px !important;padding-top:48px !important}
section[aria-label="Organizations"] .rg4{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px !important}
.rwrap{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px !important}
.rwrap > div > span:last-child{font-size:13px !important}
.svc{padding:24px !important}
.svc > svg{width:96px;height:96px}
.rfoot > div{flex-wrap:wrap;row-gap:12px}
.rfoot h2{font-size:24px !important;white-space:normal !important}
.rfoot .rfoot-meta{gap:16px !important}
figure:has(svg[viewBox="0 0 800 330"]){overflow-x:auto;-webkit-overflow-scrolling:touch}
figure svg[viewBox="0 0 800 330"]{min-width:680px}
.rpx > svg[aria-hidden="true"]{display:none}
ul li{font-size:15px !important;padding:10px 18px !important}
}
.shot{display:block;width:100%;height:auto;border-radius:16px;background:#F0F0EE}
.vid{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#141414}
.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media (max-width:760px){figure figcaption{padding-left:0 !important}}
.zoom{display:block;border-radius:16px;cursor:zoom-in}
.logos .logo{display:block;width:100%;height:auto}
/* The Erasmus logo is a JPEG inside the SVG, so its white background can't be transparent; blend it into the page. */
.logos .logo[src$="erasmus-mundus.svg"]{mix-blend-mode:multiply}
@media (max-width:1100px){.rlogos{gap:32px !important}}
@media (max-width:760px){.rlogos{flex-direction:column;align-items:flex-start !important;gap:16px !important}.logos{width:100%;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:20px 32px !important}}
strong{font-weight:500;color:#141414}
@media (max-width:760px){
.rstats{grid-template-columns:minmax(0,1fr) !important;row-gap:28px !important}
.rstep{grid-template-columns:minmax(0,1fr) !important;gap:20px !important;padding:32px 0 !important}
.rstep > svg{width:112px;height:112px}
.rfoot{padding:40px 24px 20px !important;gap:40px}
.rfoot h2{font-size:32px !important;line-height:1.1 !important}
}
/* More work list (case study pages) */
.more-work{padding:176px 80px 0;display:flex;flex-direction:column;gap:32px}
.mw-head{display:flex;justify-content:space-between;align-items:baseline;gap:24px}
.mw-label{margin:0;font-family:'Inter Tight','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#141414}
.mw-all{font-size:16px;color:#4D4D4D;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;transition:color 200ms ease}
.mw-list{list-style:none;margin:0;padding:0;border-bottom:1px solid #E2E2E2}
.mw-list a{display:grid;grid-template-columns:minmax(0,1fr) auto 32px;align-items:baseline;gap:24px;padding:28px 0;border-top:1px solid #E2E2E2;color:#141414;text-decoration:none}
.mw-title{font-family:'Newsreader',Georgia,serif;font-weight:400;font-size:clamp(24px,2vw,56px);line-height:1.05;letter-spacing:-.015em;transition:transform 250ms cubic-bezier(.23,1,.32,1),color 200ms ease}
.mw-tag{font-size:15px;color:#6E6E6E;white-space:nowrap;transition:color 200ms ease}
.mw-arrow{font-size:24px;color:#6E6E6E;justify-self:end;transition:transform 250ms cubic-bezier(.23,1,.32,1),color 200ms ease}
.mw-list a:focus-visible{outline:2px solid #B84A6E;outline-offset:6px;border-radius:4px}
.mw-list a:focus-visible .mw-title{color:#B84A6E}
.mw-list a:active .mw-title{transform:translateX(6px)}
.mw-float{position:fixed;left:0;top:0;width:220px;aspect-ratio:3/4;border-radius:12px;overflow:hidden;pointer-events:none;z-index:20;opacity:0;transform:translate3d(-9999px,0,0);transition:opacity 200ms ease;box-shadow:0 20px 50px rgba(20,20,20,.18);display:none}
.mw-float img{width:100%;height:100%;object-fit:cover;display:block}
@media (hover:hover) and (pointer:fine){
 .mw-float{display:block}
 .mw-list a:hover .mw-title{transform:translateX(12px);color:#B84A6E}
 .mw-list a:hover .mw-tag{color:#141414}
 .mw-list a:hover .mw-arrow{transform:translateX(6px);color:#B84A6E}
 .mw-all:hover{color:#B84A6E}
}
@media (max-width:760px){
 .more-work{padding:88px 20px 0}
 .mw-head{flex-wrap:wrap}
 .mw-list a{grid-template-columns:minmax(0,1fr) 24px;gap:4px 12px;padding:22px 0}
 .mw-tag{grid-column:1;grid-row:2;white-space:normal;font-size:14px}
 .mw-arrow{grid-column:2;grid-row:1}
}
@media (prefers-reduced-motion:reduce){
 .mw-title,.mw-arrow{transition:color 200ms ease}
 .mw-list a:hover .mw-title,.mw-list a:hover .mw-arrow,.mw-list a:active .mw-title{transform:none}
 .mw-float{display:none !important}
}
