@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Inter:wght@400;500;600&display=swap');
:root{--bg:#050505;--fg:#f3f3ef;--muted:#aaa;--line:#292929;--serif:"DM Serif Display",Georgia,serif;--sans:"Inter",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font:14px var(--sans)}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}.nav{position:relative;display:grid;grid-template-columns:1fr 2fr;align-items:center;padding:18px 4vw;border-bottom:1px solid var(--line)}.logo{display:block;grid-column:1;justify-self:start;width:clamp(190px,14vw,230px)}.logo img{display:block;width:100%;height:auto;filter:none}.company-line{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#aaa;font-size:.5rem;line-height:1;letter-spacing:.06em;text-align:center;white-space:nowrap}.links{grid-column:2;display:flex;justify-content:flex-end;gap:4vw;font-size:.64rem;text-transform:uppercase}.links a{padding:6px 0}.links .lang-switch{display:grid;place-items:center;padding:4px 0}.flag-icon{display:block;width:24px;height:16px;border:1px solid rgba(255,255,255,.55);box-shadow:0 0 0 1px rgba(0,0,0,.2)}.flag-fi{background:#fff url("/assets/flag-fi.svg") center/cover no-repeat}.flag-gb{background:#012169 url("/assets/flag-gb.svg") center/cover no-repeat}.links a[aria-current=page]{border-bottom:1px solid}.menu{display:none;background:none;border:0;color:#fff}.page-hero{min-height:58vh;display:grid;grid-template-columns:1fr 1fr;align-items:end;padding:9vw 4vw 5vw;border-bottom:1px solid var(--line)}.kicker{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}.page-hero h1{margin:18px 0 0;font:400 clamp(4.2rem,5.6vw,7rem)/.84 var(--serif);letter-spacing:-.04em}.lead{max-width:440px;color:#bbb;line-height:1.7}.section{padding:6vw 4vw;border-bottom:1px solid var(--line)}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.tile{position:relative;min-height:520px;overflow:hidden}.tile img{height:100%;filter:saturate(.75)}.tile:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#050505)}.tile-copy{position:absolute;z-index:2;left:25px;bottom:24px}.tile h2{margin:0 0 8px;font:400 2rem var(--serif)}.tile p,.meta{color:#bbb;font-size:.65rem;text-transform:uppercase}.people{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.person{position:relative;aspect-ratio:.76;overflow:hidden}.person img{height:100%}.person:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#050505)}.person div{position:absolute;z-index:2;left:20px;bottom:20px}.person h2{margin:0 0 5px;font-size:.85rem}.person span{font-size:.58rem}.split{display:grid;grid-template-columns:1fr 1fr}.split>div{padding:7vw 6vw;border-right:1px solid var(--line)}.split h2,.section h2{font:400 clamp(2.8rem,5vw,5rem)/.95 var(--serif);margin:0 0 30px}.split p,.copy{max-width:560px;color:#bbb;line-height:1.8}.wide{height:min(70vw,800px)}.services{display:grid;grid-template-columns:repeat(3,1fr)}.service{min-height:250px;padding:35px;border:1px solid var(--line);margin:-1px 0 0 -1px}.service b{font-size:2rem;font-weight:400}.service h2{margin-top:0;font:500 .85rem var(--sans)}.service p{color:#aaa;font-size:.68rem;line-height:1.6}.contact-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);gap:clamp(48px,9vw,150px);align-items:start}.contact-big{display:inline-block;width:max-content;max-width:100%;font:400 clamp(2.2rem,4.2vw,4.8rem)/.98 var(--serif);letter-spacing:-.025em;border:0;padding:0;transition:opacity .25s ease}.contact-big:hover{opacity:.72}.contact-grid .details{padding-top:6px;color:#c7c7c2;font-size:.76rem;line-height:1.85}.contact-grid .details .kicker{color:#f3f3ef}.contact-grid .details p{margin:18px 0 0}.project-hero{position:relative;height:80vh}.project-hero img{height:100%}.project-hero:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#050505)}.project-title{position:absolute;z-index:2;left:4vw;bottom:5vw}.project-title h1{margin:0;font:400 clamp(4rem,9vw,9rem)/.85 var(--serif)}.credits{display:grid;grid-template-columns:1fr 2fr;gap:8vw}.creator-head{display:grid;grid-template-columns:1fr 1.5fr;min-height:80vh}.creator-head img{height:80vh}.creator-copy{align-self:end;padding:6vw}.creator-copy h1{font:400 clamp(4rem,8vw,8rem)/.82 var(--serif);margin:0 0 30px}
@media(max-width:760px){.nav{padding:14px 20px}.links{display:none;position:absolute;z-index:5;top:62px;left:15px;right:15px;flex-direction:column;padding:18px;background:#090909;border:1px solid #444}.links.open{display:flex}.menu{display:block;grid-column:2;justify-self:end}.page-hero{grid-template-columns:1fr;gap:40px;padding:110px 20px 50px}.page-hero h1{font-size:clamp(2.8rem,12vw,4rem);line-height:.88;letter-spacing:-.025em}.section{padding:60px 20px}.grid,.people,.split,.contact-grid,.credits,.creator-head{grid-template-columns:1fr}.tile{min-height:430px}.people{grid-template-columns:1fr 1fr}.services{grid-template-columns:1fr}.split>div{padding:60px 20px;border-right:0;border-bottom:1px solid var(--line)}.creator-head img{height:60vh}.creator-copy{padding:50px 20px}.logo{width:180px}}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* Team cards: real names without demo portraits. */
.creators.team-grid,.people.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.person.person-team{display:flex;align-items:flex-end;aspect-ratio:auto;min-height:240px;padding:30px;background:#101010;border:1px solid #262626;overflow:visible}
.person.person-team::after{content:none}
.person-team .person-info{position:relative;inset:auto;z-index:1;min-width:0}
.person-team h2,.person-team h3{margin:0 0 12px;font:400 clamp(1.65rem,2.7vw,2.8rem)/1.08 var(--serif);letter-spacing:-.025em}
.person-team .person-role{display:block;max-width:32ch;color:#b8b8b4;font:.78rem/1.55 var(--sans)}
@media(max-width:800px){.creators.team-grid,.people.team-grid{grid-template-columns:1fr}.person.person-team{min-height:180px;padding:26px}.person-team h2,.person-team h3{font-size:2rem}}

.person-team .person-key{display:block;margin:0 0 14px;color:#f3f3ef;font:.62rem/1.4 var(--sans);letter-spacing:.1em;text-transform:uppercase}
.person-team .person-contacts{display:grid;gap:6px;margin:22px 0 0;font:400 .8rem/1.55 var(--sans);color:#c6c6c2}
.person-team .person-contacts a{width:fit-content;max-width:100%;overflow-wrap:anywhere;text-decoration:none}
.person-team .person-contacts a:hover{text-decoration:underline;text-underline-offset:4px}
.person-team .person-contacts a:focus-visible{outline:1px solid #fff;outline-offset:4px}




